51系列单片机寄存器详解
51单片机 寄存器

T/C的工作方式寄存器TMOD◆C/T : 计数器或定时器选择位C/T=1:设置为计数器C/T=1:设置为定时器◆GATE :门控信号GATE=1: T/C的启动受到双重控制,即要求TR0/TR1和INT0/INT1同时为高。
GATE=0 : T/C的启动仅受TR0/TR1的控制。
◆M1、M0 : 工作方式选择位定时/计数器控制寄存器TCON◆TR0、TR1:T/C0、T/C1的启动控制位TR0、TR1=1:启动计数TR0、TR1=0:停止计数◆TF0、TF1:定时/计数器0,1溢出中断标志位当定时/计数器0,1计数溢出时,由硬件置位,即TF0/TF1=1;当CPU响应中断时,由硬件清除,即TF0/TF1=0;◆IE0、IE1 : 外部中断0、1请求标志位当外部中断0、1依据触发方式满足条件产生中断请求时,由硬件置位,即:IE0/IE1=1;当CPU响应中断时,由硬件清除,即:IE0/IE1=0;◆IT0、IT1:外部中断触发方式选择位,由软件设置IT0/IT1=1:下降沿的触发方式;IT0/IT1=0:低电平的触发方式;串行口控制寄存器SCON◆RI : 串行口接收中断请求标志位当串行口接收完一个数据的字节后请求中断,由硬件置位,即RI=1;注意:RI必须软件清除,即:RI=0 ;◆TI : 串行口发送中断请求标志位当串行口发送完一个数据的字节后请求中断,由硬件置位,TI=1;注意:TI必须软件清除,即:TI=0 ;中断允许控制寄存器I E◆EA : CPU开/关全局中断控制位EA=1; CPU开全局中断EA=0; CPU关全局中断◆ET0、ET1、ET2:定时/计数器中断允许位ET0、ET1、ET2=1:T/C0、1、2中断允许;ET0、ET1、ET2=0:T/C0、1、2中断禁止;◆ES : 串行口中断允许位ES=1:串行口中断允许;ES=0:串行口中断禁止;◆EX0、EX1:外部中断0、1的中断允许控制位EX0、EX1=1:外部中断0、1中断允许;EX0、EX1=0:外部中断0、1中断禁止;初始化程序应完成以下工作:1.确定T/C的工作方式,配置TMOD工作方式寄存器;2.计算T/C的计数初值,并赋给TH、TL;3.若T/C以中断方式工作时,必须配置IE寄存器内IE0、IE1的值;4.使TR0、TR1置位,启动T/C;举例:TMOD=0x01;//定时器0定时方式1TH0=(65536-50000)/256;TL0=(65536-50000)%256; //50us的定时EA=1; //开启全局中断ET0=1; //允许T/C0中断TR0=1; //启动定时器PSW寄存器Cy: 高位进位标志位。
c51单片机寄存器功能说明

TCON 定时器/计数器控制寄存器↑与定时器有关↑与外部中断有关↑TR0——定时器/计数器T0的运行控制位TR1——T1 TR0=1, 启动定时器/计数器工作TR0=0, 停止定时器/计数器工作TF0——片内定时器/计数器T0溢出中断请求标志位(有请求时为1)TF1——T1IT0——选择外部中断INT0的中断触发方式IT1——INT1 IT0=0为电平触发方式,加到引脚/INT0上的外部中断请求输入信号为低电平有效IT0=1为脉冲触发方式,输入信号电平从高到低的负跳变有效。
INT0可以由软件置1或清0. IE0——外部中断INT0的中断请求标志位(有请求时为1)IE0——INT1 TMOD 定时器/计数器工作方式控制寄存器↑定时器T1 ↑定时器T0 ↑GATE——门控位,控制定时器启动方式GATE=0时,由软件控制位TR0或TR1来控制启动GATE=1时,由外部中断引脚(/INT0或/INT1)上的请求信号高电平来启动定时器/计数器运行C/-T——定时或计数方式选择位C/-T=0 定时工作C/-T=1 计数工作M1、M0工作方式选择位SCON 串行口控制寄存器SM2 ——多级通信控制位。
多用在方式2、方式3中通信控制。
在方式2、方式3的接收状态中,若SM2=1,接收到第9位(RB8)为1时将接收到的数据送接收SBUF中,且置位RI发出中断申请,将RI置1 。
否则RB8为0时舍弃接收到的数据,RI清0;对于方式1,接收到有效停止位时,激活RI;对于方式0,SM2应置0.REN——允许接收位。
REN=1时允许接收,REN由指令置位或复位。
REN=0 禁止串行口接收数据TB8——发送接收数据位8在方式2、方式3中,TB8是第9位发送的数据,多机通信时标明主机发送的是地址还是数据,TB8=0为数据,TB8=1为地址。
TB8由指令置位或复位。
RB8——接收数据位8工作在方式2和3时,RB8存放接收到的第9位数据。
51单片机寄存器详解

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。
C51单片机21个特殊功能寄存器

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:进位标志。
,如果做加法的话,两数位运算器只能表示到0-255中的运算器是一种8位的运算器,我们知道,88051,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
有相加可能会超过2550CY==1;无进、借位,进、借位,CY )78H+97H(01111000+10010111例:。
51单片机特殊功能寄存器

51单⽚机特殊功能寄存器51单⽚机特殊功能寄存器(SFR)介绍作者:huqin 来源:本站原创点击数: 5937 更新时间:2013年12⽉28⽇【字体:⼤中⼩】1、21个寄存器介绍51系列单⽚机内部主要有四⼤功能模块,分别是I/O⼝模块、中断模块、定时器模块和串⼝通信模块(串⾏I/O⼝),如其结构和功能如下图:图1 51单⽚机结构和功能图51单⽚机掌握的好坏,其实就是能否正确操作这四个功能模块,⽽其操作的实质则⼜是能否对每个模块所对应寄存器的正确操纵。
所以下⾯重点介绍⼀下51系列单⽚机内部的特殊功能寄存器(简称SFR,以下说明以此代替)。
(关于什么叫特殊功能寄存器,这⾥先不作介绍,不懂的请查阅51单⽚机相关资料。
)51单⽚机内部共有21个SFR,其布局如图2,从图中可以看出,每个SFR 占1个字节,多数字节单元中的每⼀位⼜有专⽤的“位名称”。
这21个SFR⼜按是否可以位寻址分为两⼤部分,ACC、IE、P1等11个可以位寻址,SP、TMOD 等不可以位寻址。
图2 51单⽚机SFR布局图2、位寻址解释下⾯以P1、IE寄存器(可位寻)和TMOD(不可位发)为例解释⼀下位寻址。
能位寻址是指能够对它的每⼀位都可以进⾏位操作,如图3,如P1⼝接8个灯,灯阳极接正极,阴极接单⽚机的P1⼝的8个脚。
现在要让接P1⼝第1个引脚的灯亮,程序中可以写P1=0xfe,也可以先定义deng1=P1^0,即P1⼝的第1位,⾄于为什么写P1^0,是因为KEIL软件规定的,然后deng1=0。
也就是P1=0xfe和deng1=0都是可以点亮第⼀个灯,后者deng1=0属于位操作,前者P1 =0xfe属于总线操作,也就是8个引脚⼀起操作。
图3 8位灯接线图下⾯再以IE寄存器为例进⾏位操作的解释。
IE寄存器为中断允许寄存器,如各位的作⽤如图4.其中第7位EA是51单⽚机5个中断的总开关,如要进⼊任何⼀个中断时,需先把EA打开,因为可以进⾏位操作,此时程序有两种写法:1)IE=0x80(假如其它位为0,即1000 0000),也可以直接写EA=1,后者EA=1即属于位操作。
51单片机特殊功能寄存器

51单片机特殊功能寄存器一、中断控制寄存器IE功能解释:1、EA:中断总开关,如果它等于0,则所有中断不允许。
2、X:无效位;3、ET2:定时器2中断允许;4、ES:串行口中断允许;5、ET1:定时器1中断允许;6、EX1:外部中断1中断允许;7、ET0:定时器0中断允许;8、EX0:外部中断0中断允许;二、中断标志及外部中断方式选择寄存器TCON功能解释1、TF1:定时器/计数器1(T1)的溢出中断标志。
当T1从初值开始加1计数到计数满,产生溢出时,由硬件使TF1置“1”,直到CPU响应中断时有硬件复位;2、TR1:T1的运行控制位,该位置1或清0用来实现启东计数或停止计数;3、TF0:定时器/计数器0(T0)的溢出标志位,其作用同TF1;4、TR0:T0的运行控制位,该位置1或清0用来实现启东计数或停止计数;5、IE1:外部中断1中断请求标志位,如果IT1 = 1,则外部中断1引脚P3.1上的电平有1变0时,IE1由硬件置位,外部中断1请求中断。
在CPU响应该中断时由硬件清0;6、IT1:外部中断源1触发方式控制位,边沿/电平触发模式。
7、IE0:外部中断0中断请求标志位,功能同IE1;8、IT0:外部中断源0触发方式控制位,边沿/电平触发模式。
三、定时器方式控制寄存器TMOD高4位(D7-D4)用于定时器1,低四位(D3-D0)用于定时器0;1、Gate:定时器/计数器运行控制位,用来确定外部中断请求引脚(INT0,INT1)是否参与T0或T1的操作控制。
当Gate=0时,只要定时器控制寄存器TCON中的TR0(或TR1)被置1时,T0(或T1)被允许开始计数;当Gate=1时,不仅要TCON中的TR0或TR1置位,还需要P3口的P3.2或P3.3引脚为高电平,才允许计数;2、C/T:定时器方式或计数器方式选择位。
C/T = 1时,为计数器方式;C/T = 0时为定时器模式。
3、M1,M0:定时器四种工作方式选择位:4、四、UART控制寄存器SCON功能解释:1、SMO,SM1:串行口操作方式选择位,两个选择位对应四种状态。
51系列单片机寄存器详解

AUXR:辅助寄存器字节地址=8EH,不可位寻址- - - WDIDLE DISRTO - - DISALEWDIDLE:WTD在空闲模式下的禁止/允许位当WDIDLE=0时,WDT在空闲模式下继续计数当WDIDLE=1时,WDT在空闲模式下暂停计数DISRTO:禁止/允许WDT溢出时的复位输出当DISRTO=0时,WDT定时器溢出时,在RST引脚输出一个高电平脉冲当DISRT0=1时,RST引脚为输入脚DISALE :ALE禁止/允许位当DISALE=0时,ALE有效,发出恒定频率脉冲当DISALE=1时,ALE仅在CPU执行MOVC和MOVX类指令时有效,不访问外寄存器时,ALE不输出脉冲信号AUXR1:辅助寄存器1字节地址A2,不可位寻- - - -- - - DPSDPS:数据指针寄存器选择位当DPS=0时,选择数据指针寄存器DPRT0DPRT1时,选择数据指针寄存器DPS 当=PSW:程序状态字CY——进位标记AC——半进位标记F0——用户设定标记RS1、RS0——4个工作寄存器区的选择位。
VO——溢出标记P——奇偶校验标记PCON:电源控制器及波特率选择寄存器字节地址=87H,不可位寻址SMOD - - POF GF1 GF0 PD IDLSMOD——波特率倍增位GF1、GF0——用户通用标记PD——掉电方式控制位,PD=1时进入掉电模式IDL——空闲方式控制位,IDL=1时进入空闲方式在AT89S51中PCON.4是电源断电标记位POF,上电是为1IE:中断允许控制寄存器EA:中断允许总控制位当EA=0时,中断总禁止。
当EA=1时,中断总允许后中断的禁止与允许由各中断源的中断允许控制位进行设置。
EX0( EX1):外部中断允许控制位当EX0( EX1)=0 禁止外中断当EX0( EX1)=1 允许外中断ET0(EX1):定时/计数中断允许控制位当ET0(ET1)=0 禁止定时(或计数)中断当ET0(ET1)=1 允许定时(或计数)中断ET2:定时器2中断允许控制位,在AT89S52、AT89C52中ES:串行中断允许控制位当ES=0 禁止串行中断当ES=1 允许串行中断IP:中断优先级控制寄存器PX0——外部中断0优先级设定位PT0——定时中断0优先级设定位PX1——外部中断1优先级设定位PT1——定时中断1优先级设定位PS——串口中断优先级设定位优先级设定位2PT2——定时器SCON:串行口控制寄存器SM0、SM1:串行口工作方式选择位SM2:多机通信控制位REN:允许/禁止串行口接收的控制位TB8:在方式2和方式3中,是被发送的第9位数据,可根据需要由软件置1或清零,也可以作为奇偶校验位,在方式1中是停止位。
51单片机中的21个寄存器

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 的工作模式,次低位和最低位控制对应定时/计数器的工作模式;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AUXR:辅助寄存器字节地址=8EH,不可位寻址- - - WDIDLE DISRTO - - DISALEWDIDLE:WTD在空闲模式下的禁止/允许位当WDIDLE=0时,WDT在空闲模式下继续计数当WDIDLE=1时,WDT在空闲模式下暂停计数DISRTO:禁止/允许WDT溢出时的复位输出当DISRTO=0时,WDT定时器溢出时,在RST引脚输出一个高电平脉冲当DISRT0=1时,RST引脚为输入脚DISALE :ALE禁止/允许位当DISALE=0时,ALE有效,发出恒定频率脉冲当DISALE=1时,ALE仅在CPU执行MOVC和MOVX类指令时有效,不访问外寄存器时,ALE不输出脉冲信号AUXR1:辅助寄存器1字节地址A2,不可位寻- - - -- - - DPSDPS:数据指针寄存器选择位当DPS=0时,选择数据指针寄存器DPRT0DPRT1时,选择数据指针寄存器DPS 当=PSW:程序状态字CY——进位标记AC——半进位标记F0——用户设定标记RS1、RS0——4个工作寄存器区的选择位。
VO——溢出标记P——奇偶校验标记PCON:电源控制器及波特率选择寄存器字节地址=87H,不可位寻址SMOD - - POF GF1 GF0 PD IDLSMOD——波特率倍增位GF1、GF0——用户通用标记PD——掉电方式控制位,PD=1时进入掉电模式IDL——空闲方式控制位,IDL=1时进入空闲方式在AT89S51中PCON.4是电源断电标记位POF,上电是为1IE:中断允许控制寄存器EA:中断允许总控制位当EA=0时,中断总禁止。
当EA=1时,中断总允许后中断的禁止与允许由各中断源的中断允许控制位进行设置。
EX0( EX1):外部中断允许控制位当EX0( EX1)=0 禁止外中断当EX0( EX1)=1 允许外中断ET0(EX1):定时/计数中断允许控制位当ET0(ET1)=0 禁止定时(或计数)中断当ET0(ET1)=1 允许定时(或计数)中断ET2:定时器2中断允许控制位,在AT89S52、AT89C52中ES:串行中断允许控制位当ES=0 禁止串行中断当ES=1 允许串行中断IP:中断优先级控制寄存器PX0——外部中断0优先级设定位PT0——定时中断0优先级设定位PX1——外部中断1优先级设定位PT1——定时中断1优先级设定位PS——串口中断优先级设定位优先级设定位2PT2——定时器SCON:串行口控制寄存器SM0、SM1:串行口工作方式选择位SM2:多机通信控制位REN:允许/禁止串行口接收的控制位TB8:在方式2和方式3中,是被发送的第9位数据,可根据需要由软件置1或清零,也可以作为奇偶校验位,在方式1中是停止位。
RB8:在方式2和方式3中,是被接收的第9位数据(来自第TB8位);在方式1中,RB8收到的是停止位,在方式0中不用。
TI——串行口发送中断请求标志位当发送完一帧串行数据后,由硬件置1;在转向中断服务程序后,用软件清0。
——串行口接收中断请求标志位RI.。
01;在转向中断服务程序后,用软件清当接收完一帧串行数据后,由硬件置T2CON:定时器控制寄存器TF2:T2溢出标记当T2溢出时TF2=1,TD2只能用软件清除当RCLK=1或TCLK=1时,TF2将不置位EXF2:T2外部标记当EXEN2=1时,T2EX/P1.1引脚上的负跳变引起T2的捕捉/重装操作,此时EXF2=1。
在T2中断允许时,EXF2=1将引起中断,EXF2只能用软件清除。
在T2的向上、向下计数模式下(DCEN=1)EXF2的置位将不引起中断。
RCLK:接收时钟允许当RCLK=1时,T2的溢出脉冲可用作串行口的接收时钟信号,适于串行口模式1、3当RCLK=0时,T1的溢出脉冲用作串行口接收时钟信号TCLK:发送时钟允许EXEN2:T2外部事件(引起捕捉/重装的外部信号)允许当EXEN2=1时,如果T2没有作串行时钟输出(即RCLK+TCLK=0),则在T2EX/P1.1引脚跳变将引起T2的捕捉/重装操作;当EXEN2=0时,在T2EX引脚的负跳变将不起作用TR2:T2的启动/停止控制C/T2:计数定时CP/RL2:捕捉/重装选择当CP/RL2=1且EXEN2=1时,T2EX/P1.1引脚的负跳变将引起捕捉操作当CP/RL2=0且EXEN2=1时,T2EX/P1.1引脚的负跳变将引起重装操作当CP/RL2=0且EXEN2=0时,T2的溢出将引起T2的自动重装操作当RCLK+TCLK=1时,CP/RL2控制位不起作用,T2被强制工作于重装方式。
重装方式发生于T2溢出时,常用来作波特率发生器。
TMOD:工作方式控制寄存器GATE——门控位当=0时,以TR0(或TR1)状态决定定时器/计数器的启动或禁止当=1时,以TR0与INT0(或TR1与INT1)状态决定定时器/计数器的启动或禁止C/T=0 定时/计数工作方式选择位 0为定时器 1为计数器。
M1M0——工作方式选择位M1M0=00 方式0:是13位计数结构的工作方式,其计数器由TH全部8位和TL的低位构成。
5M1M0=01 方式1:是16位计数结构的工作方式,计数器由TH全部8位和TL全部8位构成。
位计数器。
:自动装入8 方式2M1M0=10M1M0=11 方式3:定时器/计数器0被拆成两个独立的8位计数器TL0和TH0。
其中的各控制位和引脚信号全归它使用。
计数器0TL0既可以计数使用,又可以定时使用,定时器/T2MOD:工作方式控制寄存器寄存器地址0C9H,不可位寻址------ T2OE DCENT2OE:定时器2输出允许位,当=1时,P1.0/T2引脚输出连续脉冲信号DCEN:当=1时,T2配置成向上向下计数器P3口的代替功能寄存器地址B0H,位寻址B7H~B0H。
引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7代替功能 RXD TXD /INT0 /INT1 T0 T1 /WR /RDTCON:定时器控制寄存器TF0(TF1)——计数溢出标志位,当计数器计数溢出时,该位置1。
TR0(TR1)——定时器运行控制位当TR0(TR1)=0 停止定时器/计数器工作当TR0(TR1)=1 启动定时器/计数器工作IE0(IE1)——外中断请求标志位当CPU采样到P3.2(P3.3)出现有效中断请求时,此位由硬件置1。
在中断响应完成后转向中断服务时,再由硬件自动清0。
IT0(IT1)——外中断请求信号方式控制位当IT0(IT1)=1 脉冲方式(后沿负跳有效)当IT0(IT1)=0 电平方式(低电平有效)此位由软件置1或清0。
TF0(TF1)——计数溢出标志位当计数器产生计数溢出时,此位由硬件置1。
当转向中断服务时,再有硬件自动清0。
计数溢出的标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用。
一、10MS定时器初值的计算:12M晶振1.12MHz除12为1MHz,也就是说一秒=1000000次机器周期。
10ms=10000次机器周期。
65536-10000=55536(d8f0)TH0=0xd8,TL0=0xf02.晶振11.0592M11.0592MHz除12为921600Hz,就是一秒921600次机器周期,10ms=9216次机器周期。
65536-9216=56320(dc00)TH0=0xdc,TL0=0×00二、50MS定时器初值的计算:1.晶振12M12MHz除12为1MHz,也就是说一秒=1000000次机器周期。
50ms=50000次机器周期。
65536-50000=15536(3cb0)TH0=0×3c,TL0=0xb02.晶振11.0592M11.0592MHz除12为921600Hz,就是一秒921600次机器周期,50ms=46080次机器周期。
65536-46080=19456(4c00)TH0=0×4c,TL0=0×00三、使用说明以12M晶振为例:每秒钟可以执行1000000次机器周期个机器周期。
而T 每次溢出最多65536 个机器周期。
我们尽量应该让溢出中断的次数最少(如50ms),这样对主程序的干扰也就最小。
有关中断的概念.仔细研什么叫中断?举例:同学正在教室写作业,忽然被人叫出去,回来后,继续写作业这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。
引入计算机中断的概念。
中断的作用:处理断电保存,解决快速CPU与慢速外设之间的矛盾等。
对MCS-51单片机的中断系统用一句话讲叫:“五源中断,两级管理”中断请求源(五源中断)五个中断源:外部中断0(/INT0) 0003HT0溢出中断 000BH外部中断1(/INT1) 0013HT1溢出中断 001BH串口中断入口地址 0023H有了中断请求,如何通知CPU?通过中断请求标志位来通知CPU。
研究一下生活中的中断,对于我们学习单片机的中断也很有好处。
第一、什么可以引起中断,生活中很多事件可以引起中断:有人按了门铃了,电话铃响了,你的闹钟闹响了,你烧的水开了….等等诸如此类的事件,我们把可以引起中断的称之为中断源,单片机中也有一些可以引起中断的事件,8031中一共有5个:两个外部中断,两个计数/定时器中断,一个串行口中断。
第二、中断的嵌套与优先级处理:设想一下,我们正在看书,电话铃响了,同时又有人按了门铃,你该先做那样呢?如果你正是在等一个很重要的电话,你一般不会去理会门铃的,而反之,你正在等一个重要的客人,则可能就不会去理会电话了。
如果不是这两者(即不等电话,也不是等人上门),你可能会按你通常的习惯去处理。
总之这里存在一个优先级的问题,单片机中也是如此,也有优先级的问题。
优先级的问题不仅仅发生在两个中断同时产生的情况,也发生在一个中断已产生,又有一个中断产生的情况,比如你正接电话,有人按门铃的情况,或你正开门与人交谈,又有电话响了情况。
考虑一下我们会怎么办吧。
第三、中断的响应过程:当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不同的事情(因为处理完了,我们还要回来继续看书):电话铃响我们要到放电话的地方去,门铃响我们要到门那边去,也说是不同的中断,我们要在不同的地点处理,而这个地点通常还是固定的。
计算机中也是采用的这种方法,五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程序。
具体地说,中断响应可以分为以下几个步骤:、保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。