已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-,1,第5章单片机的中断系统,5.1中断的概念5.2中断控制系统5.3中断处理过程5.4中断的编程及应用,-,2,5.1中断的概念5.2中断控制系统5.3中断处理过程5.4中断的编程及应用,5.1中断的概念,-,3,某人正在看报,电话铃响了,去接电话,继续接电话,继续看报,跑向厨房,关煤气、灌开水,水开了,日常生活的中断现象举例,-,4,计算机的中断应用举例,-,5,要求:若有按键压下,使LED的状态反转。,实例1单片机开关状态检测,#include#includesbitp1_0=P10;voiddelay(void)/延时程序inta=5000;while(a-)_nop_();voidINT0_srv(void)interrupt0using1/外部中断0处理程序delay();if(INT0=0)p1_0=!p1_0;while(INT0=0);voidmain()p1_0=0;EA=1;EX0=1;while(1);,-,6,1、主程序(死循环)中并没有调用int0_srv()函数,它是如何自动执行的?2、主程序中那几个变量赋值语句的作用是什么?3、这种程序结构的意义是什么?,问题:,#include#includesbitp1_0=P10;voiddelay(void)/延时程序inta=5000;while(a-)_nop_();voidINT0_srv(void)interrupt0using1/外部中断0处理程序delay();if(INT0=0)p1_0=!p1_0;while(INT0=0);voidmain()p1_0=0;EA=1;EX0=1;while(1);,-,7,1、int0_srv()是一个中断服务程序,是系统在感受到某种特定信息后自动启动的;2、那几个变量赋值语句是针对中断系统的管理命令;3、可使系统实现多任务操作功能。,解答:,#include#includesbitp1_0=P10;voiddelay(void)/延时程序inta=5000;while(a-)_nop_();voidINT0_srv(void)interrupt0using1/外部中断0处理程序delay();if(INT0=0)p1_0=!p1_0;while(INT0=0);voidmain()p1_0=0;EA=1;/开CPU中断EX0=1;/开外部中断1while(1);,-,8,中断是指在突发事件到来时先中止当前正在进行的工作,转而去处理突发事件。待处理完成后,再返回到原先被中止的工作处,继续进行随后的工作。,中断与子程序调用的区别:一般子程序的返回断点是已知的中断子程序的返回断点是随机的,中断源、中断请求、中断服务等概念:引起突发事件的来源称为中断源中断源要求服务的请求称为中断请求对中断请求提供的服务称为中断服务中断管理系统处理事件的过程称为中断响应过程,中断,-,9,1、可实现分时操作(CPU与多个外设并行工作),2、可实现实时处理(被控对象信息随机变化),3、可进行故障处理(及时处理突发事件),中断的意义:,-,10,5.1中断的概念5.2中断控制系统5.2.1中断系统的结构5.2.2中断管理寄存器5.3中断处理过程5.4中断的编程及应用,5.2中断控制系统,-,11,引脚P3.2的电平/脉冲变化外部中断0,INT0引脚P3.3的电平/脉冲变化外部中断1,INT1定时/计数器0产生溢出定时器0中断,T0定时/计数器1产生溢出定时器1中断,T1串口一帧数据发送/接收完成串口中断,TI/RI,80C51具有五个中断源:,5.2.1中断系统的结构,-,12,五个中断源可以引导五个中断服务程序,中断服务程序的入口地址向(矢)量地址(ROM地址单元)。,中断服务程序的入口地址,-,13,5.1中断的概念5.2中断控制系统5.2.1中断系统的结构5.2.2中断管理寄存器5.3中断处理过程5.4中断的编程及应用,5.2中断控制系统,-,14,共有四个中断管理寄存器TCON、SCON、IE、IP,5.2.2中断管理寄存器,-,15,IT0:外部中断0触发方式选择位0:低电平触发1:负跳变触发IE0:外部中断0中断请求标志IT1、IE1类似IT0、IE0,分别是外部中断1触发方式选择位和外部中断1中断请求标志TR0:定时/计数器0运行控制位0:停止1:运行TR1:定时/计数器1运行控制位0:停止1:运行TF0:定时/计数器0中断请求标志位TF1:定时/计数器1中断请求标志位TR1、TF1类似TR0、TF0,用作定时/计数器1的启停控制位和中断请求标志位,(1)定时器控制寄存器(TCON),-,16,IT1和IT0:INT1和INT0的触发方式选择位0电平,1脉冲,边沿触发在脉冲结束后,中断请求信号即可自行消失但电平触发信号却不会立即自行消失引起继续中断请求建议减量采用边沿触发方式,(1)定时器控制寄存器(TCON),TCON复位值00H,默认状态为:无中断请求+电平触发,-,17,TI:串口发送中断标志位,一帧内部数据被送入发送缓冲器后由硬件自动置1发送中断请求中断响应后,标志位需要用软件方式撤销,RI:串口接收中断标志位,一帧外部数据被送入接收缓冲器后由硬件自动置1接收中断请求中断响应后,标志位需要用软件方式撤销,(2)串口控制寄存器(SCON),-,18,EA:中断总允许位,1开放全部中断,0禁止全部中断ES:串口中断允许位,1允许,0禁止ET1和ET0:定时器中断允许位,1允许,0禁止EX1和EX0:外部中断允许位,1允许,0禁止,(3)中断允许寄存器(IE),-,19,中断源、中断入口、标志位、使能位,-,20,PS:串口优先级设定位,1高优先级,0低优先级PT1和PT0:T1和T0的优先级设定位,1高优先级,0低优先级PX1和PX0:INT1和INT0的优先级设定位,1高优先级,0低优先级,自然优先顺序,逐渐,(4)中断优先级寄存器(IP),-,21,中断源、中断入口、标志位、使能位、优先级设置位,-,22,1)高级中断请求可以打断正在执行的低级中断;2)同级或低级中断请求不能打断正在执行的中断;3)同级中断源同时提出请求时按自然优先级响应:INT0T0INT1T1TI/RI4)单片机复位时,IP各位都被置0,所有中断源为低级中断,优先级原则:,-,23,中断系统的结构小结,-,24,5.1中断的概念5.2中断控制系统5.3中断处理过程5.3.1中断响应条件5.3.2中断响应过程5.3.3中断的撤消5.4中断的编程及应用,5.3中断处理过程,-,25,有中断请求(标志位置1)中断总允许位EA=1,即CPU要开中断中断源允许位为1,即没有被屏蔽无同级或者更高级中断正在被服务,5.3.1中断响应条件,中断响应的基本条件如下:,注意:下列任何一种情况存在时,中断响应都会阻止而无法得到响应:(1)CPU正在执行一个同级或高优先级的中断服务程序;(2)正在执行的是一条指令还没有执行完;(3)当前正的执行的指令是RETI或访问IE或IP的指令。,-,26,机器周期的S6期间,CPU对中断标志位采样阻断同级或低级中断将程序断点存入栈区中断矢量地址装入PC,转入对应的入口地址中断响应时间为38个机器周期,5.3.2中断响应过程,CPU在中断响应完成后完成如下操作,(1)硬件清除中断标志(串行中断除外)。(2)执行一条硬件子程序,保护断点,并转向中断服务程序入口。(3)中断服务,即为相应的中断源服务。(4)结束中断服务时,通过执行RETI指令恢复断点,返回主程序。,-,27,中断响应后,中断请求标志位和中断请求信号应及时清除,否则就意味着中断请求仍然存在。,5.3.3中断的撤消,-,28,关中断(防止高级中断对现场保护的干扰)保护现场(将PSW,Rn,A等内容压入堆栈)开中断(允许高级中断请求)中断服务(处理中断事件)关中断(防止高级中断对现场恢复的干扰)恢复现场(将PSW,Rn,A等内容弹出堆栈)开中断(允许高级中断请求)中断返回(断点弹出”优先级激活“触发器复位),可视需要缺省,可视需要缺省,中断服务程序执行流程,-,29,5.4中断的编程及应用,5.1中断的概念5.2中断控制系统5.3中断处理过程5.4中断的编程及应用5.4.1中断程序设计举例5.4.2扩展外部中断源,-,30,C51中断服务程序是一种特殊的函数,它的说明形式为:,void函数名(void)interruptnusingm函数体语句,interrupt表示该函数是一个中断服务函数,整数n表示该中断服务函数对应哪一个中断源,5.4.1中断程序设计举例,-,31,usingm指定该中断服务程序要使用的工作寄存器组号,m为03。若缺省using项,则编译系统默认为是当前工作寄存器组。,C51中断服务程序是一种特殊的函数,它的说明形式为:,void函数名(void)interruptnusingm函数体语句,-,32,在不查询按键时,如何得知按键有动作动作?,如何保证能快速响应按键操作,又不过多占用CPU时间?,中断扫描法只有在键盘有键按下时,才执行键盘扫描程序。如无键按下,CPU可不考虑键盘的存在。,查询扫描法需要花费很多CPU机时,在CPU任务繁重的情况下往往无法实现。,实例2中断扫描法行列式键盘,-,33,增加一个与门,利用按键压下时的电平产生INT1中断请求信号;改用P0口(中断接P3.3)。,改进硬件电路:,-,34,#includecharled_mod=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x58,0 x5e,0 x79,0 x71;/led字模charkey_buf=0 x11,0 x21,0 x41,0 x81,0 x12,0 x22,0 x42,0 x82,0 x14,0 x24,0 x44,0 x84,0 x18,0 x28,0 x48,0 x88;/键值#defineuintunsignedint#defineucharunsignedcharvoidinit();/初始化函数voidkey_scan();/键盘扫描函数bitint1_flag;/外部中断1标志变量charkey=0,k=0;/键值,显示下标voidmain()P2=0 x00;/关显示P0=0 xf0;/为扫描键盘做准备init();/初始化while(1)/无限循环if(int1_flag)P2=led_modk;/有外部中断1,则将键盘扫描结果送显示int1_flag=0;/外部中断1标志变量复位,实例2的C语言程序,-,35,voidinit()/初始化程序IE=0 xff;/允许所有中断IP=0 x04;/外中断1为高中断优先级TCON=0 x05;/外部中断0和外部中断1圴设置为负跳变触发int1_flag=0;/外部中断1标志复位P0=0 xf0;/P0端开始初始化为低四位全为0,高四位全为1voidkey_scan()interrupt2/外部中断1服务程序uintt;chari;ucharkeycode,scancode,flag=0 xff;/键码,扫描码,标志int1_flag=1;/外部中断1标志置位t=5000;while(t-);/延时,避免干拢信号if(INT1=1)return;/按非中断不做处理EX1=0;/中断有效,先关键盘中断scancode=0 xf7;/设扫描码,实例2的C语言程序(续),-,36,实例2的C语言程序(续),while(scancode!=0 xff)/有键被按下P0=scancode;/扫描码为11110111,即开始扫描P0.3所在的行keycode=P0;/读出数据,看是否是该行上某列键盘被按下if(keycode,-,37,运行效果图,-,38,两个外部中断同时存在,其中INT0用于计数统计,INT1用于蜂鸣器,主程序刷新计数显示,实例,-,39,ORG0000HSJMPMAINORG0003H;INT0中断矢量SJMPEXT0ORG0013H;INT1中断矢量SJMPEXT1MAIN:MOVIE,#10000101B;INT0,1中断使能MOVIP,#00000001B;INT0中断优先MOVTCON,#0000101B;INT0,1中断下降沿触发MOVR2,#0;LOOP:MOVP2,R2CLRP3.0SJMPLOOPEXT0:INCR2;INT0中断子程序RETIEXT1:SETBP3.0;INT1中断子程序ACALLDELAYRETIDELAY:MOVR3,#255;延时子程序DEL:MOVR4,#255DJNZR4,$DJNZR3,DELRETEND,-,40,5.4.2扩展外部中断源,1.利用定时器扩展外部中断源如果将定时器设置在计数状态
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025求是杂志社招聘高校毕业生6人(公共基础知识)测试题附答案
- 2025年宁德师范学院单招(计算机)测试备考题库附答案
- 大坝咀小区租房协议书
- 2026年一级造价师之建设工程造价管理考试题库500道附答案【典型题】
- 2026年河源职业技术学院单招(计算机)测试备考题库附答案
- 2026五矿资本校园招聘(公共基础知识)测试题附答案
- 2026年上海商学院单招(计算机)测试备考题库附答案
- 2026年天府新区信息职业学院单招(计算机)考试参考题库附答案
- 2026年正德职业技术学院单招(计算机)考试备考题库附答案
- 酒店承包协议书范本
- 2025年海洋平台维护五年优化报告
- 辽宁省沈阳市皇姑区2024-2025学年七年级上学期期末道德与法治试卷
- 辽宁省盘锦市兴隆台区2024-2025学年九年级上学期期末数学试题
- 2026年动物检疫检验员考试试题题库及答案
- 2025年广西公需科目答案6卷
- GB/T 23720.3-2025起重机司机培训第3部分:塔式起重机
- GB/T 7129-2001橡胶或塑料软管容积膨胀的测定
- GB/T 35347-2017机动车安全技术检测站
- GB/T 14413-1993船用舷窗
- 急性呼吸窘迫综合征
- 危险化学危险品及危险工艺课件
评论
0/150
提交评论