中断寄存器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、中断序号
二、IE(interrupt enable)中断允许寄存器(可以位寻址)
只有打开全局开关,其它各位的开关才可以开启。每个位开关赋值为1则开,赋值为0则关。
使用方法:(1)整体赋值:如IE=0x81;(开启全局中断,打开外部中断0)
(2)、单独赋值:如EA=1;EX0=1;(开启全局中断,打开外部中断0)
三、IP中断优先级控制寄存器(可位寻址)
四 PCON电源控制寄存器(只能字节寻址,不能位寻址)
SMOD:波特率加倍位,该位与串口通信有关。
POF:掉电标志位。
GF1,GF0:两个通用工作标志位,用户可以自由使用。
PD:掉电模式设定位。
●PD=0 单片机处于正常工作状态。
●PD=1 单片机进入掉电(Power Down)模式,可由外部中断或硬件复位模式唤醒,
进入掉电模式后,外部晶振停振,CPU、定时器、串行口全部停止工作,只有外部
中断工作。在该模式下,只有硬件复位和上电能够唤醒单片机。
IDL:空闲模式设定位。
●IDL=0 单片机处于正常工作状态。
●IDL=1 单片机进入空闲(Idle)模式,除CPU不工作外,其余仍继续工作,在空闲
模式下可由任一个中断或硬件复位唤醒。
五 TCON(Timer Control Register)定时器/计数器控制寄存器(可位寻址)
TF1:定时器1溢出标志位。
●当定时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。进入中断服务程序
后,由硬件自动清“0”,在查询方式下用软件清“0”。
TR1:定时器1运行控制位。
●由软件清“0”关闭定时器1。当GATE=1,且INT1为高电平时,TR1置“1”启动定时器
1;当GATE=0,TR1置“1”启动定时器1。
TF0:定时器0溢出标志。其功能及操作情况同TF1。
TR0:定时器0运行控制位。其功能及操作情况同TR1。
IE1:外部中断1请求标志位。发生中断后由硬件置1,响应中断后由硬件清零。
IT1:外部中断1触发方式选择位。
●当IT1=0,为低电平触发方式;
●当IT1=1,为下降沿触发方式。
IE0:外部中断0请求标志位。发生中断后由硬件置1,响应中断后由硬件清零。
IT0:外部中断0触发方式选择位。与IT1一样。
六、SCON(SerialControlRegister)串行口控制寄存器(可位寻址)
SM0、SM1——串行口工作方式控制位,有方式0、1、2、3,共四种。
SM2——多机通信控制位,用于控制单机通信还是多机通信。
●工作于方式0时,SM2不起作用。
●工作于方式1时,若SM2为0,不论停止位是什么,数据都送入SBUF,且发出中断
申请。
●工作于方式1时,若SM2为1,只有停止位是1时,数据才送入SBUF,且发出中断
申请。否则收到的数据放弃。
●在方式2或3时,当SM2为1时,且接受到的第9位数据RB8为1时,才把接受到
的前8位数据送入SBUF,且置位RI发出中断申请,否则将收到的数据放弃。
●在方式2或3时,当SM2=0时,不管第9位是什么,接受的前8为都送入SBUF,
且发出中断申请。
REN——允许接收位。REN=1时,允许接收,REN=0时,禁止接收。
TB8——发送接收数据位8。
RB8——接收数据位8。
TI——发送中断标志位,可寻址标志位。方式0时,发送完第8位数据后,由硬件置位。因此,TI=1表示帧发送结束,TI可由软件清“0”。
RI——接收中断标志位,可寻址标志位。接收完第8位数据后,该位由硬件置位,RI=1表示帧接收完成,RI可由软件清“0”。
在串口中断处理时,TI ,RI 都需要软件清"0",硬件置位后不可能自动清0,此外,在进行缓冲区操作时,需要在中断寄存器IE 中设置ES=0,以防止中断出现。
四种工作方式:根据SM0,SM1的不同值,组成四种工作方式。 (1)方式0(SM0SM1:00):串行口的工作方式0为移位寄存器I/O 方式,可外接移位寄存器,扩展I/O 口,也可外接同步I/O 设备。波特率=/12osc f 。
● 发送操作:当启动发送操作时,由TXD 输出移位脉冲,由RXD 串行SBUF 中的数据。
发送完8位数据后自动置TI=1,请求中断。要继续发送时,TI 必须有指令清零。 ● 接收操作:REN 是串行口接收允许控制位。当软件将REN 置“1”时,即开始从RXD
端口以fosc/12波特率输入数据,当接收到8位数据时,将中断标志RI 置“1”。再次接收数据之前,必须用软件将RI 清0。 (2)方式1(01):串行口位10位通用异步接口,波特率=SMOD 2/12(1)⨯定时器溢出率。
●
8位UART 接口。
● 帧结构为10位,包括起始位(为0),8位数据位,1位停止位。 ● 波特率由指令设定,由T1的溢出率决定。
●
接收操作:在(REN )=1时,串行口采样RXD 引脚,当采样到1至0的跳变时,确认是开始位0,就开始接收一帧数据。当SM2=0时,只要RI=0,不论停止位是1或0,停止位都进入RB8,并由硬件置位中断标志RI 。当SM2=1时,只有当RI=0且停止位为1时,停止位才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志RI ;否则信息丢失。所以在方式1接收时,应先用软件清零RI 和SM2标志。
(3)方式2(10):串行口为11位异步通信接口,波特率=SMOD 2/64fosc ⨯。
(4)方式3(11):为波特率可变的11位异步通信方式,除了波特率可变外,其余方式都与方式2相同。波特率=SMOD 2/32(1)⨯定时器溢出率
方式2和方式3具有多机通信功能,这两种方式除了波特率不同以外,其余完全相同。 ● 9位UART 接口。
● 帧结构为11位,包括起始位(为0)、8位数据位、1位可编程位TB8/RB8和停止位(为
1)。
● 发送操作:发送数据之前,由指令设置TB8(如作为奇偶校对位或地址/数据位),将要
发送的数据由A 写入SBUF 中启动发送操作。在发送中,内部逻辑会把TB8装入发送移位寄存器的第9位位置,然后发送一帧完整的数据,发送完毕后置位TI 。TI 须由指令清零。
● 接收操作:当置位REN=1位且RI=0时,启动接收操作,帧结构上的第9位送入RB8中,
对所接收的数据视SM2和RB8的状态决定是否会使RI 置位。
七、TMOD :定时器/计数器模式控制寄存器(只能字节寻址,不能位寻址)