版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 输入输出及接口技术输入输出及接口技术 中断概述中断概述 MCS-MCS-5151单片机中断系统结构及管理单片机中断系统结构及管理 中断系统结构 中断系统控制 中断响应 中断请求的撤除 中断系统应用中断系统应用 了解输入输出I/O接口的功能 加深对中断技术基本概念的理解 熟悉51单片机中断系统结构 熟悉单片机各中断源及其触发、撤除方式 掌握单片机各中断源优先权的确定方式 熟悉单片机的中断响应过程 了解外部中断源的扩展方法 掌握中断系统程序初始化 了解51单片机的中断编程应用 第六章第六章 6.1 I/O接口技术概述 第六章第六章 第六章第六章 第六章第六章 第六章第六章 第六章第六章 第六章第
2、六章 6.2 CPU与外设信息传送方式 第六章第六章 第六章第六章 第六章第六章 读入状态读入状态 就绪?就绪? 数据交换数据交换 Y N 第六章第六章 断点断点 主程序主程序 中断服务程序中断服务程序 内外部内外部 中断请求中断请求 对外设对外设 进行处理进行处理 继续执行继续执行返回断点返回断点 第六章第六章 第六章第六章 6.3 中断概述 第六章第六章 计算机在执行程序的过计算机在执行程序的过 程中,由于程中,由于CPU以外的原因,以外的原因, CPU中止当前程序的执行,中止当前程序的执行, 转去执行相应的处理程序,转去执行相应的处理程序, 待处理结束后,再回来继续待处理结束后,再回来继
3、续 执行被中止的原程序,这种执行被中止的原程序,这种 情况称为中断。情况称为中断。 返回 中断申请 主程序 中断中断 服务服务 程序程序 第六章第六章 中断的发生是由中断的发生是由CPU外部因素决定外部因素决定 的,无法在程序中事先安排,调的,无法在程序中事先安排,调 用中断服务子程序的过程是由硬用中断服务子程序的过程是由硬 件自动完成的。件自动完成的。 第六章第六章 v可实现分时操作可实现分时操作 CPU可以分时为不同的外设服务,不同的外设都可同可以分时为不同的外设服务,不同的外设都可同 时工作,大大提高时工作,大大提高CPU的利用率。的利用率。 v可实现实时处理可实现实时处理 实时控制中,
4、外界的多种被控物理量是不断变化的,实时控制中,外界的多种被控物理量是不断变化的, 它们可随时向它们可随时向CPU发出中断请求,发出中断请求, CPU可以及时对其进可以及时对其进 行处理。行处理。 v故障处理故障处理 故障一旦发生,可以向故障一旦发生,可以向CPU发中断请求,发中断请求, CPU可以可以 对这些无法预料的故障自行进行处理。对这些无法预料的故障自行进行处理。 第六章第六章 l中断系统的功能中断系统的功能 计算机系统中,用于实现中断功能的硬计算机系统中,用于实现中断功能的硬 件和软件的集合,称为件和软件的集合,称为。 中断系统应解决如下问题:中断系统应解决如下问题: 1. 中断请求信
5、号的产生;中断请求信号的产生; 2. CPU如何响应?如何响应? 3. 中断优先权问题;中断优先权问题; 4. 中断的具体服务;中断的具体服务; 5. 中断服务完毕,如何返回原程序?中断服务完毕,如何返回原程序? 第六章第六章 l5151单片机单片机中断系统结构中断系统结构 8031/8051/8751有有5个中断源:个中断源: 符号符号 名名 称称 中中 断断 引引 起起 原原 因因 中断服务程序入口中断服务程序入口 INT0INT0外部中断外部中断0 0 P3.2P3.2引脚的低电平或下降沿信号引脚的低电平或下降沿信号 00030003H H INT1INT1 外部中断外部中断1 1P3.
6、3P3.3引脚的低电平或下降沿信号引脚的低电平或下降沿信号 00130013H H T0T0定时器定时器0 0中断中断 定时计数器定时计数器0 0计数回零溢出计数回零溢出 000000BHBH T1T1定时器定时器1 1中断中断 定时计数器定时计数器1 1计数回零溢出计数回零溢出 001001BHBH TI/RITI/RI 串行口中断串行口中断 串行通信完成一帧数据发送或接串行通信完成一帧数据发送或接 收引起的中断收引起的中断 00230023H H 6.6.4 514 51单片机中断系统及应用单片机中断系统及应用 第六章第六章 第六章第六章 2个中断优先级;个中断优先级; 与中断有关的特殊功
7、能寄存器与中断有关的特殊功能寄存器(1/4): 中断允许控制寄存器中断允许控制寄存器IE; 中断请求标志及外部中断方式选择寄存器中断请求标志及外部中断方式选择寄存器 TCON; 中断优先级控制寄存器中断优先级控制寄存器IP; 第六章第六章 与中断有关的特殊功能寄存器与中断有关的特殊功能寄存器(2/4): 中断允许控制寄存器中断允许控制寄存器IE(A8H):): EAEA - - - - ES ES ET1ET1 EX1EX1ET0ET0 EX0EX0 中断总中断总 控允控允/ /禁禁 不不 用用 不不 用用 串行口串行口 允允/ /禁禁 T1T1 允允/ /禁禁 INT1INT1 允允/ /禁
8、禁 T0T0 允允/ /禁禁 INT0INT0 允允/ /禁禁 第六章第六章 与中断有关的特殊功能寄存器与中断有关的特殊功能寄存器(3/4): 中断请求标志及外部中断方式选择控制寄存中断请求标志及外部中断方式选择控制寄存 器器TCON(88H):): TF1 TR1TF0 TR0 IE1IT1 IE0IT0 T1 请求请求 有有/无无 T1 工作工作 启启/停停 T0 请求请求 有有/无无 T0 工作工作 启启/停停 INT1 请求请求 有有/无无 INT1 方式方式 下沿下沿/ 低低 电平电平 INT0 请求请求 有有/无无 INT0 方式方式 下沿下沿/ 低电平低电平 第六章第六章 说明:
9、说明: oIT0和和IT1为外中断为外中断INT0 和和INT1中断触发方式选中断触发方式选 择,若选下降沿触发则相应位置择,若选下降沿触发则相应位置1;若选低电平触;若选低电平触 发发 ,IT相应位置相应位置0。 oTF0,TF1,IE0,IE1分别为中断源分别为中断源T0,T1, INT0, INT1 有中断请求的标志。当某中断源有中断请求,相有中断请求的标志。当某中断源有中断请求,相 应中断标志置应中断标志置1,无中断请求,该中断标志置,无中断请求,该中断标志置0 oTR0 和和 TR1 为定时器为定时器T0和和T1 工作启动和停止控工作启动和停止控 制。与中断无关。制。与中断无关。 o
10、串行口的中断标志在特殊功能寄存器串行口的中断标志在特殊功能寄存器SCON(串串 行口控制寄存器)中。行口控制寄存器)中。 第六章第六章 与中断有关的特殊功能寄存器与中断有关的特殊功能寄存器(4/4): 中断优先级控制寄存器中断优先级控制寄存器IP(8BH) -PSPT1PX1PT0PX0 无无 用用 位位 无无 用用 位位 无无 用用 位位 串行口串行口 高高/低低 T1 高高/低低 INT1 高高/低低 T0 高高/低低 INT0 高高/低低 注:注: IP寄存器管理五个中断源的优先级别,某中断源优先级寄存器管理五个中断源的优先级别,某中断源优先级 别高则在相应位置别高则在相应位置1,优先级
11、别低则置,优先级别低则置0。若同时有某几个中。若同时有某几个中 断源在断源在IP寄存器相应位寄存器相应位1或为零时,由内部查询确定同级别或为零时,由内部查询确定同级别 优先级,查询的顺序是优先级,查询的顺序是(即优先级即优先级外中断外中断0最高,最高,串口串口最低最低): T0INT0INT1T1 串行口串行口 第六章第六章 由由/INT0 (P3.2) 端口线引入。端口线引入。 有有两种两种触发方式,由触发方式,由TCON的的IT0位确定:位确定: IT0=0 ,为为电平电平触发,触发,/INT0脚出现脚出现低电平低电平向向CPU申请中断;申请中断; IT0=1 ,为为跳变跳变触发,触发,/
12、INT0脚出现脚出现负跳变负跳变使使IE0置置1,申请,申请 中断;中断;CPU响应中断后响应中断后硬件硬件自动清自动清IE0。 由由/INT1 (P3.3) 端口线引入。端口线引入。 有有两种两种触发方式,由触发方式,由TCON的的IT1位确定:位确定: IT1=0 ,为电平触发,为电平触发,/INT1脚出现脚出现低电平低电平向向CPU提中断;提中断; IT1=1 ,为跳变触发,为跳变触发,/INT1脚出现脚出现负跳变负跳变使使IE1置置1, 提中断;提中断;CPU响应中断后响应中断后硬件硬件自动清自动清IE1。 中断结构图 中断触发方式中断触发方式 第六章第六章 定时定时/计数器计数器0中
13、断中断 定时定时/计数器计数器1中断中断 定时定时/计数器计数器0计数计数溢出溢出(回零回零)时,硬件时,硬件置置TF0=1, 提出中断;提出中断; CPU响应中断后,硬件响应中断后,硬件自动清自动清TF0 定时定时/计数器计数器1计数计数溢出溢出(回零回零)时,硬件时,硬件置置TF1=1, 提出中断;提出中断; CPU响应中断后,硬件响应中断后,硬件自动清自动清TF1 中断结构图 第六章第六章 串行口发送完串行口发送完1帧信息,硬件置帧信息,硬件置TI=1提中断提中断 串行口接收到串行口接收到1帧信息,硬件置帧信息,硬件置RI=1提中断提中断 中断结构图 串行口中断串行口中断 CPU响应中断
14、后,响应中断后,不会不会自动清除自动清除TI或或RI! 第六章第六章 MCS-51MCS-51单片机各中断源单片机各中断源 是如何向是如何向CPUCPU提中断的?提中断的? 第六章第六章 l中断控制中断控制 CPU通过通过IE控制中断源总的开放或禁止,控制中断源总的开放或禁止, 以及每个中断源是否允许中断。以及每个中断源是否允许中断。 IE在特殊功能寄存器中,字节地址在特殊功能寄存器中,字节地址A8H, 位地址位地址分别是分别是A8HAFH。 To:中断结构图 第六章第六章 第六章第六章 51单片机有两个中断优先级,每个中断源可以通单片机有两个中断优先级,每个中断源可以通 过编程确定为高优先级
15、或低优先级;过编程确定为高优先级或低优先级; IP用来锁存各中断源优先级的控制位;用来锁存各中断源优先级的控制位; IP在特殊功能寄存器中,字节地址为在特殊功能寄存器中,字节地址为B8H,位地位地 址分别是址分别是B8HBFH。 To:中断结构图 第六章第六章 第六章第六章 5151单片机中与中断有关的单片机中与中断有关的SFRSFR有哪些,有哪些, 其作用是什么?其作用是什么? 与中断有关的特殊功能寄存器有与中断有关的特殊功能寄存器有4个个: : TCON: SCON: IE(中断允许寄存器中断允许寄存器)及及IP(中断优先寄存器中断优先寄存器)。 TIRI TF1TF0IE1 IT1IE0
16、IT0 解答解答 第六章第六章 1)锁存各中断源的标志位;锁存各中断源的标志位; 2)控制外中断触发方式;控制外中断触发方式; 3)中断允许控制;中断允许控制; 4)优先权控制优先权控制。 第六章第六章 各中断源的优先权级别由各中断源的优先权级别由IP确定;确定; 同一个优先级中的中断源,如同时申请中断,其同一个优先级中的中断源,如同时申请中断,其 自然优先级由硬件形成,各中断源的级别由高到低自然优先级由硬件形成,各中断源的级别由高到低 的顺序是:的顺序是: 外中断外中断0-T0-外中断外中断1-T1-串行口串行口 各中断源优先级各中断源优先级顺序是怎样确定的?顺序是怎样确定的? #8051复
17、位后,复位后,IE中各中断源允许位均清中各中断源允许位均清0,即禁止所有中断;,即禁止所有中断; IP低低5位全部清位全部清0,将所有中断源设置为低优先级中断。,将所有中断源设置为低优先级中断。 第六章第六章 中断优先权三原则:中断优先权三原则: 1. 正在进行的中断不能被新的同级或低优先正在进行的中断不能被新的同级或低优先 级的中断请求中断;级的中断请求中断; 2. 正在进行的低优先级中断服务程序能被高正在进行的低优先级中断服务程序能被高 优先级的中断请求中断(中断嵌套);优先级的中断请求中断(中断嵌套); 3. CPU同时收到几个中断请求时,首先响应同时收到几个中断请求时,首先响应 优先权
18、最高的请求中断。优先权最高的请求中断。 第六章第六章 l中断响应过程中断响应过程 单片机在每个机器周期的第单片机在每个机器周期的第5 5个状态周期个状态周期 期间,顺序采样每个中断源,期间,顺序采样每个中断源,CPUCPU在下一个机在下一个机 器周期第器周期第6 6状态周期期间按优先级顺序查询中状态周期期间按优先级顺序查询中 断标志,如查询到某个或某几个中断标志为断标志,如查询到某个或某几个中断标志为1 1, 将在再下一个机器周期第将在再下一个机器周期第1 1个状态周期期间按个状态周期期间按 优先级进行中断处理。优先级进行中断处理。 第六章第六章 : u自动清除中断标志自动清除中断标志IE0、
19、IE1、TF0、TF1; u保留断点(将保留断点(将PC内容压入堆栈);内容压入堆栈); u根据中断源优先级的高低,使相应优先级根据中断源优先级的高低,使相应优先级 状态触发器置状态触发器置1; u将对应的中断矢量装入将对应的中断矢量装入PC,使程序转向中使程序转向中 断矢量地址单元断矢量地址单元 中去执行相应的中断服务中去执行相应的中断服务 程序。程序。 第六章第六章 1)清相应中断优先级状态触发器;)清相应中断优先级状态触发器; 2)返回断点(弹出栈顶的两个字节到)返回断点(弹出栈顶的两个字节到PC) 中断服务程序的最后一条指令为什么不中断服务程序的最后一条指令为什么不 能是能是RET指令
20、?指令? (RET没有上面没有上面1的功能)的功能) 中断服务程序的最后一条指令中断服务程序的最后一条指令必须为必须为RETI。 思考思考 第六章第六章 0023H串行口中断串行口中断 001BH 定时器定时器T1中断中断 0013H外部中断外部中断1 000BH 定时器定时器T0中断中断 0003H外部中断外部中断0 入口地址入口地址 中断源中断源 第六章第六章 1)CPU正在执行一个同级或高一级的中断服正在执行一个同级或高一级的中断服 务程序。务程序。 2)当前正在执行的那条指令还未执行完。)当前正在执行的那条指令还未执行完。 3)当前正在执行的指令是)当前正在执行的指令是RETI或对或对
21、IE,IP寄寄 存器进行读存器进行读/写指令,执行这些指令后至少写指令,执行这些指令后至少 再执行一条指令才会响应中断。再执行一条指令才会响应中断。 第六章第六章 l中断请求的撤除中断请求的撤除 CPU响应中断后,在中断返回(执行响应中断后,在中断返回(执行RETI)前,前, 必须清除中断标志,否则会错误地再次引起中断。必须清除中断标志,否则会错误地再次引起中断。 需外接电路来撤除触发低电平需外接电路来撤除触发低电平外中断外中断0、1电平触发电平触发 标志标志IE0、IE1在中断响应后在中断响应后自动自动撤除撤除外中断外中断0、1跳变触发跳变触发 标志标志TF0、TF1在中断响应后在中断响应后
22、自动自动撤除撤除定时器定时器0、1中断中断 标志标志TI、RI需由需由软件软件在中断服务程序在中断服务程序 中撤除中撤除 串行口中断串行口中断 第六章第六章 l中断系统应用中断系统应用 例例1 在图中在图中P1.4P1.4P1.7P1.7接有四个发光二极管,接有四个发光二极管,P 1.0P 1.0 P1.3P1.3接有四个开关,双稳态电路是消抖电路,用来产接有四个开关,双稳态电路是消抖电路,用来产 生中断请求信号,当电路的开关来回拔动一次将产生生中断请求信号,当电路的开关来回拔动一次将产生 一个下降沿信号,通过一个下降沿信号,通过INT0INT0向向CPUCPU申请中断,要求:申请中断,要求:
23、 初时发光二极管全黑,每中断一次,将初时发光二极管全黑,每中断一次,将P1.0P1.0P1.3P1.3所所 接的接的 新的开关状态反映到发光二极管上,且要求开新的开关状态反映到发光二极管上,且要求开 关断开的对应发光二极管亮,电路和现象如下:关断开的对应发光二极管亮,电路和现象如下: 第六章第六章 、 跳到主程序跳到主程序 ORG 0003H ; INT0中断向量中断向量,外部中断外部中断0 AJMP INT0 ;的中断服务程序入口的中断服务程序入口 ORG 0030H INT0: JB P1.0, INT00 ;当当P1.0=1,跳转温度控制跳转温度控制 JB P1.1, INT01 ;当当
24、P1.1=1,跳转压力控制跳转压力控制 JB P1.2, INT02 ;若是若是ph7中断,转中断,转INT02 JB P1.3, INT03 ; 第六章第六章 ORG 0080H ;调整调整PH值中断服务值中断服务 INT02:PUSH PSW ;保护现场保护现场 PUSH A ;保护数据保护数据 SETB PSW.3 ;设置溢出设置溢出OV=1 SETB P3.0 ;接通加碱管道电磁阀接通加碱管道电磁阀 ACALL DELAY ;延时延时1s CLR P3.0 ;关加碱管道电磁阀关加碱管道电磁阀 ANL P1, #BFH ; 10111111 ORL P1, #40H ;以上以上2条产生条
25、产生P1.6的负脉冲,撤除的负脉冲,撤除 Ph7的中断请求的中断请求 POP A PUSH PSW ;以上以上2条为恢复现场条为恢复现场 RETI 第六章第六章 设设MCS-51MCS-51单片机系统时钟频率单片机系统时钟频率CLKCLK为为 6 6MHzMHz,请编出利用定时请编出利用定时/ /计数器计数器T0T0在在P1.0P1.0引脚上产生引脚上产生 周期为周期为2 2秒,占空比为秒,占空比为50%50%的方波信号的程序的方波信号的程序 2s 1s 第六章第六章 主程序任务:主程序任务: 1)T0是是16位加法计数器。其工作方式的设定:位加法计数器。其工作方式的设定: 选择方式选择方式1
26、(16位方式位方式),最大定时(,最大定时( 216 2 s=)131ms 2)定时常数定时常数100ms的设定的设定: (216=65536) TC=65536-100ms/2s= 65536-50000=15536=3CB0H 即:初值即:初值TH0(高高8位位)应装应装3CH,TL0(低低8位位)应装应装B0H 3)中断管理:允许中断管理:允许T0中断,开放总中断中断,开放总中断 即:即:IE应装应装10000010B 4)启动定时器启动定时器T0:SETB TR0 5)设置软件计数器初值:设置软件计数器初值: 如使用如使用R7,即即R7应装应装0AH(100ms 10=1s) 6)动态
27、停机:动态停机:SJMP $ 第六章第六章 MAINMAIN:MOV TMODMOV TMOD,#01H#01H;设定设定T0T0为方式为方式1 1( (后面介绍后面介绍) ) MOV TH0MOV TH0,#3CH#3CH;装入定时常数高装入定时常数高8 8位位 MOV TL0MOV TL0,#0B0H#0B0H;装入定时常数低装入定时常数低8 8位位 MOV IEMOV IE,#82H#82H;开放开放T0T0中断中断 SETB TR0SETB TR0;启动启动T0T0 MOV R7 MOV R7,#0AH#0AH;设置软件计数器设置软件计数器 SJMP $SJMP $ 第六章第六章 中断服务程序任务:中断服务程序任务: 1)恢复)恢复T0常数;常数; 2)软件计数器减)软件计数器减1; 3)判断软件计数器是否为)判断软件计数器是否为0。为。为0时,改变时,改变P1.0状状 态,并恢复软件计数器初值;不为态,并恢复软件计数器初值;不为0时中断返回。时中断返回。 TOINT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论