




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、授课教师:左敬龙授课教师:左敬龙电话:电话:1382868066013828680660短号:短号:6801268012邮箱:邮箱:单片机原理及应用单片机原理及应用MCS-51MCS-51中断系统中断系统概述概述 与上对比,单片机中也有同样的问题。与上对比,单片机中也有同样的问题。CPUCPU正在执行正在执行原程序,突然,被意外事情打断,转去执行新程序。原程序,突然,被意外事情打断,转去执行新程序。CPUCPU执行新程序结束后,又回到原程序中继续执行。这执行新程序结束后,又回到原程序中继续执行。这样的过程就叫。样的过程就叫。 什么叫中断?什么叫中断? 举例:某同学正在教室写作业,忽然被人叫出去
2、,回来举例:某同学正在教室写作业,忽然被人叫出去,回来后,继续写作业。这就是生活中中断的例子。后,继续写作业。这就是生活中中断的例子。 中断处理过程中断处理过程概述概述 对突发事故,做出紧急处理。 根据现场随时变化的各种参数、信息,做出实时监控。 CPU与外部设备并行工作,以中断方式相联系,提高工作效率。 解决快速CPU与慢速外设之间的矛盾。 在多项外部设备同时提出中断请求情况下,CPU能根据轻重缓急响应外设的中断请求。 中断的作用:概述单片机中断系统单片机中断系统中断源中断源1 1中断控制中断控制2 2中断过程中断过程3 3外部中断源扩展外部中断源扩展4 4一、中断源一、中断源n中断源中断源
3、外部中断定时/计数器溢出中断串行发送结束请求中断串行接收有效请求中断TLiTLi(8(8位位) )THiTHi( (8 8位位) )TFiTFi中断中断控制控制B BA AC/T=0C/T=0振荡器振荡器1/121/12&1 1T Ti iTRTRi iGATEGATEINTiINTiC/T=1C/T=1007 077 07 中断源:中断源: 入口地址入口地址外部中断外部中断0 0(/ /INT0INT0) 0003H 0003HT0T0溢出中断溢出中断 000 000BHBH外部中断外部中断1 1(/ /INT1INT1) 0013H 0013HT1T1溢出中断溢出中断 001 00
4、1BHBH串口中断串口中断 0023 0023HH T2T2溢出中断溢出中断 00 002BH2BH中断请求源(中断请求源(“五源中断五源中断”)二、中断控制单片机设有四个特殊功能寄存器:定时控制寄存器TCON串行控制寄存器SCON中断屏蔽寄存器IE中断优先级寄存器IPMCS-51中断控制系统中断控制系统 TCONIT0IE0IT1IE1TR0TF0TR1TF1TR0/TR1:定时/计数器运行控制位。IT0/IT1:外部中断0/1请求触发方式控制位。1为脉冲触发,下降沿有效。0为电平触发,低电平有效。TCON的字节地址为88H,位地址为88H8FH 。IE0/IE1:外中断/请求标志位。当CP
5、U采样到(/INT)端出现有效中断请求时,IE0(IE1)位由硬件置“1”。当中断响应,转向中断服务程序后,由硬件把IE0(或IE1)清零。 1.定时控制寄存器TCON TF0/TF1:定时/计数溢出标志位。用于定时/计数器控制。 2.串行中断控制寄存器SCON 串行控制寄存器SCON的字节地址为98HTI: 串行口发送中断请求标志位。当发送完一帧串行数据后,由硬件置“1”;在中断响应,转向中断服务程序后,接口硬件不能自动将TI或RI清零,需用户用软件清零,来撤消中断。中断撤消必须在下一个中断到来之前完成。 RI:串行口接收中断请求标志位。当接收完一帧串行数据后,由硬件置“1”;在中断响应,转
6、向中断服务程序后,需用软件清“0”。串行中断请求由TI和RI的逻辑或得到。 SM0SM1SM2RENTB8RB8TIRISCON在中断源与CPU之间有二级中断允许控制逻辑电路,类似开关,其中第一级为一个总开关,第二级为六个分开关,由IE控制。 3、中断屏蔽寄存器IE IEIEEX0EX0ET0ET0EX1EX1ET1ET1 ES ESET2ET2 EA EA若为若为“1”“1”,开关接通,允许,开关接通,允许例如例如 EAEA1 1;若为若为“0”“0”,开关断开,不允许,开关断开,不允许例如例如 IE.7IE.70 0;EA EA 总控制位总控制位 “” “” 未定义位未定义位ES ES 串
7、口控制位串口控制位 ET1 T1ET1 T1中断控制位中断控制位 EX1 /INT1EX1 /INT1控制位控制位 ET0 T0ET0 T0中断控制位中断控制位 EX0 /INT0EX0 /INT0控制位控制位 ET2 T2ET2 T2中断控制位中断控制位4 4、中断优先级寄存器、中断优先级寄存器IPIPCPUCPU同一时间只能响应一个中断请求。若同时来了两个或同一时间只能响应一个中断请求。若同时来了两个或两个以上中断请求,就必须有先有后。两个以上中断请求,就必须有先有后。 ! 为此将为此将6 6个中断源分成个中断源分成0,10,1两个个级别,两个个级别,0 0低、低、1 1为高优先级为高优先
8、级IPIPPX0PX0PT0PT0PX1PX1PT1PT1 PSPSPT2PT2PT2 PT2 定时定时 / / 计数器计数器T2T2的中断优先级别的中断优先级别PS PS 串口的中断优先级别串口的中断优先级别PT1 PT1 定时定时 / / 计数器计数器T1T1的中断优先级别的中断优先级别PX1 PX1 外部中断外部中断1 1 的中断优先级别的中断优先级别PT0 PT0 定时定时 / / 计数器计数器T0T0的中断优先级别的中断优先级别PX0 PX0 外部中断外部中断0 0 的中断优先级别的中断优先级别“1”1”,1 1优先级优先级“0”0”,0 0优先级,最低优先级,最低优先级控制可以通过
9、修改中断优先级控制寄存器优先级控制可以通过修改中断优先级控制寄存器IPIP的内容实现。的内容实现。IPIP的字节地址为的字节地址为0B8H0B8H同一级中的同一级中的5 5个中断源的优先顺序是:个中断源的优先顺序是: / /INT0INT0中断中断 T0T0溢出中断溢出中断 / /INT1INT1中断中断 T1T1溢出中断溢出中断 串口中断串口中断 T2 T2溢出中断溢出中断高高低低出厂前已由厂家固化顺序出厂前已由厂家固化顺序事先约定事先约定中断优先原则:(概括为四句话)中断优先原则:(概括为四句话)1 1、低级不打断高级、低级不打断高级2 2、高级不睬低级、高级不睬低级3 3、同级不能打断、
10、同级不能打断4 4、同级、同时中断,事先约定。、同级、同时中断,事先约定。 中断汇编程序初始化 SETB IT0 SETB EX0 SETB EA SETB PT0中断C程序初始化EX0 = 1;IT0 = 1; EA = 1;PX0 = 1;三、MCS-51中断的响应过程 CPU每个机器周期都需要顺序检查每个中断源,当检测到有中断请求时,能否响应,还要看下述情况是否存在: (1)CPU正处理相同级别或更高级别的中断;(2)正在执行指令,还未到最后一个机器周期;(3)正在执行的指令是RETI或访问IP、IPH、IE指令,则执 行完上述指令后,再执行一条指令后,才会响应新中断。 日常生活中的中断
11、与单片机中断的比较 某同学 单片机 过程说明正在看书 执行主程序有人找出去 中断信号 中断请求暂停看书 暂停执行主程序 中断响应书中作记号 当前PC入栈 保护断点出去做事 执行中断程序 中断服务回来继续看 返回主程序 中断返回1、中断请求 中断请求就是中断源向CPU申请中断的过程,即建立中断请求标志位IE0、IE1、TF0、TF1、TI/RI的过程外部中断请求:经由引脚P3.2、P3.3向CPU申请中断的过程。外部中断请求有两种方式:低电平触发和下降沿触发。通过设置触发方式控制位IT0、IT1进行选择。IT0=0,表示为低电平触发方式;IT0=1,表示为下降沿触发方式。IT1的情况类似。 内部
12、中断请求: 当T0计数产生溢出时,由硬件置位TF0。当CPU响应中断后,再由硬件将TF0清0。 T1的情况类似。当串行口发送结束时,使TI=1;当串行口接收结束时,使RI=1。 CPU响应中断后,由软件将TI/RI位清0。2、中断响应 CPU对中断请求进行判断,形成中断矢量,转入相应的中断服务程序的过程叫中断响应。 1)CPU响应中断的基本条件有中断源提出中断请求;中断总允许位EA1,即CPU中断开放;申请中断的中断源的中断允许位为1,即中断源开放;CPU没有响应同级或更高优先级的中断;当前指令执行结束;如果正在执行的指令是RETI或是访问IE、IP指令,则多等待一条指令。2)中断响应过程 单
13、片机在每个机器周期的S5P2期间,顺序采样每个中断源,建立中断请求标志。在下一个机器周期按优先级查询中断标志,如查询到有中断标志为1,则按优先级进行中断响应。硬件将程序计数器PC的当前内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向相应的中断入口。这相当于执行一条长调用指令。中断源 入口地址外中断 0003H定时/计数器T0溢出中断 000BH外中断 0013H定时/计数器T1溢出中断 001BH串行口中断 0023H定时/计数器T2溢出中断 002BH 3、中断处理(中断服务) CPU响应中断后,根据不同的中断源,形成不同的中断矢量,执行相应的中断服务应用程序。CPU执行
14、中断服务应用程序的过程,就是中断处理过程。中断处理一般包括保护现场、中断服务、恢复现场三部分。关中断保护现场开中断中断服务恢复现场开中断中断返回断点地址由堆栈弹出保护和恢复现场之后开中断,是为了允许响应更高级别的中断。保护现场和恢复现场的过程中不允许中断,以免现场遭到破坏。关中断4、中断返回 1)中断返回的过程 在中断服务程序的最后,遇到C语言中断服务程序的“”:将相应的优先级状态触发器清零;恢复断点地址,即从堆栈中弹出栈顶的两个字节到PC,从而返回到断点处;2)中断请求的撤销 在中断返回(执行RETI)前,必须撤除中断请求,即将中断标志位清除,否则当CPU返回到主程序后会错误地再一次引起中断
15、响应。 (1)T0/T1和边沿触发的INT0/INT1:自动撤销(2)电平触发的INT0/INT1:CPU无法直接控制,需要在引脚处加硬件撤销中断请求。(3)串行口中断:CPU响应中断后不能用硬件清除中断标志位,必须由用户在中断服务程序中用指令来清除相应的中断标志。3)中断响应时间 MCS-51单片机响应中断的最短时间为3个机器周期,最长为8个机器周期。事件事件1 1事件事件2 2子程序子程序2 2子程序子程序1 1中断中断嵌套嵌套的概念:的概念: 主程序主程序中断中断中断中断例:每次按键都会触发例:每次按键都会触发INT0INT0中断,中断发生时中断,中断发生时将将LEDLED状态取反,产生
16、状态取反,产生LEDLED状态由按键控制的状态由按键控制的效果。效果。 void EX_INT0() interrupt 0 using 1void EX_INT0() interrupt 0 using 1 LED=LED; /LED=LED; /控制控制LEDLED亮灭亮灭 void main()void main() LED=1;LED=1;EA=1;EA=1;EX0=1;EX0=1;IT0=1;IT0=1;while(1);while(1); #include#define uchar unsigned char#define uint unsigned intsbit LED=P00
17、; 例:试编程,外部中断0采用下降沿触发,当外部中断0到来时,P1的8个端口为00H;外部中断1采用低电平沿触发,当外部中断1到来时,P1的8个端口为0FFH;分析外部中断0会否打断外部中断1? 练习:练习:试编程,目前单片机的试编程,目前单片机的P1P1在数在数55H55H和和0AAH0AAH之之间进行跳变,外部中断间进行跳变,外部中断0 0采用下降沿触发,当外部中采用下降沿触发,当外部中断断0 0到来时,到来时,P1P1的的8 8个端口均在个端口均在0 0和和1 1之间进行跳变,跳之间进行跳变,跳变变1010秒后退出中断。秒后退出中断。四、外部中断源扩展MCS-51单片机只提供了两个外部中
18、断请求输入端,在实际应用中,如果需要使用多于两个的外部中断源,就必须进行外部中断源的扩展。常用的几种外部中断源扩展方法是:利用单片机中的定时器/计数器T0、T1来扩展;外接硬件电路并配合查询程序扩展;外接中断控制芯片(如8259)进行扩展。实践实践利用单片机中断,扩展成8路抢答器的按键。实践:全自动洗衣机“启动/暂停”控制Ptoteus仿真 全自动洗衣机工作过程中,当遇到意外事件发生,如衣物缠绕,或需要干预洗衣进程时,如需要添加消毒液,就需要暂停当前洗衣进程,处理这些事件。假设全自动洗衣机有8个流程,用8个指示灯表示;用8个按键进行选择控制。当某个流程工作时,对应的指示灯点亮。当按下按键K时,
19、中断正在进行的流程,对应的流程指示灯闪烁,洗衣机进入等待状态;再次按下K时,指示灯停止闪烁,变成点亮状态,表示洗衣机恢复原来被中断的洗衣流程。X111.0592MHzC133pC233pVCCXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115U180C51PROGRAM=Text1.HEXSRCFILE=Text1.ASMR11kR21kR31kR41kR51kR61kR71kR81kVCCU2NOTU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行政管理与文化素养相结合的试题及答案
- 执业护士考试临床沟通与策略分析能力提升的实施与综合策略试题及答案
- 2025执业护士考试试题及答案的技巧
- 2025年行政策略试题及答案详细讲解
- 2025卫生资格考试常识点总结试题及答案
- 清新黑板风卡通儿童初中期末家长会
- 从实践中学习主管护师考试试题及答案
- 护理学考察试题专辑及答案2025年
- 行政法学与社会公共事务试题及答案
- 2025年护士执业考试知识竞赛试题及答案
- 北师大版小学四年级数学下册《优化》教学设计
- 班级管理(第3版)教学课件汇总全套电子教案(完整版)
- 两级全差动运算放大器的设计
- 防食物中毒和预防的主题班会
- 《中医护理学》第三章课件
- 泵站毕业设计
- 行政事业单位合同业务控制流程图
- 板房区临建设施技术标
- 美国AAMIST79最新修订条款解读----史绍毅[1]
- 危险性较大的分部分项工程清单及安全管理措施
- 理事会会议决议范文
评论
0/150
提交评论