[工学]刘守义单片机课件c

上传人:tia****nde 文档编号:71248993 上传时间:2019-01-19 格式:PPT 页数:42 大小:637.81KB
返回 下载 相关 举报
[工学]刘守义单片机课件c_第1页
第1页 / 共42页
[工学]刘守义单片机课件c_第2页
第2页 / 共42页
[工学]刘守义单片机课件c_第3页
第3页 / 共42页
[工学]刘守义单片机课件c_第4页
第4页 / 共42页
[工学]刘守义单片机课件c_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《[工学]刘守义单片机课件c》由会员分享,可在线阅读,更多相关《[工学]刘守义单片机课件c(42页珍藏版)》请在金锄头文库上搜索。

1、中断的基本概念 MCS-51的中断系统 中断源和中断标志 中断的允许和优先权 中断的处理过程 外部中断源的扩展 中断的应用,第 章 中断系统,本章内容,Single Chip Microcomputer,中断系统,1实训目的 (1) 利用单片机的定时与中断方式,实现对信号灯的复杂控制。 (2) 通过定时器程序调试,学会定时器方式1的使用。 (3) 通过中断程序调试,熟悉中断的基本概念。,实训5 信号灯的控制3,2实训设备与器件 (1)实训设备:单片机开发系统、微机。 (2) 实训器件:实训电路板。,3实训程序,1)定时器查询方式,ORG 0000H CONT: MOV R2,#07H MOV

2、A,#0FEH NEXT:MOV P1,A ACALL DELAY RL A DJNZ R2,NEXT MOV R2,#07H NEXT1:MOV P1,A RR A ACALL DELAY DJNZ R2,NEXT1 SJMP CONT DELAY: MOV R3,#14H ;置50ms计数循环初值 MOV TMOD,#10H ;设定时器1为方式1 MOV TH1,#3CH ;置定时器初值 MOV TL1,#0B0H SETB TR1 ;启动T1 LP1: JBC TF1,LP2 ;查询计数溢出 SJMP LP1 ;未到50ms继续计数 LP2: MOV TH1,#3CH ;重新置定时器初值

3、 MOV TL1,#0B0H DJNZ R3,LP1 ;未到1s继续循环 RET ;返回主程序 END,TF1=1,2)定时器中断方式,ORG 0000H ;程序入口 AJMP 0100H ;指向主程序 ORG 001BH ;定时器T1中断入口 AJMP CONT ;指向中断服务程序 ORG 0100H MAIN:MOV TMOD,#10H ;置T1为工作方式1 MOV TH1,#3CH ;置50ms定时初值 MOV TL1,#0B0H SETB EA ;CPU开中断 SETB ET1 ;定时器T1开中断 SETB TR1 ;启动T1 CLR 08H ;清1s计满标志位 MOV R3,#14H

4、 ;置50ms循环初值 DISP:MOV R2,07H MOV A,#0FEH NEXT:MOV P1,A JNB 08H,$ ;查询1s时间到否 CLR 08H ;清标志位 RL A DJNZ R2,NEXT MOV R2,#07H,NEXT1: MOV P1,A JNB 08H,$ CLR 08H RR A DJNZ R2,NEXT1 SJMP DISP CONT:MOV TH1,#3CH ;重置50ms定时初值 MOV TL1,#0B0H DJNZ R3,EXIT ;判1s定时到否 MOV R3,#14H ;重置50ms循环初值 SETB 08H ;标志位置1 EXIT:RETI END

5、,4. 实训分析与总结,(1)步骤1)和实训4相比,硬件电路一致,效果一样,但二者软件的编制方法不同。后者采用软件定时,对循环体内指令机器周期数进行计数;前者采用定时器定时,用加法计数器直接对机器周期进行计数。二者工作机理不同,置初值方式也不同,相比之下定时器定时无论是方便程度还是精确程度都高于软件定时。 (2)步骤1)和步骤2)相比,硬件电路一致,效果一样,都采用定时器定时,但二者实现方法不同。前者采用查询工作方式,在1s定时程序期间一直占用CPU;后者采用中断工作方式,在1s定时程序期间CPU可处理其它指令,从而充分发挥定时器/计数器的功能,大大提高CPU的效率。,中断的基本概念,日常生活

6、中断的例子 单片机中的中断概念 中断技术的优点,日常中断的例子,返回,你正在专心看书,突然电话铃响,于是你记下正在看的书的页数,去接电话,接完电话后再回来接着看书。,计算机中的中断概念,返回,中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。 将能引起中断的事件称为中断源。 CPU现行运行的程序称为主程序。 处理随机事件的程序称为中断服务子程序。,中断技术的优点,分时操作 CPU可以同多个外设“同时”工作 实时处理 CPU及时处理随机事件 故障处理 电源掉电、存储出错、运算溢出,MCS-51中断系统,中断源 中

7、断标志 中断允许 中断优先级 MCS-51中断系统结构 中断寄存器,MCS-51的中断系统中断源,8051单片机有5个中断请求源:,单片机,MCS-51的中断系统中断标志,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,每一个中断源都有相应的中断标志位; 某一个中断源申请中断,相应中断标志位置1。,MCS-51的中断系统中断允许,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,EA总中断允许位,EA=1开放所有中断,EA=0,禁止所有中断; 某一个中断源还有相应的中断允许位,1允

8、许相应中断源的中断,0禁止相应中断源的中断。,中断允许,ES,ET0,EX0,EX1,ET1,EA,MCS-51的中断系统中断优先级,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,单片机中有两个中断优先级,即高优先级中断和低优先级中断,前者优先权高于后者(在程序中设置,相应位=1,为高优先级); 同一优先级别的中断源按照自然优先级顺序确定优先级别(硬件形成,无法改变)。,中断允许,ES,ET0,EX0,EX1,ET1,EA,自然优先级,优先控制,PS,PT0,PX0,PX1,PT1,IE0,TCON,SCON,TF0,IE1,TF1,

9、T0,T1,TI,RI,TXD,RXD,ES,ET0,EX0,EX1,ET1,EA,自然优先级,矢量地址,高级中断请求,自然优先级,矢量地址,低级中断请求,PX0,PT0,PX1,PT1,PS,IE,IP,MCS-51的中断系统结构图,中断标志位,中断源允许,总允许,中断优先级,TCON寄存器T0和T1控制寄存器,TCON,T1溢出中断标志(TCON.7): T1启动计数后,计满溢出由硬件置位TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。,TCON 88H,外部中断INT1中断标志位(TCON.3) : IE11,外部中断

10、1向CPU申请中断,外部中断INT1触发方式控制位(TCON.2): IT1=0,电平触发方式 IT1=1, 下降沿触发方式,TCON寄存器T0和T1控制寄存器,注意:该寄存器可以位寻址。,返回,TI (SCON.1)串行发送中断标志。 RI (SCON.0)串行接收中断标志。,SCON寄存器串行口控制寄存器,SCON 98H,注意:该寄存器可以位寻址。,IE寄存器中断允许寄存器,IE A8H,例:允许定时器T0中断: SETB EA SETB ET0 或 MOV IE,#82H,注意:该寄存器可以位寻址。,51单片机有两个中断优先级高级和低级 专用寄存器IP为中断优先级寄存器,用户可用软件设

11、定 相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中断源被设置为低优先级 系统复位时,均为低优先级 该寄存器可以位寻址,IP寄存器中断优先级寄存器,IP B8H,中断处理过程,中断处理过程分为三个阶段:中断响应、中断处理和中断返回。 中断响应 中断处理(又称中断服务) 中断返回 中断请求的撤除,中断响应(以外部中断0为例),中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。 中断响应过程: 保护断点地址;,把程序转向中断服务程序的入口地址(通常称矢量地址)。,特别注意:这些工作是硬件自动完成的!,断点地址,中断服务子程序的入口地址,外部中断0入口地址,ZD

12、0 AJMP,ORG 0003H,AJMP ZD0,ZD0,中断响应,中断服务子程序入口地址又称为中断矢量或中断向量。,单片机中5个中断源的矢量地址是固定的,不能改动。,断点地址,中断服务子程序的入口地址,程序存储器ROM,0000H:复位后,程序的入口地址(PC=0000H),0023H:串行口中断入口,0003H:外部中断0入口,000BH:定时器0溢出中断入口,0013H:外部中断1入口,001BH:定时器1溢出中断入口,002AH,使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去!,程序存储器ROM,0000H:复位后,程序的入口地址(PC=

13、0000H),0023H:串行口中断入口,0003H:外部中断0入口,000BH:定时器0溢出中断入口,0013H:外部中断1入口,001BH:定时器1溢出中断入口,002AH,包含T0中断服务子程序的程序结构: ORG 0000H AJMP MAIN ORG 000BH AJMP INTT0 ORG 0100H MAIN: . . . INTT0:. . . RETI END,AJMP MAIN,AJMP INTT0,中断处理,中断服务程序从中断子程序入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。 中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处

14、理中断源的请求。,入口地址,RETI,中断处理,INTT0: PUSH ACC PUSH DPH PUSH DPL PUSH PSW 中断源服务 POP PSW POP DPL POP DPH POP ACC RETI,保护现场,恢复现场,中断返回,中断返回是指中断服务完后,计算机返回到原来暂停的位置(即断点),继续执行原来的程序。 中断返回由专门的中断返回指令RETI来实现。,中断返回,RETI指令功能:把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。 特别注意:不能用RET指令代替RETI指令!,中断处理过程示意图,中断源发中断请求,

15、中断响应条件 是否满足?,中断是否受阻?,把PC断点地址压入堆栈,相应中断源的中断入口地址送入PC,转向中断服务程序,N,Y,Y,N,由硬件 自动完成,关中断,保护现场,中断服务,开中断,关中断,恢复现场,开中断,中断返回,断点地址由堆栈弹入PC,中断服务程序,中断请求的撤除,CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断。 定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中断请求标志TFO或TF1,即中断请求是自动撤除的。 边沿激活的外部中断:CPU在响应中断后,也是用硬件自动清除有关的中断请求标志IE0或IE1。 串行口中断:CPU响应中断后,没有用硬件清除T1、R1,故这些中断不能自动撤除,而要靠软件来清除相应的标志。,电平触发外部中断撤除方法较复杂。 因为在电平触发方式中,CPU响应中断时不会自动清除IE1或IE0标志,所以在响应中断后应立即撤除INT0或INT1引脚上的低电平。 在硬件上,CPU对INT0和INT1引脚的信号不能控制,所以这个问题要通过硬件,再配合软件来解决。,电平激活的外部中断源中断标志的撤除,外部中断源的扩展,单片机仅有两个外部中断输入端.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号