版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4讲 中断(zhngdun)系统共五十页一、中断技术(jsh) 二、MCS - 51中断系统三、中断处理过程本讲主要(zhyo)内容:共五十页1.了解单片机的中断系统结构2.熟悉中断控制寄存器3.掌握(zhngw)中断处理的过程要求(yoqi):共五十页日常(rchng)中断的例子 看书 接电话 看书电话铃响你正在专心看书,突然电话铃响,你记下正在看的书的页码(ym),接完电话后,再回来接着看书。共五十页计算机中的中断(zhngdun)概念中断是指计算机在执行某一程序的过程中, 由于计算机系统内、外的某种原因,而必须中止原来程序的执行,转去执行相应(xingyng)的处理程序,待处理结束之后
2、,再回来继续执行被中止的原程序的过程。主程序响应中断请求中断服务子程序返回主程序继续执行主程序随机事件中断是指由于某种随机事件的发生,计算机暂停正在运行的程序,以处理随机事件,处理完后又返回原来的程序继续运行。思考:中断与子程序的相似点和不同点是什么?中断源:能引起中断的事件。主程序:被打断的程序。中断服务子程序:处理随机事件的程序。共五十页为什么应用中断(zhngdun)技术解决快速CPU和慢速外设之间的矛盾。提高CPU和外设的工作效率。引进中断(zhngdun)技术的优点共五十页分时操作CPU可以同多个(du )外设“同时”工作实时处理CPU及时处理随机事件故障处理计算机利用中断系统可以自
3、行处理运行过程中事先预料不到的情况或故障(如电源掉电、存储出错、运算溢出等)。引进中断技术(jsh)的优点共五十页外部设备中断(zhngdun)源计算机的输入/输出设备,如键盘、打印机等,可通过接口电路向CPU申请中断。故障源产生故障信息的来源。内部和外部。内部故障源:执行指令时产生的错误情况,如除法中除数为零等。外部故障源:主要有电源掉电等情况。中断(zhngdun)源共五十页控制对象中断源如电压、电流、温度等超过(chogu)上限或下限时,以及继电器、开关闭合断开时都可作为中断源向CPU申请中断。定时/计数脉冲中断源中断(zhngdun)源共五十页实现中断及返回(fnhu) 实现优先权排队
4、中断嵌套 高级中断源能中断低级中断处理中断(zhngdun)系统的功能共五十页中断(zhngdun)流程图主程序响应中断请求中断服务程序返回主程序继续执行主程序随机事件共五十页中断(zhngdun)嵌套流程图主程序响应低级中断请求低级中断服务程序返回主程序继续执行主程序随机事件响应高级中断请求高级中断服务程序返回低级中断程序断点共五十页中断(zhngdun)系统的结构中 断 源1中断标志2中断允许3中断优先级4有关寄存器5共五十页中 断 源中断结构图8051有5个中断源:外部输入中断源INT0(P3.2)外部输入中断源INT1(P3.3)定时计数器T0的溢出定时计数器T1的溢出串行口发送或接收
5、中断源单片机引脚图TCON共五十页中断(zhngdun)系统的结构图TCONSCONIEIP自然(zrn)优先级矢量地址共五十页自然(zrn)优先级中断源自然优先级次序INT0最高最低T0溢出中断INT1T1溢出中断串行口返回(fnhu)共五十页中断入口(r ku)地址002AH0023H:串行口中断入口001BH:定时器1溢出中断入口0013H:外部中断1入口000BH:定时器0溢出中断入口0003H:外部中断0入口0000H:复位后,程序(chngx)的入口地址共五十页中断(zhngdun)系统的结构图IE共五十页(MSB)(LSB)返回(fnhu)TCON:定时(dn sh)/计数器控制
6、寄存器(88H)SETB 88HCLR IT1共五十页SCON:串行口控制(kngzh)寄存器(98H)(MSB)(LSB)返回(fnhu)共五十页IE:中断(zhngdun)允许寄存器(A8H)(MSB)(LSB)返回共五十页IP:中断(zhngdun)优先级寄存器(B8H)(MSB)(LSB)返回共五十页 某软件(run jin)中对寄存器IE、 IP设置如下:IE=0 x8F;IP=0 x06; CPU中断允许情况如何? 各中断源允许情况如何? 允许中断源的中断优先次序如何? 例 题CPU允许中断; 允许外部中断0、外部中断1、定时器/计数器 0、定时器/计数器1提出(t ch)的中断申
7、请; 允许中断源的中断优先次序为: 定时器/计数器0外部中断1外部中断0定时器/计数器1。 共五十页单片机结构(jigu)引脚图返回外部(wib)中断0外部中断1?共五十页中断(zhngdun)处理分三个阶段中断(zhngdun)响应中断处理中断返回主程序中断响应中断服务子程序中断返回继续执行主程序随机事件共五十页中断响应在满足CPU的中断响应条件之后,CPU对中断源中断请求的回答。中断响应过程保护断点把程序转向中断服务程序的入口地址(通常称矢量地址)。特别注意(zh y):这些工作是硬件自动完成的!中断(zhngdun)响应主程序中断响应中断服务子程序中断返回继续执行主程序随机事件中断服务子
8、程序的地址断点地址共五十页中断(zhngdun)入口地址中断服务子程序的入口地址(dzh)又称中断矢量或中断向量单片机中5个中断源的矢量地址是固定的。(不能随意设置)共五十页中断入口(r ku)地址002AH0023H:串行口中断入口001BH:定时器1溢出中断入口0013H:外部(wib)中断1入口000BH:定时器0溢出中断入口0003H:外部中断0入口0000H:复位后,程序的入口地址使用时通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序的实际地址上去。例:包含INT0中断函数的程序结构: ORG 0000H AJMP MAIN ORG 0003H AJMP IN
9、TT0 ORG 0100HMAIN: INTT0: RETI ENDAJMP MAINAJMP INT0主程序中断服务子程序例:包含INT0中断函数的程序结构:#include #include viod INT0_ISR(void) interrupt0;void main() EA=1;/*CPU开中断*/ EX0=1; while (1) viod INT0_ISR(void) interrupt0主函数外部0中断中断函数共五十页CPU响应中断后即转至中断服务程序的入口(r ku)。中断处理包括两部分内容:一是保护现场,二是为中断源服务。中断(zhngdun)处理共五十页中断处理 中断服
10、务程序从入口地址开始(kish)执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。中断服务子程序一般包括两部分内容保护和恢复现场处理中断源的请求(为中断源服务)中断(zhngdun)处理主程序中断响应中断服务子程序中断返回继续执行主程序随机事件入口地址RETI共五十页1、现场:PSW、通用工作寄存器、特殊功能寄存器等。 保护(boh)现场; 恢复现场。 2、中断服务是针对中断源的具体 要求进行处理。中断(zhngdun)处理共五十页例如, 现有外部(wib)中断 1 提出申请, 且主程序中有DPTR、累加器A、PSW需保护, 则编制程序应为: ORG 0000H AJMP M
11、AIN ORG 0013H LJMP INT1 ORG 0100HMAIN: ; 主程序 共五十页 ORG 1000HINTT1:PUSH ACC PUSH DPH PUSH DPL PUSH PSW ;中断(zhngdun)源服务 POP PSW POP DPL POP DPH POP ACC RETI 保护(boh)现场恢复现场中断服务子程序共五十页中断返回是指中断服务完后,返回到原来暂停的位置(即断点(dun din)),继续执行原来的程序。中断返回由专门的返回指令RETI来实现。中断(zhngdun)返回主程序中断响应中断服务子程序中断返回继续执行主程序随机事件共五十页 中断处理程序的
12、最后一条指令是中断返回(fnhu)指令RETI。它的功能:是将断点弹出送回PC中,使程序能返回到原来被中断的程序继续执行。清除优先级状态触发器和部分中断标志。中断(zhngdun)返回思考:能用RET代替RETI吗?共五十页中断(zhngdun)处理过程示意图中断源发中断请求中断响应条件是否满足?中断是否受阻?把PC断点地址压入堆栈相应中断源的中断入口地址送PC,转向中断服务子程序由硬件自动(zdng)完成YYNN共五十页中断(zhngdun)服务子程序关中断保护现场开中断中断服务关中断中断返回断点地址由堆栈弹入PC恢复现场开中断保护和恢复现场后的开中断,是为了允许有更高级中断打断此中断服务子
13、程序。保护现场和恢复现场的过程不允许中断,以免破坏现场。硬件(yn jin)自动完成RETI共五十页利用外部(wib)中断0向CPU申请中断,中断服务将P1口作为输出。中断(zhngdun)应用举例共五十页 ORG0000HAJMPMAIN ;转向(zhunxing)主程序ORG0003H ;外部中断0入口地址AJMPWINT ;指向中断服务程序ORG0100H ;主程序MAIN:SETBIT0 ;选择边沿触发方式SETBEX0 ;允许外部中断0SETBEA ;CPU允许中断HERE:AJMPHERE ;主程序踏步中断(zhngdun)应用举例共五十页中断服务程序: ORG0200HWINT:
14、MOV P1,#0FH ;P1口输出(shch) RETI ;中断返回 END中断(zhngdun)应用举例共五十页#include #include viod INT0_ISR(void) interrupt0;void main()IT0=1 ;/选择边沿触发(chf)方式EX0=1 ;/允许外部中断0EA=1 ;/CPU允许中断while(1) ;/主程序踏步中断应用(yngyng)举例共五十页中断(zhngdun)函数:void INT0_ISR(void) interrupt 0P1=0 x0F;/P1口输出中断(zhngdun)应用举例共五十页利用外部中断1向CPU申请中断,中断服
15、务(fw)将P1口的发光二极管循环点亮作为输出。中断应用(yngyng)举例共五十页#include unsigned char i=0 x01;viod INT1_ISR(void) interrupt 2;void main()P1=0 xff;IT1=1;/选择边沿触发方式(fngsh)EX1=1;/允许外部中断0EA=1;/CPU允许中断while(1);/循环等待中断应用(yngyng)举例共五十页中断函数(hnsh):void INT1_ISR(void) interrupt 2i=1;if(i=0)i=1;/*移位8次后,i将变为0,因此需要重新赋值*/P1=i;中断应用(yng
16、yng)举例共五十页用定时器T0的方式(fngsh)2,控制发光二极管每秒闪一次。实例(shl)共五十页#include #include sbit LED=P00; /*发光管控制位定义(dngy)*/unsigned int count=0; /*方式2中断计数器*/程序清单共五十页void time0(void) interrupt 1 count+; /*每中断(zhngdun)一次,计数器加1*/ if(count=2000) /*2000次为0.5秒*/ count=0; LED=LED; 程序清单共五十页void main( ) TMOD=0 x02; /*T0工作于方式2*/ TH0=-250; /*时间常数(sh jin chn sh)为250us*/ TL0=-250; ET0=1; /*允许T0中断*/ TR0=1; /*启动T0定时*/ EA=1; /*CPU开中断*/ while (1); 程序清单共五十页内容摘要第4讲 中断系统。二、MCS - 51中断系统。CPU可以同多个外设“同时”工作。CPU及时处理随机事
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林省英语小学五年级上学期期中试题及答案指导(2024-2025学年)
- 双十一消费心理解析
- 《常用电工材料》课件
- 《云平台功能介绍》课件
- 水系生态修复及河道治理工程监理规划
- 公路养护工职业技能竞赛理论复习试题及答案
- 《班队会流程》课件
- 《电力行业投资分析》课件
- 2025版一轮高考总复习数学第十章教考衔接10⇒过“三关”破解概率与统计的综合问题
- 护理不良事件案例分析及整改措施
- 职业发展与就业指导课件
- 2023年03月四级真题全3套
- 仓库货物验收程序与标准
- 服装刺绣实施方案简述
- 《一片叶子》课件
- 工商企业管理-基于消费者行为的苏宁易购营销策略研究
- 马克思主义经典著作选读智慧树知到课后章节答案2023年下四川大学
- 特殊教育:培智义务教育课程标准(绘画与手工)
- 华师大版 初中科学 八上《第3章 浮力》 基础练习(含答案)
- 《乡土中国》之差序格局 统编版高中语文必修上册
- 垃圾渗滤液处理站运维及渗滤液处理投标方案(技术标)
评论
0/150
提交评论