reg52头文件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

/*--------------------------------------------------------------------------REG52.HHeaderfileforgeneric80C52and80C32microcontroller.Copyright(c)1988-2002KeilElektronikGmbHandKeilSoftware,Inc.Allrightsreserved.--------------------------------------------------------------------------*/#ifndef__REG52_H__#define__REG52_H__/*BYTERegisters*/sfrP0=0x80;//把0x80处的这个寄存器起名为P0(即P0I/O口锁存器)sfrP1=0x90;//类上sfrP2=0xA0;//类上sfrP3=0xB0;//类上sfrPSW=0xD0;//程序状态字寄存器sfrACC=0xE0;//累加器sfrB=0xF0;//B寄存器.在做乘、除法时放乘数或除数,不做乘除法时,可随便用。sfrSP=0x81;//堆栈指针sfrDPL=0x82;//数据地址指针(低8位)sfrDPH=0x83;//数据地址指针(高8位)/********************************************************************可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。分成DPL(低8位)和DPH(高8位)两个寄存器。用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节范围内的数据操作。*********************************************************************/sfrPCON=0x87;//电源管理寄存器/*********************************************************************|D7|D6|D5|D4|D3|D2|D1|D0||SMOD|(SMOD0)|(LVDF)|(P0F)|GF1|GF0|PD|IDL|-----------------------------------------------------------SMOD-该位与串口通信波特率有关SMOD=0:串口方式1,2,3时,波特率正常SMOD=0:串口方式1,2,3时,波特率加倍(SMOD0)(LVDF)(P0F)-这3位是STC单片机特有的功能,请查看相关手册,其他单片机未用GF1,GF0-两个通用工作标着位,用户可以自由使用PD-掉电模式设定位PD=0:单片机处于正常工作状态。PD=1:单片机进入掉电(PowerDown)模式,可由外部中断低电平触发或由下降沿触发或者硬件复位模式唤醒,进入掉电模式后,外部晶振停振,CPU,定时器,串行口全部停止工作,只有外部中断继续工作。IDL-空闲模式设定位IDL=0:单片机处于正常工作状态IDL=1:单片机进入空闲(Idle)模式,除CPU不工作外,其余仍继续工作,在空闲模式下可由任一个中断或硬件复位唤醒。**********************************************************************/sfrTCON=0x88;//定时器/计数器控制寄存器(该寄存器来控制定时器的启、停、标志定时器溢出和中断情况)sfrTMOD=0x89;//定时器/计数器工作方式寄存器/*******************************************************************|D7|D6|D5|D4|D3|D2|D1|D0||GATE|G/T|M1|M0|GATE|G/T|M1|M0||-------定时器1-------|-------定时器0-------|说明:GATE——门控制位GATE=0,定时器/计数器启动与停止仅受TCON寄存器中TRX(X=0,1)来控制GATE=1,定时器/计数器启动与停止由TCON寄存器中的TRX(X=0,1)和外部中断引脚(INT0或INT1)上的电平状态来共同控制。C/T——定时器模式和计数器模式选择位。C/T=1,为计数器模式;C/T=0,为定时器模式;M1M0——工作方式选择位_____________________________________________________________|M1|M0|工作方式||0|0|方式0,为13位定时计数器模式||0|1|方式1,为16位定时计数器模式||1|0|方式2,8位初值自动重装的8位定时记住器模式||1|1|方式3,仅适用于T0,分成两个8位计数器,T1停止计数|_____________________________________________________________******************************************************************/sfrTL0=0x8A;//********************************************************************sfrTL1=0x8B;//定时计数器,由TLx寄存器的底5位(高3位未用)和THx的8位组成。TLx的第5位溢出时sfrTH0=0x8C;//向THx进位,THx溢出时,置位TCON中的TF0标志,向CPU发出中断请求。sfrTH1=0x8D;//********************************************************************/sfrIE=0xA8;//中断允许寄存器sfrIP=0xB8;//中断优先级寄存器sfrSCON=0x98;//串行口控制寄存器sfrSBUF=0x99;//串行口锁存器/*8052Extensions*/sfrT2CON=0xC8;//定时器2控制寄存器sfrT2MOD=0xC9;//定时器2模式控制寄存器(T2OE<D1>定时器2输出使能位,DCEN<D0>向下计数使能位)sfrRCAP2L=0xCA;//sfrRCAP2H=0xCB;//sfrTL2=0xCC;//sfrTH2=0xCD;//sfrWDT_CONTR=0xE1;//看门狗寄存器_______________________________________________________________|D7|D6|D5|D4|D3|D2|D1|D0||——|——|EN_WDT|CLR_WDT|IDLE_WDT|PS2|PS1|PSO|_______________________________________________________________/***************************************************************EN_WDT-看门狗允许位,当设置为1时,启动看门狗。CLR_WDT-看门狗清零位,当设为1时,看门狗定时器将重新计数。硬件自动将此位清零IDLE_WDT-看门狗IDLE模式位,当设置1时,看门狗定时器在单片机的“空闲模式”计数;当该位清零时,看门狗定时器在单片机的“空闲模式”时不计数。——————————————————————————————|PS2|PS1|PS0|预分频数|看门狗溢出时间||0|0|0|2|65.5ms||0|0|1|4|131.0ms||0|1|0|8|262.1ms||0|1|1|16|524,2ms||1|0|0|32|1.0485s||1|0|1|64|2.0971s||1|1|0|128|4.1943s||1|1|1|256|8.3886s|***************************************************************//*BITRegisters*//*PSW*/sbitCY=PSW^7;//来源于最近一次算术指令或逻辑指令执行时软硬件的改写。sbitAC=PSW^6;//辅助进位标志位,用于BCD码的十进制调整运算。当低四位向高四位借进位时Ac被置1,//否则清0。此位也可和DA指令结合起来用。sbitF0=PSW^5;//用户使用的状态标志位。这个你可以任意使用。sbitRS1=PSW^4;sbitRS0=PSW^3;//RS1、RS0:4组工作寄存器区选择控制位1和位0。sbitOV=PSW^2;//溢出标志位在执行算术指令时,指示运算是否产生溢出。sbitP=PSW^0;//奇偶标志位8052only//P=1,A中“1”的个数为奇数//P=0,A中“1”的个数为偶数/*TCON*/sbitTF1=TCON^7;//定时器1溢出标志位/**当定时器1计满溢出时,由硬件使TF1置1,并且申请中断,进入中断服务程序后,由硬件自动清零。需要注意的是,如果使用定时器的中断,那么该位完全不用人为去操作,但是如果使用软件查询方式的话,当查询到该位置1后,就需要用软件清零**/sbitTR1=TCON^6;//定时器1运行控制位/**由软件清零关闭定时器1.当GATE=1,且INT1为高电平时,TR1置1启动定时器1;当GATE=0时,TR1置1启动定时器1**/sbitTF0=TCON^5;//定时器0溢出标志,其功能及操作同TF1.sbitTR0=TCON^4;//定时器0运行控制位,其功能及操作方法同TR1sbitIE1=TCON^3;//外部中断1请求标志/**当IT1=0时,为电平触发方式,每个机器周期的S5P2采样INT1引脚,若INT1脚为低电平,则置1,否则IE1清零。当IT1=1时,INT1为跳边沿触发方式,当第一个机器周期采样到INT1为低电平时,则IE1置1.表示外部中断1正在向CPU申请中断,当CPU响应中断,转向中断服务程序时,该位由硬件清零。**/sbitIT1=TCON^2;//外部中断1触发方式选择位//IT1=0,为电平触发方式,引脚INT1上低电平有效//IT1=1,为条边沿触发方式,引脚INT1上的电平从高到低的负跳变有效sbitIE0=TCON^1;//外部中断0请求标志,功能和操作同IE1sbitIT0=TCON^0;//外部中断0触发方式选择位,其功能及操作方法同IT1./*IE*/sbitEA=IE^7;//全局中断允许位(IE寄存器最高位,地址AFH,IE序号位D7)//EA=1,打开全局中断控制,此条件系各个中断控制位确定相应中断的打开或关闭//EA=0,关闭全部中断//IE寄存器第6位为空sbitET2=IE^5;//定时器/计数器2中断允许(地址ADH,IE序号位D58052only)//ET2=1,打开T2中断//ET2=0,关闭T2中断sbitES=IE^4;//串行口中断允许(地址ACH,IE序号位D4)//ES=1,打开串行口中断//ES=0,关闭串行口中断sbitET1=IE^3;//定时器/计数器1中断允许位(地址ABH,IE序号位D3)//ET1=1,打开T1中断//ET1=0,关闭T1中断sbitEX1=IE^2;//外部中断1中断允许位(地址AAH,IE序号位D2)//EX1=1打开外部中断1中断//EX1=0关闭外部中断1中断sbitET0=IE^1;//定时器/计数器0中断允许位(地址A9H,IE序号位D1)、//ET0=1,打开T0中断//ET0=0,关闭T0中断sbitEX0=IE^0;//外部中断0允许中断允许位(地址A8H,IE序号位D0)//EX0=1,打开外部中断0中断//E

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功