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 的工作模式,次低位和最低位控制对应定时/计数器的工作模式;。
51单片机寄存器详解
51单⽚机寄存器详解定时⽅式寄存器TMOD(地址89H);TMOD被分成两部份,每部份4位。
分别⽤于控制T1和T0。
GATE C/TM1M0GATE C/TM1M01. M1、M0:定时/计数器的⼯作⽅式1. ⼯作⽅式0:13位定时/计数⽅式(8192)。
2. ⼯作⽅式1:16位定时/计数⽅式(65536)。
3. ⼯作⽅式2和⼯作⽅式3, 8位的定时/计数⽅式(256)。
2. 如果C/T为0就是⽤作定时器,如果C/T为1就是⽤作计数器。
3. 门控位GATE(GATE=0与INT0⽆关,GATE=1与INT0有关):1. GATE=0,定时/计数是否⼯作,只取决于TR1。
2. GATE=1,不仅由TR1来控制,⽽且还要受到INT1引脚的控制,只有TR1为1,且INT1引脚也是⾼电平,计数脉冲才得以通过。
定时/计数器控制寄存器TCON(地址88H):定时/计数器外中断TF1TR1TF0TRO IE1IT1IE0IT0TF1/TF0 -定时/计数器溢出标志位。
TR1/TR0 -定时/计数器运⾏控制位。
置位时定时/计数器开始运⾏。
IE1/IE0 -外部中断(INTx)标志位。
IE1/IE0=1是INTx上有中断;IE1/IE0=0硬件复位。
IT1/IT0 -外中断触发类型控制位。
IT1/IT0=1时是下降沿触发中断;IT1/IT0=0时是低电平触发中断。
中断系统:中断允许寄存器IEEA X ET2ES ET1EX1ET0EX0EA -中断总开关,如果它等于0,则所有中断都不允许。
ES -串⾏⼝中断允许ET1-定时器1中断允许EX1-外中断1中断允许ET2-定时器2中断允许ET0-定时器0中断允许EX0-外中断0中断允许中断优先级控制寄存器IPX X PT2PS PT1PX1PT0PX0PT2-T2中断优先控制PS -串⼝中断优先控制PT1-T1中断优先控制PX1-INT1中断优先控制PT0-T0中断优先控制PX0-INT0中断优先控制串⾏通信:串⾏⼝控制寄存器SCON(地址为98H)SM0SM1SMRENTB8RB8TI RISM0、SM1:串⾏⼝⼯作⽅式选择位,其定义如下:SM0、SM1⼯作⽅式功能描述波特率00⽅式08位移位寄存器Fosc/1201⽅式110位UART可变10⽅式211位UART Fosc/64或fosc/3211⽅式311位UART可变其中fosc为晶振频率SM2:多机通讯控制位。
51单片机部分寄存器介绍
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单片机寄存器集(包括所有的寄存器位的详细介绍)
(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单片机系列寄存器说明
MSC-51内部寄存器0F0H: *B (B寄存器)说明:X、Y俩无符号8位数相乘,16位积低字节放在X,高字节放在Y;X除Y,商的整数在X,余数在Y。
0E0H: *A (累加器)说明:数据中转,判断等。
0D0H: *PSW (程序状态字)说明:位位地址位功能0 D0 P:累加器A中数据奇偶标志位,1的个数为奇,P=1。
1 D1 -: 未用,可由用户自己定义2 D2 OV:溢出标志位,有溢出OV=1。
3 D3 RS0:寄存器选择低位。
RS1 RS0=00(0区首地址00H),RS1 RS0=01(1区首地址08H)。
4 D4 RS1:寄存器选择高位。
RS1 RS0=10(2区首地址10H),RS1 RS0=11(3区首地址18H)。
5 D5 F0:用户标志位6 D6 AC:半进位标志,操作结果低四位向高四位进、借位时,AC=1。
7 D7 CY:进位标志位,操作结果向最高位有进、借位时,CY=1。
0B8H: *IP (中断优先级控制)说明:位位地址位功能如下0 B8 PX0:确定外部中断INT0优先级别,1=高,0=低。
1 B9 PT0:确定定时器T0优先级别。
2 BA PX1:确定外部中断INT1优先级别。
3 BB PT1:确定定时器T1优先级别。
4 BC PS: 确定串行口优先级别。
5 BD PT2:确定T2优先级别。
(仅8052/32有)6 BE - : 未用7 BF -: 未用0B0H: *P3 (P3口,双向I/O口,有第二功能)说明;位位地址位第一功能位第二功能0 B0 P3.0 RXD:串入口1 B1 P3.1 TXD:串出口2 B2 P3.2 /INT0:外部中断0入3 B3 P3.3 /INT1:外部中断1入4 B4 P3.4 T0:外计数脉冲T0入5 B5 P3.5 T1: 外计数脉冲T1入6 B6 P3.6 /WR:外RAM写选通脉冲出7 B7 P3.7 /RD:外RAM读选通脉冲出0A8H: *IE (中断允许控制)说明:位位地址位功能如下0 A8 EX0:外部0中断,1=允许,0=禁止。
51单片机寄存器 详解
一、TMOD工作方式寄存器工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。
其格式如下:GATE:门控位。
GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;:定时/计数模式选择位。
=0为定时模式;=1为计数模式。
M1M0:工作方式设置位。
定时/计数器有四种工作方式,由M1M0进行设置。
二、TCON定时/计数器控制寄存器TCON的低4位用于控制外部中断。
TCON的高4位用于控制定时/计数器的启动和中断申请。
其格式如下:▪TF1(TCON.7):T1溢出中断请求标志位。
T1计数溢出时由硬件自动置TF1为1。
CPU 响应中断后TF1由硬件自动清0。
T1工作时,CPU可随时查询TF1的状态。
所以,TF1可用作查询测试的标志。
TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。
▪TR1(TCON.6):T1运行控制位。
TR1置1时,T1开始工作;TR1置0时,T1停止工作。
TR1由软件置1或清0。
所以,用软件可控制定时/计数器的启动与停止。
▪TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。
▪TR0(TCON.4):T0运行控制位,其功能与TR1类同。
三、IE中断允许寄存器CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。
▪ET0(IE.1),定时/计数器T0中断允许位;▪EX1(IE.2),外部中断0允许位;▪ET1(IE.3),定时/计数器T1中断允许位;▪ES(IE.4),串行口中断允许位;▪EA (IE.7),CPU中断允许(总允许)位。
▪EX0(IE.0),外部中断0允许位;四、51单片机共5个中断源0. INT0:外部中断0,由P3.2端口引入,低电平或下降沿引起。
1. T0:定时器0(计数器0)中断,由T0计数器计满引起。
2. INT1:外部中断1,由P3.3端口引入,低电平或下降沿引起。
51系列单片机常用内部寄存器结构详细说明
bit0 RI
PCON结构 PCON结构:电源控制寄存器 结构 位 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 位名称 SMOD GF1 GF0 PD IDL SMOD:SMOD是串行口波特率倍增位,若SMOD=0; 串口方式1,2,3时,波特率正常。若 SMOD=1,则串行口通信速率按设定速率翻倍. GF1,GF0:两个通用工作标志位,用户可以自由使用 PD:掉电模式设定位;PD=0单片机处于正常工作状态;PD=1 单片机进入掉电(Power Down)模式 ,可由外部中断或硬件复位模式唤醒,进入掉电模式后,外部晶振停振,CPU 、定时器、串行口全部停止工作,只有外部中断工作。 IDL:空闲模式设定位;IDL=0 单片机处于正常工作状态;IDL=1 单片机进入空闲(Idle)模式, 除CPU不工作外,其余仍继续工作,在空闲模式下可由任一个中断或硬件复位唤醒。
bit1 ET0
bit0 EX0
IP结构: IP结构:中断优先寄存器 结构 位 bit7 bit6 位名称 * *
bit5 *
bit4 PS
bit3 PT1
bit2 PX1
bit1 PT0
bit0 PX0
PS:串行IO中断优先级控制位,PS=1,高优先级;PS=0,低优先级; PT1:定时/计数器1优先级控制位,1为高俦优先级,0为低优先级; PX1:外中断1中断优先级控制位,1为高俦优先级,0为低优先级; PT0:定时/计数器0优先级控制位,1为高俦优先级,0为低优先级; PX0:外中断0中断优先级控制位,1为高俦优先级,0为低优先级; 默认中断响应的顺序:INT0>T0>INT1>T1>RI/TI
TCON结构 用于控制定时/计数器的启动和中断申请; 位控制定时器, TCON结构 : 用于控制定时/计数器的启动和中断申请;高4位控制定时器,低4位控制中断 机制位,可位寻址; 机制位,可位寻址; 位 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 位名称 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF0:分别是T0溢出标志位,中断响应后硬件自动清零,禁止中断时要软件清零. TF1:分别是T1溢出标志位,中断响应后硬件自动清零,禁止中断时要软件清零. TR0:分别是T0的运行控制位,为1时运行,为0时停止运行. TR1:分别是T1的运行控制位,为1时运行,为0时停止运行. IE0:分别是INT0的中断标志位,响应中断后硬件自动清零,不需要软件干预. IE1:分别是INT1的中断标志位,响应中断后硬件自动清零,不需要软件干预. IT0:分别描述了INT0的触发方式,0为电平触发,1为脉冲触发。 IT1:分别描述了INT1的触发方式,0为电平触发,1为脉冲触发。
51单片机寄存器详解
定时器/计数器的方式寄存器TMODTMOD是一个8位的特殊功能寄存器,对应的地址是89H,不可位寻址。
TMOD:工作方式控制寄存器寄存器地址89H,不可位寻址。
位序 B7 B6 B5 B4 B3 B2 B1 B0位符号GATE C/T M1 M0 GATE C/T M1 M0GATE——门控位当=0时,以运行TR0(或TR1)启动或禁止定时器、计数器当=1时,以TR0*/INT0(或TR1*/INT1)启动或禁止定时器、计数器GATE=0 以TR0(TR1)启动定时器GATE=1 以INT0(INT1)启动定时器C/T=0 定时/计数工作方式选择位M1M0——工作方式选择位T2MOD:工作方式控制寄存器寄存器地址0C9H,不可位寻址------T2OE DCENT2OE:定时器2输出允许位,当=1时,P1.0/T2引脚输出连续脉冲信号DCEN:当=1时,T2配置成向上向下计数器A 主要完成三个功能:*确T0计数溢出标志位当计数器计数溢出时,该位置“1”。
使用查询方式时,此位作为状态位供cpu查询,但应注意在查询该位有效后应以软件方法及时将该位清“0”。
使用中断方式时,此位作为中断申请标志位,进入中定选择定时器还是计数器;*选择何种工作方式;*是否借用外中断控制定时器和计数器的启停;B TMOD的低4位是控制T0的字段(T0--P3.4 定时器/计数器0外部事件脉冲输入端)TMOD的高4位是控制T1的字段(T1--P3.5定时器/计数器1外部事件脉冲输入端)C 控制字的格式和含义a、 GATE(TMOD.7)分为两种情况:GATE=0,定时器的启停和INT1无关,只取决于TR0;GATE=1,定时器的启停不仅要由TR0来控制,而且要INT1引脚的控制,只有二者都为高电平时定时器才开始工作; b、 C/T(TMOD.6) 分为两种情况:C/T=0,用作定时器;C/T=1,用作计数器; d、 M1(TMOD.5),M0(TMOD.4)用M1,M0来控制定时器/计数器的4种工作方式:*方式0:M1=0,M0=0.13位定时/计数方式*方式1:M1=0,M0=1.16位定时/计数器*方式2,M1=1,M0=0.8位初值自动重新装入的8位定时/计数器*方式3,M1=1,M0=1.仅适用于T0,分为两个8位计数器,T1停止计数定时器/计数器控制寄存器TCONTCON是一个8位的特殊功能寄存器,对应的地址为88H,可为寻址。
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:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。
这样就没事了。
有进、借位,CY=1;无进、借位,CY=0例:78H+97H(01111000+10010111)AC:辅助进、借位(高半字节与低半字节间的进、借位)。
51单片机寄存器详解
定时器/计数器的方式寄存器TMODTMOD是一个8位的特殊功能寄存器,对应的地址是89H,不可位寻址。
TMOD:工作方式控制寄存器寄存器地址89H,不可位寻址。
位序 B7 B6 B5 B4 B3 B2 B1 B0位符号GATE C/T M1 M0 GATE C/T M1 M0GATE——门控位当=0时,以运行TR0(或TR1)启动或禁止定时器、计数器当=1时,以TR0*/INT0(或TR1*/INT1)启动或禁止定时器、计数器GATE=0 以TR0(TR1)启动定时器GATE=1 以INT0(INT1)启动定时器C/T=0 定时/计数工作方式选择位M1M0——工作方式选择位T2MOD:工作方式控制寄存器寄存器地址0C9H,不可位寻址------T2OE DCENT2OE:定时器2输出允许位,当=1时,P1.0/T2引脚输出连续脉冲信号DCEN:当=1时,T2配置成向上向下计数器A 主要完成三个功能:*确T0计数溢出标志位当计数器计数溢出时,该位置“1”。
使用查询方式时,此位作为状态位供cpu查询,但应注意在查询该位有效后应以软件方法及时将该位清“0”。
使用中断方式时,此位作为中断申请标志位,进入中定选择定时器还是计数器;*选择何种工作方式;*是否借用外中断控制定时器和计数器的启停;B TMOD的低4位是控制T0的字段(T0--P3.4 定时器/计数器0外部事件脉冲输入端)TMOD的高4位是控制T1的字段(T1--P3.5定时器/计数器1外部事件脉冲输入端)C 控制字的格式和含义a、 GATE(TMOD.7)分为两种情况:GATE=0,定时器的启停和INT1无关,只取决于TR0;GATE=1,定时器的启停不仅要由TR0来控制,而且要INT1引脚的控制,只有二者都为高电平时定时器才开始工作; b、 C/T(TMOD.6) 分为两种情况:C/T=0,用作定时器;C/T=1,用作计数器; d、 M1(TMOD.5),M0(TMOD.4)用M1,M0来控制定时器/计数器的4种工作方式:*方式0:M1=0,M0=0.13位定时/计数方式*方式1:M1=0,M0=1.16位定时/计数器*方式2,M1=1,M0=0.8位初值自动重新装入的8位定时/计数器*方式3,M1=1,M0=1.仅适用于T0,分为两个8位计数器,T1停止计数定时器/计数器控制寄存器TCONTCON是一个8位的特殊功能寄存器,对应的地址为88H,可为寻址。
51单片机常用寄存器详解
P0 = 0x80;P1 = 0x90;P2 = 0xA0;P3 = 0xB0;PSW = 0xD0;PSW寄存器,全称——程序状态字标志寄存器,是一个8位寄存器。
该寄存器用来存放运算结果的一些特征,如有无进位、借位等。
使用汇编编程是PSW寄存器很有用,但在C语言编程时,编译器会自动控制该寄存器,很少人为操作,仅作了解即可。
D7 D6 D5 D4 D3 D2 D1 D0CY AC F0 RS1 RS0 OV —— P①CY——进位标志位,他表示运算是否有进位(或借位)。
如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0.②AC——辅助进位标志,又称半进位标志,它指两个8位数运算低四位是否有半进位,即低四位相加(或相减)是否进位(或借位),如有AC为1,否则为0.③F0——由用户使用的一个状态标志位,可用软件来使它置1或清0,也可由软件来测试它,以控制程序的流向。
④RS1、RS0——四组工作寄存器选择控制位,在汇编语言中这两位用来选择4组工作寄存器区中的哪一组为当前工作寄存区。
⑤OV——溢出标志位,反应带符号数的运算结果是否有溢出。
有溢出时,此位为1,否则为0.⑥P——奇偶标志位,反应累加器ACC内容的奇偶性,如果ACC内中的运算结果有偶数个1,则P为0,否则为1.ACC = 0xE0;B = 0xF0;SP = 0x81;DPL = 0x82;DPH = 0x83;PCON = 0x87;电源管理寄存器,不能位寻址。
PCON用来管理单片机的电源部分,包括上电复位检测、掉电模式、空闲模式等。
单片机复位时PCON全部被清0.为序号D7 D6 D5 D4 D3 D2 D1 D0位符号SMOD SMOD0 LVDF P0F GF1 GF0 PD IDL①SMOD——该位与串口通信波特率有关。
SMOD=0:串口方式为1、2、3时,波特率正常。
SMOD=1:串口方式为1、2、3时,波特率加倍。
- 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个:两个外部中断,两个计数/定时器中断,一个串行口中断。
第二、中断的嵌套与优先级处理:设想一下,我们正在看书,电话铃响了,同时又有人按了门铃,你该先做那样呢?如果你正是在等一个很重要的电话,你一般不会去理会门铃的,而反之,你正在等一个重要的客人,则可能就不会去理会电话了。
如果不是这两者(即不等电话,也不是等人上门),你可能会按你通常的习惯去处理。
总之这里存在一个优先级的问题,单片机中也是如此,也有优先级的问题。
优先级的问题不仅仅发生在两个中断同时产生的情况,也发生在一个中断已产生,又有一个中断产生的情况,比如你正接电话,有人按门铃的情况,或你正开门与人交谈,又有电话响了情况。
考虑一下我们会怎么办吧。
第三、中断的响应过程:当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不同的事情(因为处理完了,我们还要回来继续看书):电话铃响我们要到放电话的地方去,门铃响我们要到门那边去,也说是不同的中断,我们要在不同的地点处理,而这个地点通常还是固定的。
计算机中也是采用的这种方法,五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程序。
具体地说,中断响应可以分为以下几个步骤:、保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。