第4章 AT89C51的中断系统



《第4章 AT89C51的中断系统》由会员分享,可在线阅读,更多相关《第4章 AT89C51的中断系统(32页珍藏版)》请在文档大全上搜索。
1、第 4章 AT89C51的中断系统4.1 4.1 中断的概念中断的概念中断:用于实时测控中断:用于实时测控 对应软件查询方式对应软件查询方式4.2 AT89C514.2 AT89C51中断系统的结构中断系统的结构中断系统结构示意图中断系统结构示意图如下图所示。如下图所示。 5个中断源,两级优先级。个中断源,两级优先级。 中断标志中断标志寄存器寄存器中断允许中断允许寄存器寄存器中断优先级中断优先级寄存器寄存器n从图可见:AT89C51有5个中断源:个中断源: , T0, , T1, (TX,RX)0INT1INT对应的中断标志:对应的中断标志: IE0, TF0, IE1 , TF1, (TI,
2、RI) 中断允许寄存器中断允许寄存器IE:TCONSCONEX0, ET0, EX1 , ET1, ES总允许总允许EA中断优先级寄存器中断优先级寄存器IP:PX0, PT0, PX1 , PT1, PS“1”为允许为允许“1”为高优先级为高优先级2级优先级:级优先级: “1”高优先级高优先级 “0”低优先级低优先级自然优先级自然优先级 高高 低低IT0 0 电平触发方式电平触发方式IT1 选择选择 触发方式触发方式 1 触发方式触发方式01INTINT4.3 4.3 与中断有关的与中断有关的4 4个寄存器个寄存器AT89C51AT89C51中断源共有中断源共有5 5个个 :(1) 引脚引脚
3、输入,中断请求标志为输入,中断请求标志为IE0。(2) 引脚引脚 输入,中断请求标志为输入,中断请求标志为IE1。(3)定时器定时器/计数器计数器T0溢出溢出中断请求,中断请求标志为中断请求,中断请求标志为TF0。(4)定时器定时器/计数器计数器T1溢出溢出中断请求,中断请求标志为中断请求,中断请求标志为TF1。(5)串行口中断请求串行口中断请求,中断请求标志为,中断请求标志为TI或或RI。 由特殊功能寄存器由特殊功能寄存器TCON和和SCON的相应位锁存。的相应位锁存。0INT1INT0INT1INT1 1、TCONTCON:定时器:定时器/ /计数器的控制寄存器计数器的控制寄存器T1T01
4、INT0INTT1的溢出中的溢出中断请求标志断请求标志位位TF1,T1溢出时置溢出时置位,向位,向CPU申请中断申请中断外部中断请外部中断请求标志位求标志位若若INT0引引脚上有中断脚上有中断来,置来,置IE1,否则清否则清0外部中断外部中断触发方式触发方式IT0=0,为为电平触发电平触发方式。低电平有效方式。低电平有效 IT0=1,为为跳沿触发跳沿触发方式。负跳沿有效方式。负跳沿有效当当MCS-51复位复位后后,TCON=0 2 2、SCONSCON:串行口控制寄存器:串行口控制寄存器。 TI-发送中断。发送中断。CPU将将1Byte写入写入SBUF时,就启动时,就启动1帧串行帧串行数据的发
5、送数据的发送,每发送完一帧串行数据后,每发送完一帧串行数据后,硬件自动置硬件自动置TI。CPU响应中断,注意响应中断,注意CPU不清除不清除TI标志,标志,TI必须由软件清必须由软件清“0”(一般在中断服务程序中)(一般在中断服务程序中)。发送发送中断中断接收接收中断中断RI接收中断。串口接收完接收中断。串口接收完1个个Byte数据到数据到SBUF时,硬件自时,硬件自动置动置RI,通知,通知CPU可以来取数据。同可以来取数据。同TI,须软件清须软件清“0”。MOV SBUF ,Ansend: JNB TI, sendCLR TInrecive: JNB RI, reciveCLR RI MOV
6、 A,SBUF例:查询方式例:查询方式3 3、 中断允许寄存器中断允许寄存器IEIE EA:中断总允许中断总允许 EA=0,关闭所有可屏蔽中断。,关闭所有可屏蔽中断。 EA=1,开,开中断中断EX0,ET0,EX1,ET1,ES 5个个中断分别的允许控制位。中断分别的允许控制位。“0”关关“1”开开复位时,复位时,IE0。若要开某一中断,必须此中断允许位为若要开某一中断,必须此中断允许位为1且且EA=1。可用位操作或字节操作可用位操作或字节操作例例 若允许片内若允许片内2 2个定时器个定时器/ /计数器中断,禁止其它中计数器中断,禁止其它中断源的中断请求。编写设置断源的中断请求。编写设置IEI
7、E的相应程序段的相应程序段1)CLR ES CLR EX1 CLR EX0SETB ET0 SETB ET1SETB EA2) MOV IE,#8AH4. 4. 中断优先级寄存器中断优先级寄存器IPIP2级自然优先级级自然优先级中断嵌套的概念及原则:中断嵌套的概念及原则:原则:原则:(1 1)多个中断请求时,先响应高级中断,后)多个中断请求时,先响应高级中断,后响应低级中断响应低级中断(2 2)低级中断可被高级中断中断,反之则不)低级中断可被高级中断中断,反之则不能。(同级也不行)能。(同级也不行)中断优先级寄存器中断优先级寄存器IPIP1:高高优先级中断;优先级中断;0:低优先级中断。低优先
8、级中断。当同时有同一级中断请求时,当同时有同一级中断请求时,按自然优先级顺序响应按自然优先级顺序响应复位时,复位时,IP=0中断源中断源 中断级别中断级别外部中断外部中断0 最高最高T0溢出中断溢出中断外部中断外部中断1T1溢出中断溢出中断串行口中断串行口中断 最低最低 例例 设置设置IPIP寄存器的初始值,使寄存器的初始值,使2 2个外中断请求为个外中断请求为高优先级,其它中断请求为低优先级。高优先级,其它中断请求为低优先级。(1)用位操作指令)用位操作指令 SETB PX0 SETB PX1 CLR PSCLR PT0CLR PT1(2)用字节操作指令用字节操作指令 MOV IP,#05H
9、 4.4 4.4 中断响应过程中断响应过程 1 1、响应中断请求的条件:、响应中断请求的条件:(1) 该中断源发出中断请求,即相应的中断该中断源发出中断请求,即相应的中断请求标志为请求标志为“1”。(。(IE0,TF0,IE1,TF1,RI,TI)(2) 总允许总允许EA=1(3)该中断允许位)该中断允许位=1(4)无同级或更高级中断正在被服务。)无同级或更高级中断正在被服务。2 2、中断响应原理:、中断响应原理:2 2、以下几种情况中断请求被封锁,、以下几种情况中断请求被封锁,CPUCPU丢弃中断丢弃中断查询结果:查询结果: (1)CPU正在处理同级的或更高优先级的中断。 (2)所查询的机器