《单片机专用寄存器.ppt》由会员分享,可在线阅读,更多相关《单片机专用寄存器.ppt(39页珍藏版)》请在优知文库上搜索。
1、12.7 专用寄存器22.7.1 专用寄存器的基本情况1. 主要包括l 累加寄存器A,辅助寄存器B、程序状态寄存器PSW、电源控制寄存器PCONl 程序计数器PC、对栈指针SP、数据指针DPTR,l P端口数据寄存器l 中断相关的寄存器:IE,IPl 其它外设控制、工作方式、例如TMOD,SCON;时间常数寄存器TL0、TH0、数据缓冲寄存器SBUF32. 地址空间与访问的寻址方式地址空间与访问的寻址方式(1)地址空间 专用寄存器位于内部RAM地址空间的高128字节位置(80H0FFH),(2)寻址方式只能使用直接寻址方式访问。 例如从P1口读入数据 MOV A,90H ; 90H是P1端口的
2、地址。(MOV A,P1) ; P1是P1端口的符号地址,43. 许多寄存器具有位寻址操作功能。例如A: ACC.0,ACC.1端口寄存器P1:P1.0,P1.2 (地址能被8整除的专用寄存器,具有位寻址功能)54.主要寄存器的地址表(1) 寄存器名功能名称地 址复位后初态B通用寄存器F0H00HA累加器E0H00HPSW程序状态寄存器D0H00HTH2T2时间常数寄存器高字节0CDH0TL2T2时间常数寄存器低字节0CCH0RCAP2HT2重装载寄存器高字节0CBH0RCAP2LT2重装载寄存器低字节0CAH0T2MODT2工作方式控制寄存器0C9H0T2CONT2控制寄存器0C8H00H6
3、主要寄存器的地址表(2)寄存器名功能名称地 址复位后初态IP中断优先级控制寄存器B8HXXX00000BP3P3口数据寄存器B0HFFHIE中断允许控制寄存器A8H0XX00000BP2P2口数据寄存器A0HFFHSBUF串行口发送/接收缓冲器99H不定SCON串行口控制寄存器98H00HP1P1口数据寄存器90H0FFHTL1T1计数器低8位8BH00HTL0T0计数器低8位8AH00HTH1T1计数器高8位8DH00HTH0T0计数器高8位8CH00H7寄存器名功能名称地 址复位后初态TMOD定时器/计数器方式控制寄存器89H00HTCON定时器控制寄存器88H00HPCON电源控制寄存器
4、87H00HDPL地址寄存器低8位82H00HDPH地址寄存器高8位83H00HSP堆栈指针寄存器81H07HP0P0口数据寄存器80HFFH主要寄存器的地址表()8例如P0: 地址为80H,能被8整除,它的每一位都可以进行位寻址, P0 :P0.0,P0.1P0.7寄 存 器 A ( A C C ) 的 地 址 : 0 E 0 H , 也 能 进 行 位 寻 址 :ACC.0,ACC.1,ACC.79地址(MSB)(LSB)符号F0HF7F6F5F4F3F2F1F0BE0HE7E6E5E4E3E2E1E0AD0HD7D6D5D4D3D2D1D0PSWPSPT1PX1PT0PX0B8HBCBB
5、BAB9B8IPB0HB7B6B5B4B3B2B1B0P3EAESET1EX1ET0EX0A8HAFACABAAA9A8IEA0HA7A6A5A4A3A2A1A0P2SM0SM1SM2RENTB8RB8TIRI98H9F9E9D9C9B9A9998SCON90H9796959493929190P1TF1TR1TF0TR0IE1IT1IE0IT088H8F8E8D8C8B8A8988TCON80H8786858483828180P0102.7.2 专用寄存器介绍专用寄存器介绍只介绍51/52中的一些主要的专用寄存器,其它扩展型号还有很多扩展的专用寄存器,在使用实再查相关使用说明书。111。程序计
6、数器。程序计数器PC是一个独立的16为寄存器,不占用内部SFR空间。作用:存放下一条要执行的指令的地址。每取出一条指令,它的内容都要自动进行修改,指向下一条要执行的指令。不能直接访问PC。122. 累加寄存器A(1)地址:0E0H;(2)作用:累加寄存器。在运算中,大部分单操作数指令的操作数取自A;许多双操作数指令的一个操作数取自A;算术运算指令的结果保存在A。(或B,A)(3)符号:用符号A表示。13位地址0E7H0E6H0E5H0E4H0E3H0E2H0E1H0E0H位编号D7D6D5D4D3D2D1D0位符号ACC.7 ACC.6 ACC.5ACC.4ACC.3 ACC.2 ACC.1
7、ACC.0注:汇编程序中使用符号A是寻址寄存器A寄存器寻址,使用符号ACC,它就变成直接寻址了寻址SFR区的0E0H单元(它可以作为RAM直接访问)。这一般在堆栈操作中使用。该寄存器可以进行位寻址,它的位符号地址为ACC.I(I=70),,如下表143。寄存器B(1)可寻址的寄存器,地址:0F0H,符号:B;(2)作用:辅助寄存器,乘法指令中,作为第二操作数,并存放结果高位字节;除法指令:除数,并存放结果的余数部分;其他情况,做一般寄存器使用。(3)B寄存器的各位具有独立的位地址,可以进行位寻址访问操作。位地址位地址0F7H0F6H0F5H0F4H0F3H0F2H0F1H0F0H符号地址符号地
8、址B.7B.6B.5B.4B.3B.2B.1B.0位编号位编号D7D6D5D4D3D2D1D0154. 程序状态字程序状态字PSW(1)地址:0D0H;PSW的各位具有独立的位地址,可以进行位寻址操作。不同位具有不同的作用。(2)结构位地址0D7H0D6H0D5H0D4H0D3H0D2H0D1H0D0H位编号D7D6D5D4D3D2D1D0位符号CYACF0RS1RS0OV-P功能进位信号半进位信号用户定义标志工作寄存器区选择溢出标记暂不用奇偶标志16(3)PSW标志位介绍CY(PSW.7):进位标志位。在进行加法(或减法)运算时,若运算结果最高位有进位或借位,则CY自动置“1”,否则CY置“
9、0”。在进行布尔操作运算时,CY(简称C)作为布尔处理器AC:辅助进位标志位。当进行加法或减法时,若低4位向高4位有进位(或借位)时,AC被置“1”,否则AC被置“0”。在十进制调整指令中AC还作为十进制调整的判别位。 F0:用户标志位。用户可用软件对F0位置“1”或清“0”,也可以用软件测试F0 以决定程序的流向17PSW标志位介绍(续) OV:溢出标志位,当运算结果溢出时OV为“1”,否则为“0”。 PSW.1:未定义位。 P(PSW.0):奇偶标志位。当累加器A中“1”的个数为奇数时,P置“1”,否则P置“0”。 RS1、RS0:工作寄存器区选择位,软件设置。 该二位可以为寻址操作,利用
10、软件置“1”或清“0”,例如SETB RS0, CLR RS1。 设置1区185. 堆栈指针堆栈指针SP(1)堆栈:它是一个特殊的存储空间,在该存储空间,可以使用特殊的指令按特殊的规则进行访问。这个规则就是后进先出原则。一般有两条指令:数据按特殊规则存入该空间压栈。从该空间按特殊的规则取出弹出。数据在该空间的存放位置,由一个寄存器指示堆栈指针SP。弹出底最先存入的,只有最后出去最后存入的,最先出去SP压栈SP总是指向最后一个压入的数据在堆栈中的存放地址。19(2)SP是一个8位的寄存器,它指示栈顶地址(最后一个压入堆栈的数据的存放地址)。(3)压栈:先将SP=(SP)+1,再将要压栈的数据存入
11、SP指向的内部RAM单元。MCS-51/52的堆栈向上增长。(4)弹出:将SP指示的地址的内容取出,然后SP=(SP)-1。(5)复位后SP的默认值SP=7,故默认堆栈从08单元开始。20(6)由于01FH是4个工作寄存器区,20H2FH是可以为寻址的区域,一般应该将堆栈设为30H以后。 通常将堆栈设置在程序工作用缓存空间后,也就是内部RAM的高地址空间。例如30H0BFH为数据缓存空间,则对站可以设定在0C0H0FFH。(7)直接给SP赋值,设定堆栈的位置,例如 MOV SP ,#0CFH,设定堆栈从0D0H开始(第一个压入的数据存放在(SP)+1=0CFH+1=0D0H)。216. 数据指
12、针数据指针DPTR16位的寄存器。由两个8位寄存器构成。高8位DPH,低8位DPL,地址分别为:DPHDPL83H82H DPTR不能进行位寻址操作。 DPTR主要用于对64KB存储器进行访问时,作地址寄存器。 DPTR也可以做为两个普通的8位寄存器使用。 它可以进行16位的加1运算:INC DPTR 但不能进行16位的减一运算。 DPTR是MCS51/52中唯一一个可以操作的16位寄存器。227. 并行并行I/O端口数据缓冲寄存器端口数据缓冲寄存器P3P2P1P00B0H0A0H90H80H可位寻址可位寻址可位寻址可位寻址(1)可读可写。 写操作,将数据送到输出端口; 读操作则是读入端口引脚
13、的状态。 要正确地读入外部状态,作为输入端口使用时,应该先向端口写“1”。由于复位后的默认状态为“1”,如果没有输出过“0”,则也可以不写“1”而直接进行读操作。23(2)对于逻辑操作指令,例如:ANL P1,A,它的操作实际上是: 读入P1,与A的内容进行逻辑运算,再将运算结果写回到P1。 应该注意的是,这是读入的不是引脚上的状态,而输出锁存器的状态。这对修改输出控制信号是有利的。248 电源控制寄存器电源控制寄存器 PCON 地址:地址:87HD7D6D5D4D3D2D1D0SMOD-GF1GF0PDIDL(1) SMOD串口波特率控制位 =0, 波特率正常 =1, 串行通信方式1,2,3
14、时,波特率加倍(2) GF1,GF0通用标志位,软件设置,软件判别控制转移。 例如,进入待机方式时,将GF0置1,而非待机状态GF0=0,则一旦发生中断,软件通过查询GF0就可以识别是正常工作状态时的中断请求,还是待机状态时的中断请求,从而转不同的程序进行处理。不能位寻址25(3) PD 进入掉电方式激活位,软件设置PD=1,进入掉电 方式,晶振停止,IRAM的内容保持不变。只有复位 信号有效才能使单片机推出掉电状态进入正常工作 状态。(4) IDL 进入待机方式控制位,软件设置IDL=1,单片机进 入待机方式,内部振荡器继续工作,CPU暂停运行 ,中断逻辑正常工作。 退出待机工作方式的方法:
15、 被允许的任何一个中断有效 复位信号有效262.7.3 其他专用寄存器其他专用寄存器 包括中断允许寄存器IE,中断优先级寄存器IP,定时器控制寄存器/工作方式寄存器,时间常数寄存器,串行通信控制寄存器、数据缓冲寄存器,等。 下面仅做简单介绍,在具体应用时再具体讨论。271.定时器时间常数寄存器定时器时间常数寄存器: 寄存器名RCAP2H RCAP2LTH2 TL2TH1TL1TH0TL0地址0CB0CA0CD 0CC8D8B8C8AT 2 捕获时间常数T 2 时间常数T1时间常数T 0 时间常数 在使用定时器/计数器时,首先要给相应的时间常数寄存器赋初值。282. 控制寄存器控制寄存器包括定时
16、器方式控制、 中断控制电源控制在前面已经讨论,这里没有列出名称T2控制寄存器T2方式设置寄存器控制寄存器方式寄存器中断控制中断优先级符号T2CONT2MODTCONTMODIEIP地址0C8H0C9H88H89H0A8H0B8H可位寻址可位寻址可位寻址可位寻址29(1)TMOD:定时器工作方式寄存器:定时器工作方式寄存器 作用:设定T1,T0的工作方式位编码D7D6D5D4D3D2D1D0符号GATEM1M0GATEM1M0功能T1控制T0控制TC/TC /30l 工作方式控制位工作方式控制位 M1 M0说明00模式0:13位模式,THX作为时间常数的高8位,TLX的低5位作为时间常数的低5位。T0,T1相同。01模式0:16位模式,THX作为时间常数的高8位,TLX作为时间常数的低8位。T0,T1相同。10模式2:8位自动重装载的定时器/计数器,TLX作为时间常数寄存器进行计数,当TLX溢出时,置位中断标志,并自动将THX中的数值重新装载到TLX,并开始新的计数过程。T1,T0相同11模式3: 对于T0,计数器分成两个8位的计数器,TL0使用T0的控制位,TH0作为另一个8为时间常数