当前位置:文档之家› 51系列单片机寄存器详解

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中是停止位。

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个:两个外部中断,两个计数/定时器中断,一个串行口中断。

第二、中断的嵌套与优先级处理:设想一下,我们正在看书,电话铃响了,同时又有人按了门铃,你该先做那样呢?如果你正是在等一个很重要的电话,你一般不会去理会门铃的,而反之,你正在等一个重要的客人,则可能就不会去理会电话了。

如果不是这两者(即不等电话,也不是等人上门),你可能会按你通常的习惯去处理。

总之这里存在一个优先级的问题,单片机中也是如此,也有优先级的问题。

优先级的问题不仅仅发生在两个中断同时产生的情况,也发生在一个中断已产生,又有一个中断产生的情况,比如你正接电话,有人按门铃的情况,或你正开门与人交谈,又有电话响了情况。

考虑一下我们会怎么办吧。

第三、中断的响应过程:当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不同的事情(因为处理完了,我们还要回来继续看书):电话铃响我们要到放电话的地方去,门铃响我们要到门那边去,也说是不同的中断,我们要在不同的地点处理,而这个地点通常还是固定的。

计算机中也是采用的这种方法,五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程序。

具体地说,中断响应可以分为以下几个步骤:、保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。

相关主题