版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6 MCS-51系列单片机的中断系统,中断技术是单片机在实时处理和实时控制中不可缺少的重要环节。由于来自多方的中断请求都是随机发出的,如果采用查询方式来处理这些中断请求,则单片机的工作效率就会变的非常很低,实时性将得不到有效保证。,6.1 中断的概念,所谓中断,是指在CPU执行程序的过程 中,当出现某种情况,由服务对象向CPU发出 中断请求信号,要求CPU暂时中断当前程序的 执行,而转去执行相应的处理程序,待处理程 序执行完毕后,再返回来继续执行原来被打断 的程序。也就是说,中断是通过硬件来改变 CPU程序运行方向的一种技术,它既和硬件有 关,也和软件有关。,6.1.1 中断的过程,调用中断过
2、程 中断嵌套过程,6.1.2 中断源 一、I/O设备 通常要求它在输入或输出一个数据时能自动产生一个“中断请求”信号(TTL高电平或TTL低电平)送到CPU的中断请求输入线,以供CPU检测和响应。(如,打印机、键盘等) 二、控制对象 在单片机用作实时控制时,被控对象常常用作中断源,用于产生中断请求信号,要求CPU及时采集系统的控制参量、越限参数以及要求发送和接收数据等。(如, 电流、电压等),三、故障检查 当设备或系统发生故障时以中断的方式通知CPU对故障进行 分析处理。 四、实时时钟 在工业控制中,经常需要进行定时检测和控制,单片机内部 一般都有专门的定时器,当需要定时时,由CPU发出命令,
3、启动 定时器开始计时,待定时时间到,定时器向CPU发出中断申请, CPU响应处理。 五、人为设置 为了检查中间结果是否正确或者在查找错误,往往都要设置 断点或单步执行,这些都是人为设置的中断。,6.1.3 中断的好处 (1)实行分时操作,提高了CPU的效率; (2)实现实时处理; (3)进行故障处理; 62 MCS-51中断系统 6.2.1 中断系统的结构与控制 一、中断系统的结构 8051CPU有5个可屏蔽中断源(8052有6个)见表6-1。分2个中断 优先等级,允许实现二级中断嵌套。(8051标准型) (1)2个外部中断源和(从P3.2和P3.3引脚输入,中断标志为IE0 、IE1,触发方
4、式控制为 IT0、IT1) ) ;,(2)2个内部定时/计数器T0、T1(P3.4、P3.5计数输入,中断标 志为TF0、TF1); (3)一个全双工的串口发送或接收中断(P3.0、P3.1引脚输入, 中断标志TI、RI)。,二、中断的控制 申请中断的所有标志位均分别设在特殊功能寄存器TCON 和SCON中(关于TCON和SCON的其它用法将在第7、8章中 叙述)。 【这些标志位都可以用软件控制(与硬件控制的效果相同)。即用软件对某位置1,就相当于提出了对该种中断的申请,否则就撤销了这种中断申请。】 (一)中断标志 (1)TCON中的标志位(计数/定时),(2)SCON中的中断标志位(串口),
5、注意:在CPU响应串行口的中断后,硬件并不把 TI或RI中断标志清0,在使用时TI和RI必须由软件清0。,(二)中断允许寄存器IE,8051系统复位后,IE中各位均被清0,即禁止所有中断。 例如,如果要打开定时/计数器0和串口的中断,程序可以写成: SETB ET0 ;使ET0=1,允许T0中断 SETB ES ;使ES=1, 允许串口中断 SETB EA ;使EA=1,总允许中断必须打开,(三)中断源优先级设定寄存器IP 8051单片机具有两个中断优先级,每个中断源可变成为 高优先级中断或低优先级中断,并可实现二级中断嵌 套,即,高优先级中断源可中断正在执行的低优先级中 断服务程序;同级或低
6、优先级的中断源不能中断正在执 行的中断程序。,8051复位后,IP低5位全部清0,将所有中断源设置为低优先级中断。,MCS-51对同级中断源的优先权有规定 (见表6-6),例如: 一个应用系统设置了三种中断,串行口中断、定时/计数 器1中断和外部0中断,并使优先权顺序为TF1最高,IE0 之,RI+TI的中断优先权最低。对这样的系统,只要把中 断中断优先级控制寄存器IP的PT1位置“1”就可以实现 该系统对优先权顺序的要求了。程序可以写成: MOV IP,#08H ;00001000B,即PT1=1 在这种设置中,PT1=1,使定时/计数器1处在高级优先中,其它中 断源都处于低级优先权中,且因
7、在同一级中外部中断0最高。所以 足: PX1(定时/计数器1) PX0(外部中断0) PS(串行口)的优先 顺序。,6.2.2 MCS-51中断源的入口地址与过程,一、中断响应(保存用来地址-PC压栈) 二、中断返回(与到RETI返回) 三、中断响应时间 (至少要经过三个完整的机器周期 ),6.3 中断程序的设计与应用,6.3.1 中断服务程序的设计结构 一、硬件电路 二、整个程序的设计功能 三、中断程序的任务 设计中断服务程序往往要考虑: (1)设置中断允许控制寄存器IE的相应标志位; (2)设置中断优先级寄存器IP的相应位,确定并分配所使用的 中断源优先级; (3)若是外部中断源,还要设置
8、中断请求的触发方式IT0或 IT1,以满足硬件电路提供的中断方式; (4)编写中断服务程序,处理中断要求。,如,下列程序: ORG 0000H ;上电或复位入口地址 LJMP TO_MAIN ;无条件转移到主程序 ORG 0003H ;外部中断0入口地址 LJMP TO_INT0 ;跳到外部中断0中断服务程序处 ORG 001BH ;定时/计数器1入口地址 LJMP TO_T1 ;跳到定时/计数器1的中断服务程 ;序处 ORG 0023H ;串口中断入口地址 LJMP TO_SBUF ;跳到串口中断服务程序处 ,ORG 0100H ;程序区 ;外部中断0中断服务程序 TO_INT0:PUSH
9、PSW ;压栈保护PSW PUSH ACC ;压栈保护ACC ;处理中断 POP ACC ;从栈区弹出ACC POP PSW ;弹出PSW RETI ;返回主程序 ;定时/计数器1的中断服务程序 TO_T0:PUSH PSW ;压栈保护PSW PUSH ACC ;压栈保护ACC ;处理中断 POP ACC ;从栈区弹出ACC POP PSW ;弹出PSW RETI ;返回主程序,;串口中断服务程序 TO_SBUF:PUSH PSW ;压栈保护PSW PUSH ACC ;压栈保护ACC JB TI,TO_WIRE CLR RI ;清除RI标志 ;读串口数据 SJMP TO_SBUFEND TO_
10、WIRE:CLR TI ;清除TI标志 ;写串口数据 TO_SBUFEND:POP ACC ;从栈区弹出ACC POP PSW ;弹出PSW RETI ;返回主程序,;主程序部分 TO_MAIN: MOV SP,#70H ;设堆栈区首址 SETB ET1 ;打开定时/计数器1中断 SETB EX0 ;打开外部中断0中断 SETB ES ;打开串口中断 SETB IT0 ;设外部中断0为下降沿触发 SETB PT1 ;设T1为最高优先权 SETB PS ;设串口为较高优先权 SETB EA ;打开总的中断开关 ;主程序 END TO_MAIN,6.3.2 C51中断服务程序的设计结构 【见5.5
11、.3节 C51中断函数】 C51编译器仅仅需要关心中断号和寄存器组的选择就可以了。编 译器会自动产生中断向量和程序的入栈及出栈代码。在函数声明时 包括interrupt,将把所声明的函数定义为一个中断服务程序。另 外,可以使用using定义此中断服务程序所使用的寄存器组。中断 函数的定义格式为: void 函数名(void) interrupt n using m 其中: 关键字interrupt后面的n是中断号,n的取值范围为031; 关键字using 后面的m是所选择的寄存器组,取值范围03,该 项可以省略。 对于interrupt后面n的取值,编译器从8n+3处产生中断向量。具体 的中断
12、号n和中断向量取决于8051系列单片机型号,常用的中断源 和中断向量如表5-10所示。,使用关键字using在函数中确定一个工作寄存器组时必须十分小心,要保证任何寄存器组的切换都只在仔细控制的区域内发生,如果做不到这一点,将产生不正确的函数结果。 (建议不要轻易设置),例如,当外部中断0有信号输入时,使P1.7引脚电平翻转。程序 如下: #include /包含C51的头文件 sbit P17=P17; /定义P1.7引脚 void main (void) /主函数部分 P17=0 ; /使P1.7输出低电平 EX0 =1; /允许外部中断0中断 EA =1 ; /开中断 while(1); /等待 void int0_func(void) interrupt 0 /外部中断0处理函数 P17 = P17 ; /使P1.7引脚电平翻转 在这个例子中,using 缺省,寄存器组由编译器给定。,在编写8051单片机中断函数时应遵循以下规则: (1)中断函数不能进行参数传递,如果中断函数中包 含任何参数声明,都将导致编译出错; (2)中断函数没有返回值,如果企图定义一个返回 值,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47426-2026高轨星载北斗/GNSS接收机通用规范
- 《电工》理论考试试题及答案
- 土方路基检验批质量验收记录
- 项目开发计划
- 炎性肠病患者的肠道内分泌监测
- (辅导班)2026年新高三数学暑假讲义(基础班)第15讲 单调性问题(解析版)
- 2026届四川省广元市高三3月份第一次模拟考试语文试卷含解析
- 26年居家养老老人心理特征
- 【2025】黑河五大连池市事业单位招聘考试真题
- 【2026年】春内蒙古开放大学城市轨道交通行车组织作业3
- 中国血脂管理指南2025版精要
- 方太电烤箱KQD50F-C2说明书
- DB11∕T 2210-2024 城市综合管廊数据规范
- 纵隔肿瘤手术麻醉管理
- 2025至2030年中国卡纸包装盒行业投资前景及策略咨询研究报告
- 【公开课】巴西+课件-2024-2025学年七年级地理下学期人教版
- 虚拟仿真实验室施工方案
- DG∕TJ 08-2188-2015 应急避难场所设计规范
- 2025公司登记管理实施新规内容解读课件
- 民族团结先进班集体事迹材料7篇
- 【MOOC】金融学-郑州航空工业管理学院 中国大学慕课MOOC答案
评论
0/150
提交评论