第5章1 80C51单片机的中断系统_第1页
第5章1 80C51单片机的中断系统_第2页
第5章1 80C51单片机的中断系统_第3页
第5章1 80C51单片机的中断系统_第4页
第5章1 80C51单片机的中断系统_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 n教学内容教学内容 n中断的概念中断的概念 n80C5180C51单片机的中断系统单片机的中断系统 n中断源、中断控制、中断向量、中断响应、中断服务子程序中断源、中断控制、中断向量、中断响应、中断服务子程序 n中断系统编程应用举例中断系统编程应用举例 n教学要求教学要求 2 3 执行主 程序 主程序 继续执行 主程序 断点 中断请求 中断响应 执行 中断 处理 程序 中断返回 5 中中 断断 源源 n有有4 4个相关寄存器,包括个相关寄存器,包括 n定时器控制寄存器定时器控制寄存器TCONTCON n串行控制寄存器串行控制寄存器 SCONSCON n中断允许寄存器中断允许寄存器 IEIE

2、n中断优先级寄存器中断优先级寄存器IPIP 6 7 nTF0TF0和和TF1TF1定时器(定时器(T0T0和和T1T1)计数溢出标志位。)计数溢出标志位。 n当计数器产生计数溢出时,相应的溢出标志位由硬件当计数器产生计数溢出时,相应的溢出标志位由硬件 置置1 1,产生定时中断请求。此外,这两位也可以作为状,产生定时中断请求。此外,这两位也可以作为状 态位供查询使用。态位供查询使用。 nIE0IE0和和IE1IE1外部中断请求标志位。外部中断请求标志位。 n当当CPUCPU采样到采样到INT0INT0(或(或INT1INT1)端出现中断请求信号时,)端出现中断请求信号时, 对应位由硬件置对应位由

3、硬件置1 1,即保存外部中断请求。在中断响应,即保存外部中断请求。在中断响应 完成后转向中断服务时,再由硬件自动清完成后转向中断服务时,再由硬件自动清0 0。 nIT0IT0和和IT1IT1外中断触发方式控制位。外中断触发方式控制位。 n因为外中中断请求有电平和脉冲两种信号方式。因为外中中断请求有电平和脉冲两种信号方式。 8 包括了串行中断标志位。包括了串行中断标志位。 位于内部位于内部RAMRAM的的98H98H,位地址为,位地址为9FH-98H9FH-98H。 串行口控制寄存器串行口控制寄存器 SCON (Serial Port Control)SCON (Serial Port Cont

4、rol) 9 nTITI n发送中断标志位。发送中断标志位。 n当串行口发送完一帧数据,该标志置当串行口发送完一帧数据,该标志置“1 1”,CPUCPU响应响应 串行口中断后内部硬件不清除,必须通过软件清串行口中断后内部硬件不清除,必须通过软件清 “0 0”。 nRIRI n接收中断标志位。接收中断标志位。 n当串行口接收完一帧数据,该标志置当串行口接收完一帧数据,该标志置“1 1”,CPUCPU响应响应 串行口中断后内部硬件不清除,必须通过软件清串行口中断后内部硬件不清除,必须通过软件清 “0 0”。 10 11 12 用于控制是否允许使用中断。用于控制是否允许使用中断。 位于内部位于内部R

5、AMRAM的的A8HA8H,位地址为,位地址为AFH-A8HAFH-A8H。 13 nEAEA中断允许总控制位中断允许总控制位 nEA=0EA=0,中断总禁止,禁止所中断,中断总禁止,禁止所中断 nEA=1EA=1,中断总允许,其后中断的禁止或允许由各类中断,中断总允许,其后中断的禁止或允许由各类中断 自行设置。自行设置。 nEX0EX0和和EX1EX1外部中断允许控制位外部中断允许控制位 nEX0(EX1)=0EX0(EX1)=0,禁止外部中断,禁止外部中断0(1)0(1)。 nEX0(EX1)=1EX0(EX1)=1,允许外部中断,允许外部中断0(1)0(1)。 nET0ET0和和ET1E

6、T1定时器中断允许控制位定时器中断允许控制位 nET0(ET1)=0ET0(ET1)=0,禁止定时器中断,禁止定时器中断0(1)0(1)。 nET0(ET1)=1ET0(ET1)=1,允许定时器中断,允许定时器中断0(1)0(1)。 nESES串行中断允许控制位串行中断允许控制位 nES=0ES=0,禁止串行中断。,禁止串行中断。 nES=1ES=1,允许串行中断。,允许串行中断。 14 15 16 INT0 T0 INT1 T1 串行口中断串行口中断RI/TI 17 中断响应过程中断响应过程 18 中断请求中断请求( (中断请求采样中断请求采样S5P2S5P2中断查询中断查询S6S6) 中断

7、响应中断响应S1 S1 中断服务中断服务 外部中断请求引入端:外部中断请求引入端: 引脚引脚INT0/P3.2和和INT1/P3.3。 19 20 21 22 中断允许实行两级控制中断允许实行两级控制 23 24 25 ORG 0000HORG 0000H LJMP MAINLJMP MAIN ORG 0003HORG 0003H LJMP INT0LJMP INT0 ORG 0030HORG 0030H MAIN:MAIN: MOV SP,#30HMOV SP,#30H ; ;设置堆栈指针设置堆栈指针SPSP SETB IT0SETB IT0; ;外部中断触发方式外部中断触发方式 MOV T

8、CON,#01HMOV TCON,#01H SETB PX0SETB PX0; ;中断优先级设置中断优先级设置 MOV IP,#01HMOV IP,#01H SETB EX0SETB EX0; ;各中断允许设置各中断允许设置 MOV IE,#81HMOV IE,#81H SETB EASETB EA; ;中断系统总开放中断系统总开放 ORG 2000HORG 2000H INT0: INT0: ; ;外部中断外部中断0 0服务子程序服务子程序 RETIRETI 26 27 INT0 T0 INT1 T1 串行口中断RI/TI 28 30 31 注意注意 n串行中断请求由串行中断请求由RIRI和

9、和TITI的逻辑或得到,也的逻辑或得到,也 就是说,无论是就是说,无论是发送标志还是接收标志,发送标志还是接收标志, 都会产生中断请求都会产生中断请求。 n RIRI和和TITI的的中断入口都是中断入口都是0023H0023H,所以,所以CPUCPU响响 应后转入应后转入0023H0023H开始执行服务程序,首先必开始执行服务程序,首先必 须判断是须判断是RIRI中断还是中断还是TITI中断,然后进行相中断,然后进行相 应服务。应服务。 32 33 34 35 36 37 ORG 2000HORG 2000H INT0: INT0: CLR EACLR EA; ;关中断关中断 PUSH PSW

10、PUSH PSW; ;保护现场保护现场 PUSH ACCPUSH ACC; ; SETB EASETB EA; ;开中断开中断 MOV A,#02HMOV A,#02H; ;中断服务中断服务 CLR EACLR EA; ;关中断关中断 POP ACCPOP ACC; ;恢复现场恢复现场 POP PSWPOP PSW SETB EASETB EA; ;开中断开中断 RETIRETI; ;中断返回中断返回 ENDEND 38 39 中断编程举例中断编程举例 例例 扩展外部中断源。利用中断实现多个故障的扩展外部中断源。利用中断实现多个故障的LEDLED报警显示。报警显示。 显示:显示: 无故障时,故

11、障信号源输入端为低电平;出现故障时,相应的故障信号输入无故障时,故障信号源输入端为低电平;出现故障时,相应的故障信号输入 端变为高电平。要求编程实现:无故障时,对应指示灯熄灭;有故障时,对端变为高电平。要求编程实现:无故障时,对应指示灯熄灭;有故障时,对 应的指示灯点亮。应的指示灯点亮。 41 ORG 0000H;上电复位后,转主程序上电复位后,转主程序 AJMP MAIN ORG 0003H ;外部中断外部中断0的中断向量的中断向量 AJMP EXINT0 ;转中断服务子程序转中断服务子程序 ORG 0030H MAIN: SETB IT0;外部中断外部中断INT0为边沿触发方式为边沿触发方

12、式 SETB EX0;允许允许INT0中断中断 SETB EA;CPU开中断开中断 HERE:SJMP $;等待中断等待中断 42 EXINT0: MOV P1,#0FFH ;全部指示灯灭全部指示灯灭,并为读入故障信号作准备并为读入故障信号作准备 JNB P1.0,L1 ;P1.0无故障无故障 CLR P1.1;P1.0为为1,表明有故障,表明有故障,p1.1亮亮 SJMP L2 L1:SETB P1.1;p1.1灭灭 L2:JNB P1.2,L3 CLR P1.3 ;实现故障显示,实现故障显示,p1.3亮亮 SJMP L4 L3:SETB P1.3;p1.3灭灭 L4:JNB P1.4,L5

13、 CLR P1.5;实现故障显示,实现故障显示,p1.5亮亮 SJMP L6 L5:SETB P1.5;p1.3灭灭 L6:JNB P1.6,L7 CLR P1.7;实现故障显示,实现故障显示,p1.7亮亮 SJMP L8 L7:SETB P1.7;p1.7灭灭 L8:RETI 43 【例】单片机数据传输。 外设数据经P1口输入单片机,每准备好一个数据, 外设发出选通信号,经触发器和非门至INT0。 P1口 P3.0 Q D CLK CLR 选通信号 +5V 1INT0 数据 8031 44 数据传送过程: 外设每准备好一个数据后,发出选通信号,使触 发器输出1再经非门得0至INT0,向CPU

14、发出中断 请求, CPU 响应这个中断请求后,在中断处理 程序中先撤除 中断请求信号, (通过P3.0=0, 使INT0=1) 再由P1口输入 数据到单片机 内部。 P1口 P3.0 Q D CLK CLR 选通信号 +5V 1INT0 数据 8031 45 程序清单: ORG 0000H START:LJMP MAIN ORG 0003H LJMP IINT0 ORG 0030H ;主程序 MAIN: CLR IT0 ;低电平触发 SETB EA SETB EX0 ;开中断 MOV DPTR,#1000H . ORG 0100H IINT0:PUSH PSW ;中断处理程序 PUSH ACC

15、 CLR P3.0 46 NOP NOP SETB P3.0 ;撤除INT0 MOV A,P1 ;输入数据 MOVX DPTR,A ;保存数据 INC DPTR . POP ACC ;恢复现场 POP PSW RETI ;返回主程序 47 1 1、80518051单片机有单片机有 5 5 个中断源,分个中断源,分2 2个中断优先等级,个中断优先等级, 允许实现允许实现两层两层中断嵌套。中断嵌套。 2 2、80518051单片机中断是由特殊功能寄存器单片机中断是由特殊功能寄存器 TCONTCON、SCONSCON、 IPIP、IEIE及内部查询电路组成和控制的。这及内部查询电路组成和控制的。这4 4个个 特殊功能寄存器在特殊功能寄存器在CPUCPU复位后为复位后为00H00H。 3 3、中断入口地址也称为、中断入口地址也称为中断向量中断向量,外部中断,外部中断INT0INT0为为 0003

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论