51单片机寄存器汇总表
51单片机常用寄存器速查表
![51单片机常用寄存器速查表](https://img.taocdn.com/s3/m/0e6e71bf1a37f111f1855b0d.png)
51单片机常用寄存器速查表一 : 定时器 / 计数器方式选择 : TMOD 地址 (89H) 不可位寻址D7 D6 D5 D4 D3 D2 D1 D0GATE C/T M1 M0 GATE C/T M1 M0 GATE : 门控制位 GATE="0" 时于外部中断无关 GATE="1" 时无外部中断才允许启动。
即( INT 0/1 = 1 时) C/T : 定时、计数方式选择位。
C/T=0 时为定时方式 C/T=1 时计数方式M1M0 : M0M1=00 时为方式 0 、 M1M0=10 时为方式 1 , M1M0=11 时为方式 3二 : 中断标志与中断控制寄存器 : TCON 地址( 88H )可位寻址D7 D6 D5 D4 D3 D2 D1 D0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TR1 、 TR0 是 T1 、 T0 的启动控制位,置 1 起动。
置 0 停止定时 / 计数器。
TF1 、 TF0 是 T1 、 T0 的溢出标志位,溢出时由硬件置 1 , CPU 响应中断后由硬件清0 软件查询时由软件清 0IT0 、 IT1 为外部中断 0 、 1 的触发控制位 IT0/1 = 0 时为电平触发= 1 时下降沿触发IE0 、 IE1 为外部中断 0 、 1 请求标志,当有中断信号时由硬件置 1 ,完成中断时由硬件清 0三 : 中断允许控制寄存器 : IE 地址( A8H )可位寻址D7 D6 D5 D4 D3 D2 D1 D0EA ――――――ES ET1 EX1 ET0 EX0EA : 总控位, EA="0" 时关所有中断。
EA="1" 时所有中断请求均被开放。
ES : 串行口, ES="1" 时开, ES="0" 时关串行中断ET1 、 ET0 定时计数= 1 时开= 0 时关 EX1 、 EX0 外部中断= 1 时开= 0 时关四 : 中断优先级控制寄存器 IP 地址 (B8H) 可位寻址D7 D6 D5 D4 D3 D2 D1 D0 ―――――――――PS PT1 PX1 PT0 PX0PS: 串口 PT1/0 定时 / 计数器 PX1/0 外部中断= 1 高优先= 0 低优先五 : 串行控制寄存器 SCON 地址 (98H) 可位寻址D7 D6 D5 D4 D3 D2 D1 D0SM0 SM1 SM2 REN TB8 RB8 TI RISM0/1 是串行工作方式选择位,共四种工作方式见表SM0 SM1 工作方式说明波特率0 0 方式 0 同步移位寄存器Fosc/120 1 方式 1 10 位异步收发由定时器控制1 0 方式2 11 位异步收发Fosc/32/641 1 方式 3 11 位异步收发由定时器控制SM2 : 是多机通信控制位,主要用于 2 和 3 。
51单片机寄存器详解
![51单片机寄存器详解](https://img.taocdn.com/s3/m/c601f073f524ccbff12184ea.png)
51单片机寄存器详解符号地址功能介绍B F0H B寄存器ACC E0H 累加器PSW D0H 程序状态字IP B8H 中断优先级控制寄存器P3 B0H P3口锁存器IE A8H 中断允许控制寄存器P2 A0H P2口锁存器SBUF 99H 串行口锁存器SCON 98H 串行口控制寄存器P1 90H P1口锁存器TH1 8DH 定时器/计数器1(高8位)TH0 8CH 定时器/计数器1(低8位)TL1 8BH 定时器/计数器0(高8位)TL0 8AH 定时器/计数器0(低8位)TMOD 89H 定时器/计数器方式控制寄存器TCON 88H 定时器/计数器控制寄存器DPH 83H 数据地址指针(高8位)DPL 82H 数据地址指针(低8位)SP 81H 堆栈指针P0 80H P0口锁存器PCON 87H 电源控制寄存器PSW_7PSW_6PSW_5PSW_4PSW_3PSW_2PSW_1PSW_0 CY AC F0 RS1 RS0 OV USR P 状态寄存器:PSWCY 进位标志位AC 辅助进位标志位F0 通用标志位RS1 寄存器组选择位高位RS0 寄存器组选择位低位OV 溢出标志位USR 用户定义标志位P 奇偶标志位PCON_7PCON_6PCON_5PCON_4PCON_3PCON_2PCON_1PCON_0 SMOD - - - GF1 GF0 PDWN IDLE 电源控制寄存器:PCONSMOD 串行口通信波特率控制位置位使波特率翻倍- 保留- 保留- 保留GF1 通用标志位GF0 通用标志位PDWN 低功耗标志位置位进入低功耗模式IDLE 空闲标志位置位进入空闲模式IP_7IP_6IP_5IP_4IP_3IP_2IP_1IP_0- - PT2 PS PT1 PX1 PT0PX0中断优先级寄存器:IP- 保留- 保留PT2 定时器2 中断优先级PS 串行通信中断优先级PT1 定时器1 中断优先级PX1 外部中断1 优先级PT0 定时器0 中断优先级PX0 外部中断0 优先级处理器的状态保存在状态寄存器PSW 中,状态字中包括进位位,用于BCD 码处理的辅助进位位,奇偶标志位,溢出标志位,还有前面提到的用于寄存器组选择的RS0 和RS1。
51单片机寄存器汇总表
![51单片机寄存器汇总表](https://img.taocdn.com/s3/m/efd0ccc108a1284ac8504308.png)
51单片机寄存器功能一览表21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU 的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
51单片机寄存器(个人整理)
![51单片机寄存器(个人整理)](https://img.taocdn.com/s3/m/f5825b0376c66137ee061978.png)
51单片机寄存器功能一览表fe51单片机的CPU中,有21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SF存储空间中,地址空间为80H-FFH,在这片SF空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有OM,用来存放程序,有AM,用来存放中间结果,此外还有定时/计数器,串行I/O 口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SF)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):MCS-51单片机的特殊功能寄存器符号地址功能介绍BF0HB寄存器ACCE0H累加器PSWD0H程序状态字TH2*CDH定时器/计数器2(高8位)TL2*CCH定时器/计数器2(低8位)CAP2H*CBH外部输入(P1.1)计数器/自动再装入模式时初值寄存器高八位CAP2L*CAH外部输入(P1.1)计数器/自动再装入模式时初值寄存器低八位T2CON*C8HT2定时器/计数器控制寄存器IPB8H中断优先级控制寄存器P3B0HP3口锁存器IEA8H中断允许控制寄存器P2A0HP2口锁存器SBUF99H串行口锁存器SCON98H串行口控制寄存器P190HP1口锁存器TH18DH定时器/计数器1(高8位)TH08CH定时器/计数器1(低8位)TL18BH定时器/计数器0(高8位)TL08AH定时器/计数器0(低8位)TMOD89HT0、T1定时器/计数器方式控制寄存器TCON88HT0、T1定时器/计数器控制寄存器DPH83H数据地址指针(高8位)DPL82H数据地址指针(低8位)SP81H堆栈指针P080HP0口锁存器PCON87H电源控制寄存器分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
51单片机寄存器汇总表
![51单片机寄存器汇总表](https://img.taocdn.com/s3/m/4e3c60e6a0116c175e0e4857.png)
51单片机寄存器功能一览表21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O 口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
51—52系列单片机特殊功能寄存器一览表
![51—52系列单片机特殊功能寄存器一览表](https://img.taocdn.com/s3/m/d4c7f8447f1922791788e87f.png)
51—52系列单片机特殊功能寄存器总结P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/V PD P3.0/RXD P3.1/TXD P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WR P3.7/RD XTAL2XTAL1V SSV CC P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/V PP ALE/PROG PSEN P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0RST P3.0/RXD P3.1/TXDXTAL2XTAL1P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1GNDV CC P1.7P1.6P1.5P1.4P1.3P1.2P1.1/AIN1P1.0/AIN0P3.7注:类似的还有Philips公司的 87LPC64,20引脚8XC748/750/(751),24引脚 8X749(752),28引脚 8XC754,28引脚 等等P3第二功能各引脚功能定义: P3.0:RXD 串行口输入 P3.1:TXD 串行口输出 P3.2:INT0外部中断0输入 P3.3:INT1外部中断1输入 P3.4:T0定时器0外部输入 P3.5:T1定时器1外部输入 P3.6:WR 外部写控制 P3.7:RD 外部读控制C -51的数据类型扩充定义 sfr:特殊功能寄存器声明 sfr16:sfr 的16位数据声明 sbit:特殊功能位声明 bit:位变量声明例:sfr SCON = 0X98; sfr16 T2 = 0xCC;sbit OV = PSW^2;第一节:片内RAM 映射:51:00H —7FH 128B 片内(DA TA ),其中00H —07H : bank0。
08H —0FH::bank1。
10H —17H :bank2。
18H —1FH :bank3。
20H —2FH::位寻址区(bdata )。
51单片机中的21个寄存器
![51单片机中的21个寄存器](https://img.taocdn.com/s3/m/110e5bc4941ea76e59fa0431.png)
51单片机中的21个寄存器ACC 累加器B 用于辅助累加器做某些运算的寄存器PSW 程序状态字其中最高位是进/借位标志C;PSW.6 是辅助进位标志AC,用于标识加减运算中低四位向高四位的进位;PSW.4 和PSW.3 是寄存器组选择位RS1 和RS0,用于从00H--1FH 的32 个存储器单元(4 组)中选出当前准备使用的一组工作寄存器的映射地址;PSW.2 是溢出标志OV;PSW.0 是ACC 的偶校验位P;PSW 的其余位不用IP 中断优先级控制寄存器在51 中IP.0--IP.4 依次控制INT0、T0、INT1、T1、UART 中断的优先级,高三位不用IE 中断使能控制器IE.7 是所有中断的总开关EA,IE.0--IE.4 依次控制INT0、T0、INT1、T1、UART 中断功能的开放或关断P0、P1、P2、P3 这四个寄存器用于读写51 单片机的四个I/O 端口SBUF 串行数据缓冲器将数据写入SBUF,单片机就自动将数据从UART 口发送出去SCON 串行口功能控制器最高两位SM0、SM1 控制串行口工作模式;第5 位SM2 通常用于多机通信中区分地址帧和数据帧;第4 位REN 是控制串口接收数据的使能位;第3 位TB8 和第2 位RB8 分别是在串口的相关工作模式下要发送的和接收到的第9 位数据;次低位TI 和最低位RI 分别标识一个发送或接收过程已结束,这两个标志位都会触发串口中断TH0、TL0 定时器T0 的计数单元的高8 位和低8 位TH1、TL1 定时器T1 的计数单元的高8 位和低8 位TMOD 定时/计数器工作模式控制器低4 位和高4 位的内容对应相同,分别控制T0 和T1 的工作模式,次低位和最低位控制对应定时/计数器的工作模式;最高位控制定时/计数器的计数是否由外中断口线参与控制;次高位控制对应的定时器/计数器工作在定时方式还是对相应口线的脉冲进行计数的方式TCON 定时/计数器控制字TCON.0 和TCON.2 分别是外中断INT0 和INT1 的触发方式选择位IT0 和IT1;TCON.1 和TCON.3 分别是外中断INT0 和INT1 的中断触发标志位IE0 和IE1;TCON.4 和TCON.6 分别是T0 和T1 的计数开关TR0 和TR1;TCON.5 和TCON.7 分别是T0 和T1 的中断触发标志位TF0 和TF1PCON 电源模式控制器最高位SMOD 用于串行口通信的波特率加倍,低4 位用于选择不同的低功耗模式,比如空闲模式、掉电模式、时钟停止模式等,但具体每一位的用法没有找到相关资料DPH、DPL 数据指针DPTR 的高、低字节DPTR 可以用于指向程序存储器、片内RAM、片外RAM 来读取数据SP 堆栈指针堆栈都是分配在片内RAMtips:感谢大家的阅读,本文由我司收集整编。
51单片机内部结构及寄存器一览
![51单片机内部结构及寄存器一览](https://img.taocdn.com/s3/m/42a82a7258fb770bf68a5538.png)
51单片机内部结构及寄存器一览在513、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
有进、借位,CY=1;无进、借位,CY=0例:78H+97H(01111000+10010111)AC:辅助进、借位(高半字节与低半字节间的进、借位)。
例:57H+3AH(01010111+00111010)F0:用户标志位由用户(编程人员)决定什么时候用,什么时候不用。
RS1、RS0:工作寄存器组选择位通过修改PSW中的RS1、RS0两位的状态,就能任选一个工作寄存器区。
这个特点提高了MCS-51现场保护和现场恢复的速度。
对于提高CPU的工作效率和响应中断的速度是很有利的。
若在一个实际的应用系统中,不需要四组工作寄存器,那么这个区域中多余单元可以作为一般的数据缓冲器使用。
0V:溢出标志位运算结果按补码运算理解。
有溢出,OV=1;无溢出,OV=0。
什么是溢出我们后面的章节会讲到。
P:奇偶校验位它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。
若为奇数,则P=1,否则为0。
运算结果有奇数个1,P=1;运算结果有偶数个1,P=0。
例:某运算结果是78H(01111000),显然1的个数为偶数,所以P=0。
4、DPTR(DPH、DPL)--------数据指针可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。
分成DPL(低8位)和DPH(高8位)两个寄存器。
用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节范围内的数据操作。
51单片机的专用寄存器
![51单片机的专用寄存器](https://img.taocdn.com/s3/m/6a964313ba0d4a7303763a58.png)
51单片机的专用寄存器21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):MCS-51单片机的特殊功能寄存器带“*”的在51系列是没有的。
分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
51常用寄存器
![51常用寄存器](https://img.taocdn.com/s3/m/55012c9f561252d381eb6edb.png)
对于51初学者来说特殊功能寄存器是一定要掌握的,那么常用的特殊功能寄存器的说明就尤为重要了下面我列举了一些常用的特殊功能寄存器的说明希望对您有帮助不太全面,但很有用这些都是一定要弄明白的。
1、PSW —— 程序状态字。
里面放了 CPU 工作时的很多状态,PSW 程序状态字AC :辅助进、借位(高半字节与低半字节间的进、借位 )F0 :用户标志位:由用户(编程人员)决定什么时候用,什么时候不用。
RS1、RS0 :工作寄存器组选择位通过修改PSW 中的RS1、RSO 两位的状态,就能任选一个工作寄存器区。
这个特点提高了 MCS-51 现场保护和现场恢复的速度。
对于提高CPU 的工作效率和响应中断的速度是很有利的。
若在一个实际的应 用系统中,不需要四组工作寄存器,那么这个区域中多余单元可以作为一般的数据缓冲器使用。
0V :溢出标志位运算结果按补码运算理解。
有溢出,0V=1 ;无溢出,0V = 0。
P :奇偶校验位 它用来表示ALU运算结果中二进制数位 “ 的个数奇偶性。
若为奇数则P=1,否则02、IE-----中断充许寄存器可按位寻址,地址:A8H* EA(IE.7 ) :EA=0时,所有中断禁止;EA=1时,各中断的产生由个别的允许位决定« - (IE.6): 保留 « ET2 (IE.5 ) :定时2溢出中断允许* ES (IE.4 ) :串行口中断允许(ES=1允许,ES=0禁止) « ET1 (IE.3 ) :定时1中断允许 * EX1 (IE.2 ) :外中断INT1中断允许 « ET0(IE.1 ) :定时器0中断允许 « EX0(IE.0 ) :外部中断INT0的中断允许3、IP-----中断优先级控制寄存器可按位寻址,地址位B8H■-(IP.6): 保留PT2 (IP.5 ) :定时2中断优先PS (IP.4 ) :串行口中断优先PT1 (IP.3 ) :定时1中断优先■PX1 (IP.2 ) :外中断INT1中断优先PT0 (IP.1 ) :定时器0中断优先■PX0 (IP.0 ) :外部中断INT0的中断优先4、TMOD-----定时器控制寄存器不按位寻址,地址89HM1 M0 工作模式« GATE :定时操作开关控制位,当GATE=1时,INTO或INT1引脚为高电平,同时TCON中的TR0或TR1控制位为1时,计时/计数器0或1才开始工作。
MCS51单片机的特殊寄存器
![MCS51单片机的特殊寄存器](https://img.taocdn.com/s3/m/d6f4877fd1f34693daef3eea.png)
MCS-51单片机的特殊寄存器寄存器列表(21个)3、PSW寄存器4、IP寄存器5、P3接口寄存器8、SCON串口控制寄存器97H 96H 95H 94H 93H 92H 91H 90H P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.010、TCON寄存器11、P0接口寄存器 87H 86H 85H 84H 83H 82H 81H 80H P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.012、TMOD 寄存器GATE C/T M 10M GATE C/T 1M 0M 控 制 T 1控 制 T 089H和T 类同01M 0M 00011011方 式方式0方式1方式2方式301定时器模式计数器模式01与INT 无关00与INT 有关13、PCON寄存器⏹SMOD:波特率倍增位。
当SMOD=1时,波特率加倍;当SMOD=0时,波特率不加倍。
⏹GF1、GF0:两个通用标志位,用户使用。
⏹当将PD置1的指令执行后,80C51进入掉电方式,此时片内振荡器停止工作,仅片内RAM内容被保持,SFR内容也被破坏。
掉电方式下Vcc可降到2V,耗电仅50μA。
退出掉电方式唯一方法是硬件复位。
应当保证进入掉电方式前Vcc不降下来,在通过硬件复位退出掉电方式之前应当先保证Vcc恢复到正常值。
⏹当将IDL位置1指令执行后,80C51进入节电方式。
这时供给CPU的时钟信号被切断,但时钟信号仍送给片内RAM、定时器、中断系统和串口,同时CPU状态被保存,即堆栈指针、程序计数器PC、程序状态字PSW、累加器ACC及通用寄存器的内容。
节电方式下Vcc仍为5V,但耗电从24mA降到3.7mA。
退出掉电方式有两种,一种是任一中断被激活,一种是硬件复位,前者较为常用。
8051单片机21个特殊功能寄存器和指令汇总
![8051单片机21个特殊功能寄存器和指令汇总](https://img.taocdn.com/s3/m/5c5b1bbf915f804d2a16c134.png)
MCS-51单片机21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SF R存储空间中,地址空间为80H-FFH,在这片SF R空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有R OM,用来存放程序,有R AM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SF R)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
51单片机部分寄存器介绍
![51单片机部分寄存器介绍](https://img.taocdn.com/s3/m/1fabe63fee06eff9aef80770.png)
MCS-51 单片机的中断源有两个用户可控的中断优先级,从而可实现二级中断嵌 套。中断系统遵循如下三条规则: 1、正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,直到该中断服 务程序结束,返回了主程序且执行了主程序中的一条指令后,CPU 才响应新的中断请求。 2、正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级嵌套。 3、CPU 同时接收到几个中断请求时,首先响应优先级最高的中断请求。
机通信中,以 TB8 位的状态表示主机发送的是地址还是数据:TB8=0 为数据,TB8=1
为地址;也可用作数据的奇偶校验位。该位由软件置位或复位。
RB8:接收数据 D8 位。在方式 2 和方式 3 时,接收到的第 9 位数据,可作为奇偶校验
位或地址帧或数据帧的标志。方式 1 时,若 SM2=0,则 RB8 是接收到的停止位。在
的计数值。
溢出率=fosc/{12×[256-(TH1)]} 在使用串行口之前,应对它进行编程初始化,主要是设置产生波特率的定时器 1、
串行口控制和中断控制。具体步骤:
1、确定定时器 1 的工作方式(编程 TMOD 寄存器);
2、计算定时器 1 的初值,装载 TH1、TL1;
3、启动定时器 1(编程 TCON 中的 TR1 位);
则不论第 9 位数据为 0 或 1,都将前 8 位数据装入 SBUF 中,并产生中断请求。在方
式 0 时,SM2 必须为 0。
REN:允许串行接收控制位。若 REN=0,则禁止接收;REN=1,则允许接收,该位由
软件置位或复位。
TB8:发送数据 D8 位。在方式 2 和方式 3 时,TB8 为所要发送的第 9 位数据。在多
定时器/计数器 T0、T1 都有四种工作方式,可通过程序对 TMOD 设置来选择。 TMOD 的低 4 位用于定时器/计数器 0,高 4 位用于定时器/计数器 1。其位定义如下:
51单片机存储器结构介绍
![51单片机存储器结构介绍](https://img.taocdn.com/s3/m/d4479a6eddccda38376baf76.png)
51单片机存储器结构介绍MCS-51单片机在物理结构上有四个存储空间:1、片内程序存储器2、片外程序存储器3、片内数据存储器4、片外数据存储器但在逻辑上,即从用户的角度上,8051单片机有三个存储空间:1、片内外统一编址的64K的程序存储器地址空间(MOVC)2、256B的片内数据存储器的地址空间(MOV)3、以及64K片外数据存储器的地址空间(MOVX)在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。
程序内存ROM寻址范围:0000H ~ FFFFH容量64KBEA = 1,寻址内部ROM;EA = 0,寻址外部ROM地址长度:16位作用:存放程序及程序运行时所需的常数。
七个具有特殊含义的单元是:0000H ——系统复位,PC指向此处;0003H ——外部中断0入口000BH —— T0溢出中断入口0013H ——外中断1入口001BH —— T1溢出中断入口0023H ——串口中断入口002BH —— T2溢出中断入口内部数据存储器RAM物理上分为两大区:00H ~ 7FH即128B内RAM和SFR区。
作用:作数据缓冲器用。
下图是8051单片机存储器的空间结构图程序存储器一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。
那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。
程序相当于给微处理器处理问题的一系列命令。
其实程序和数据一样,都是由机器码组成的代码串。
只是程序代码则存放于程序存储器中。
MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。
对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。
强制CPU从外部程序存储器读取程序。
51单片机寄存器集(包括所有的寄存器位的详细介绍)
![51单片机寄存器集(包括所有的寄存器位的详细介绍)](https://img.taocdn.com/s3/m/b5b31a08bb68a98271fefa57.png)
(1)SM0、SM1:串行口工作方式控制位。
SM0,SM1 工作方式00 方式0-波特率由振荡器频率所定:振荡器频率/1201 方式1-波特率由定时器T1或T2的溢出率和SMOD所定:2SMOD ×(T1溢出率)/3210 方式2-波特率由振荡器频率和SMOD所定:2SMOD ×振荡器频率/6411 方式3-波特率由定时器T1或T2的溢出率和SMOD所定:2SMOD ×(T1溢出率)/32(2)SM2:多机通信控制位。
< br> 多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。
接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。
当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。
工作于方式0时,SM2必须为0。
(3)REN:允许接收位。
< br> REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。
(4)TB8:发送接收数据位8。
< br> 在方式2和方式3中,TB8是要发送的——即第9位数据位。
在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。
(5)RB8:接收数据位8。
在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。
(6)TI:发送中断标志位。
可寻址标志位。
方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。
(7)RI:接收中断标志位。
可寻址标志位。
接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。
11、PCON-----电源管理寄存器PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:。
51单片机寄存器表
![51单片机寄存器表](https://img.taocdn.com/s3/m/be60c23950e2524de4187e64.png)
OV位:益出位;OV=1表示运算时有益出产生。
AC位:补助进位位;AC=1表示运算时较低4位有进位产生。
CY位:进位位;CY=1表示运算时有进位产生。
ET2:T2中断允许位;ET2=1允许中断(S52才有)。
ES:串行中断允许位;ES=1允许中断。
ET1:T1中断允许位;ET1=1允许中断。
EX1:INT1中断允许位;EX1=1允许中断。
ET0:T0中断允许位;ET0=1允许中断。
EX0:INT0中断允许位;EX0=1允许中断。
入口地址(按优先级):外中断0—03H,定时器0—0BH,外中断1—13H,定时器1—1BH,串口—23H同过设订两个寄存器中每位代表的数值来决定定时值和计数值。
例:TH=#3CH ,TL=#0B0H 等于15536,它的定时值就为50000。
GATE:GATE=1时表示T0或T1必须在INT0或INT1是高点位时才会初始化。
C/T:C/T=1由外引脚T0或T1做计数脉冲,C/T=0由TH和TL做定时数。
TF1 :TF1=1表示T1有中断产生。
TR1:TR1=1表示T1开始运行。
TF0:TF0=1表示T0有中断产生。
TR0:TR0=1表示T0开始运行。
IE1:IE1=1表示INT1有中断产生。
IT1:IT1=1表示INT1为下降沿触发,IT1=0表示INT1为低电平触发。
IE0:IE0=1表示INT0有中断产生。
IT0:IT0=1表示INT0为下降沿(负跳变)触发,IT0=0表示INT0为低电平触发。
定时器T2:EXF2:T2外中断标志;EXF2=1,T2EX(P1.1)发生负跳变时置EXF2。
TCLK:串行口发送时钟选择标志。
RCLK:串行口接收时钟选择标志。
EXEN2=1,T2为捕获方式,T2EX(P1.1)发生负跳变时,TL2和TH2的当前值自动捕获到RCAP2L和RCAP2H中,同时置中断标志EXF2。
EXEN2=0,T2为自动装入方式,T2EX(P1.1)发生负跳变时,RCAP2L和RCAP2H自动装入TL2和TH2中,同时置中断标志EXF2。
51常用寄存器
![51常用寄存器](https://img.taocdn.com/s3/m/ffae016eaf1ffc4ffe47ac9e.png)
11方式3-波特率由定时器T1或T2的溢出率和SMOD所定:2SMOD×(T1溢出率)/32
(2)SM2:多机通信控制位。< br>多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。
TCLK:串行接口的发送时钟选择标志。TCLK=1时,T2工作于波特率发生器方式。
RCLK:串行接口的接收时钟选择标志位。RCLK=1时,T2工作于波特率发生器方式。
EXEN2:T2的外部中断充许标志。
C/T2:外部计数器/定时器选择位。C/T2=1时,T2为外部事件计数器,计数脉冲来自T2(P1.0);C/T2=0时,T2为定时器,振荡脉冲的十二分频信号作为计数信号。
定时器T2方式选择
RCLK+TCLK
CP/RL2
TR2
工作方式
0
0
1
16位常数自动再装入方式
0
1
1
16位捕捉方式
1
×
1
串行口波特率发生器方式
×
×
0
停止计数
方式3,仅适用于T0,定时器0分为两个独立的8位定时器/计数器TH0及TL0,T1在方式3时停止工作
5、TCON-----定时器控制寄存器可按位寻址,地址位88H
TCON定时器控制寄存器
B7
B6
B5
B4
B3
51寄存器
![51寄存器](https://img.taocdn.com/s3/m/9c1e920190c69ec3d5bb75a2.png)
51寄存器大全(C语言版)P0 地址:0x80 I/O口寄存器P1 地址:0x90P2 地址:0xA0P3 地址:0xB01、CY---进位标志位,他表示运算是否有进位(或错位),若操作结果在最高位有进位(加法)活错位(减法),则为1,否则为0。
2、AC---辅助进位标志位3、F0---状态标志位,用软件置一或者清零,可测试,以控制软件的流程。
4、RS0、RS1---4组工作寄存器去控制位,在汇编中选择4组工作寄存器区中的哪一组为当前工作寄存器区。
5、OV---溢出标志位,带符号的运算结果是否有溢出,有为1,否则为0。
6、P---奇偶标志位,反映累加器ACC的内容的奇偶行,若ACC中含有偶数个“1”,则为1,否则为0。
ACC 地址:0XE0 累加器寄存器2、ET2---定时器/计数器2中断允许位,3、ES---串行中断允许位4、ET1---定时器/计数器1中断允许位5、EX1---外部中断1允许位6、ET0---定时器/计数器0中断允许位7、EX0---外部中断0中断允许位IP 地址:0XB8 中断优先级寄存器2、PS---串行中断优先级控制位3、PT1---定时器/计数器1中断优先级控制位4、PX1---外部中断1中断优先级控制位5、PT0---定时器/计数器0中断优先级控制位6、PX0---外部中断0中断优先级控制位高四位控制定时器1,低四位控制定时器0。
1、GA TE---门控制位GA TE=0,定时器/计数器启动与停止仅受TCON寄存器中TRX(X=0,1)GA TE=1,定时器/计数器启动与停止受TCON寄存器中TRX(X=0,1)和外部中断引脚(INT0或INT1)上的电平状态共同控制。
2、C/T---定时器模式和计数器模式选择0:定时器模式1:计数器模式3、M1M0---工作方式选择位00 方式0 为13位定时器/计数器。
01 方式1 为16位定时器/计数器。
02 方式2 8位自动重装定时器/计数器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机寄存器功能一览表21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O 口,中断系统,以及一个部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。
自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。
该标志常用作程序分枝转移的判断条件。
2、B--一个寄存器在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。
3、PSW-----程序状态字。
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。
它的各位功能请看下表:下面我们逐一介绍各位的用途CY:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
有进、借位,CY=1;无进、借位,CY=0例:78H+97H(01111000+10010111)AC:辅助进、借位(高半字节与低半字节间的进、借位)。
例:57H+3AH(01010111+00111010)F0:用户标志位由用户(编程人员)决定什么时候用,什么时候不用。
RS1、RS0:工作寄存器组选择位通过修改PSW中的RS1、RS0两位的状态,就能任选一个工作寄存器区。
这个特点提高了MCS-51现场保护和现场恢复的速度。
对于提高CPU的工作效率和响应中断的速度是很有利的。
若在一个实际的应用系统中,不需要四组工作寄存器,那么这个区域中多余单元可以作为一般的数据缓冲器使用。
0V:溢出标志位运算结果按补码运算理解。
有溢出,OV=1;无溢出,OV=0。
什么是溢出我们后面的章节会讲到。
P:奇偶校验位它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。
若为奇数,则P=1,否则为0。
运算结果有奇数个1,P=1;运算结果有偶数个1,P=0。
例:某运算结果是78H(01111000),显然1的个数为偶数,所以P=0。
4、DPTR(DPH、DPL)--------数据指针可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。
分成DPL(低8位)和DPH(高8位)两个寄存器。
用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节围的数据操作。
5、P0、P1、P2、P3--------输入输出口(I/O)寄存器这个我们已经知道,是四个并行输入/输出口(I/O)的寄存器。
它里面的容对应着管脚的输出。
6、IE-----中断充许寄存器可按位寻址,地址:A8H•EA (IE.7):EA=0时,所有中断禁止(即不产生中断);EA=1时,各中断的产生由个别的允许位决定•- (IE.6):保留•ET2(IE.5):定时2溢出中断充许(8052用)•ES (IE.4):串行口中断充许(ES=1充许,ES=0禁止)•ET1(IE.3):定时1中断充许•EX1(IE.2):外中断INT1中断充许•ET0(IE.1):定时器0中断充许•EX0(IE.0):外部中断INT0的中断允许7、IP-----中断优先级控制寄存器可按位寻址,地址位B8H•- (IP.7):保留•- (IP.6):保留•PT2(IP.5):定时2中断优先(8052用)•PS (IP.4):串行口中断优先•PT1(IP.3):定时1中断优先•PX1(IP.2):外中断INT1中断优先•PT0(IP.1):定时器0中断优先•PX0(IP.0):外部中断INT0的中断优先8、TMOD-----定时器控制寄存器不按位寻址,地址89H•GATE:定时操作开关控制位,当GATE=1时,INT0或INT1引脚为高电平,同时TCON 中的TR0或TR1控制位为1时,计时/计数器0或1才开始工作。
若GATE=0,则只要将TR0或TR1控制位设为1,计时/计数器0或1就开始工作。
•C/T:定时器或计数器功能的选择位。
C/T=1为计数器,通过外部引脚T0或T1输入计数脉冲。
C/T=0时为定时器,由部系统时钟提供计时工作脉冲。
•M1、M0:T0、T1工作模式选择位9、TCON-----定时器控制寄存器可按位寻址,地址位88H•TF1:定时器T1溢出标志,可由程序查询和清零,TF1也是中断请求源,当CPU响应T1中断时由硬件清零。
•TF0:定时器T0溢出标志,可由程序查询和清零,TF0也是中断请求源,当CPU响应T0中断时由硬件清零。
•TR1:T1充许计数控制位,为1时充许T1计数。
•TR0:T0充许计数控制位,为1时充许T0计数。
•IE1:外部中断1请示源(INT1,P3.3)标志。
IE1=1,外部中断1正在向CPU请求中断,当CPU响应该中断时由硬件清“0”IE1(边沿触发方式)。
•IT1:外部中断源1触发方式控制位。
IT1=0,外部中断1程控为电平触发方式,当INT1(P3.3)输入低电平时,置位IE1。
•IE0:外部中断0请示源(INT0,P3.2)标志。
IE0=1,外部中断1正在向CPU请求中断,当CPU响应该中断时由硬件清“0”IE0(边沿触发方式)。
•IT0:外部中断源0触发方式控制位。
IT0=0,外部中断1程控为电平触发方式,当INT0(P3.2)输入低电平时,置位IE0。
10、SCON----串行通信控制寄存器它是一个可寻址的专用寄存器,用于串行数据的通信控制,单元地址是98H,其结构格式如下:(1)SM0、SM1:串行口工作方式控制位。
SM0,SM1 工作方式00 方式0-波特率由振荡器频率所定:振荡器频率/1201 方式1-波特率由定时器T1或T2的溢出率和SMOD所定:2SMOD×(T1溢出率)/3210 方式2-波特率由振荡器频率和SMOD所定:2SMOD×振荡器频率/6411 方式3-波特率由定时器T1或T2的溢出率和SMOD所定:2SMOD×(T1溢出率)/32(2)SM2:多机通信控制位。
< br> 多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。
接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。
当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。
工作于方式0时,SM2必须为0。
(3)REN:允许接收位。
< br> REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。
(4)TB8:发送接收数据位8。
< br> 在方式2和方式3中,TB8是要发送的——即第9位数据位。
在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。
(5)RB8:接收数据位8。
在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。
(6)TI:发送中断标志位。
可寻址标志位。
方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。
(7)RI:接收中断标志位。
可寻址标志位。
接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。
11、PCON-----电源管理寄存器PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:在CHMOS型单片机中,除SMOD位外,其他位均为虚设的,SMOD是串行口波特率倍增位,当SMOD=1时,串行口波特率加倍。
系统复位默认为SMOD=0。
12、T2CON-----T2状态控制寄存器•TF2:T2溢出中断标志。
TF2必须由用户程序清“0”。
当T2作为串口波特率发生器时,TF2不会被置“1”。
•EXF2:定时器T2外部中断标志。
EXEN2为1时,当T2EX(P1.1)发生负跳变时置1中断标志DXF2,EXF2必须由用户程序清“0”。
•TCLK:串行接口的发送时钟选择标志。
TCLK=1时,T2工作于波特率发生器方式。
•RCLK:串行接口的接收时钟选择标志位。
RCLK=1时,T2工作于波特率发生器方式。
•EXEN2:T2的外部中断充许标志。
•C/T2:外部计数器/定时器选择位。
C/T2=1时,T2为外部事件计数器,计数脉冲来自T2(P1.0);C/T2=0时,T2为定时器,振荡脉冲的十二分频信号作为计数信号。
•TR2:T2计数/定时控制位。
TR1为1时充许计数,为0时禁止计数。
•CP/RL2:捕捉和常数自动再装入方式选择位。
为1时工作于捕捉方式,为0时T2工作于常数自动再装入方式。
当TCLK或RCLK为1时,CP/RL2被忽略,T2总是工作于常数自动再装入方式。
下面对T2CON的D0、D2、D4、D5几位主要控制T2的工作方式,下面对这几位的组合关系进行总结MCS-51与中断有关的寄存器、中断入口地址及编号1、中断入口地址及编号MCS-51在每一个机器周期顺序检查每一个中断源,在机器周期的S6按优先级处理所有被激活的中断请求,此时,如果CPU没有正在处理更高或相同优先级的中断,或者现在的机器周期不是所执行指令的最后一个机器周期,或者CPU不是正在执行RETI指令或访问IE 和IP的指令(因为按MCS-51中断系统的特性规定,在执行完这些指令之后,还要在继续执行一条指令,才会响应中断),CPU在下一个机器周期响应激活了的最高级中断请求。
中断响应的主要容就是由硬件自动生成一条长调用LCALL addr16指令,这里的addr16就是程序存储器中相应的中断区入口地址,这些中断源的服务程序入口地址如下:生成LCALL指令后,CPU紧跟着便执行之.首先将PC(程序计数器)的容压入堆栈保护断点,然后把中断入口地址赋予PC,CPU便按新的PC地址(即中断服务程序入口地址)执行程序。