版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汽车单片机与车载网络技术,第4章MCS-51单片机中断、定时系统及串行数据通信,本节知识点:,4.1 MCS-51单片机的中断系统,你正在看书,回来接着看书,电话铃响了,接电话,生活中的中断,4.1.1 中断的概念,中断是指计算机在执行某一程序的过程中, 由于计算机系统内、 外的某种原因, 而必须中止原程序的执行, 转去执行相应的处理程序, 待处理结束之后, 再回来继续执行被中止的原程序的过程。,概念,4.1.1 中断的概念,中断系统是计算机的重要指标之一。,4.1.1 中断的概念,某人看书 执行主程序 日常事务 电话铃响 中断信号如INT0 中断请求 暂停看书 暂停执行主程序 中断响应 书中
2、作记号 当前PC入栈 保护断点 电话谈话 执行中断程序 中断服务 继续看书 返回主程序 中断返回,日常生活中的中断与计算机中断的比较:,4.1.1 中断的概念,中断处理与子程序调用的区别 调用哪个子程序、完成什么任务是用户设计程序时事先安排好的,是采用子程序调用指令实现的;而中断事件发生是随机的,哪个事件发生、何时调用中断处理程序是事先无法确定的,在程序中无法事先安排调用指令,调用中断处理程序的过程是由硬件自动完成的。,4.1.1 中断的概念,中断系统:实现中断功能的部件 中断源:产生中断的请求源,即产生中断的原因。 中断请求:中断源向CPU提出的处理请求 中断响应过程:CPU暂时中止自身事务
3、,转去执行所发生的事件. 中断服务(中断处理):对事件的整个处理过程。 中断返回:处理完毕,再回到原来被中止的地方.,相关概念,4.1.1 中断的概念,中断的作用,实现高速CPU与慢速外设之间的配合; 实现实时处理; 实现故障的紧急处理; 便于人机联系。,及时处理突发事件,大大提升系统性能!,4.1.1 中断的概念,中断的应用,汽车被撬时,车灯闪烁报警,警报声响起 汽车超速时,GPS蜂鸣报警,4.1.1 中断的概念,11,51单片机中断系统结构,中断标志,中断选择,中断源允许,全局中断允许,中断优先级寄存器,4.1.2 MCS-51单片机中断源,1、中断源,你正在看书,回来接着看书,门铃响了,
4、接电话,生活中不止一个中断源,水开了,4.1.2 MCS-51单片机中断源,1、中断源 中断源是指在计算机系统中向CPU发出中断请求的来源,可以人为设定,也可以将突发性随机事件设置成中断源。,4.1.2 MCS-51单片机中断源,MCS-51单片机有5个中断源,2个中断优先级; 它的中断处理程序可实现两级嵌套,有较强的中断处理能力; 单片机对中断系统的管理是通过相关的专用寄存器来实现的。,4.1.2 MCS-51单片机中断源,16,51中断系统有4个SFR: TCON (88H) : SCON (98H) : IE (0A8H) : IP (0B8H) : 单片机中断系统就是由这4个SFR来控
5、制的。,4.1.2 MCS-51单片机中断源,17,你正在看书,回来接着看书,水开了,水壶是鸣叫几声提醒你,还是一直鸣叫?,(1)TCON的中断标志位,2.中断请求标志,18,2.中断请求标志,(1)TCON的中断标志位 TCON为T/C控制寄存器,也锁存T0和T1的溢出中断标志和INT0和INT1的中断标志等。 当中断源有中断时,由硬件自动对相应位置“1” 。 响应中断后由硬件自动清除相应的标志位。,TCON (88H),(LSB),(MSB),19,2.中断请求标志,(1)TCON的中断标志位,TCON (88H),IT0:外中断0(INT0)请求信号方式控制位(ICON.0) IT0=0
6、,低电平有效,即低电平引起中断; IT0=1,负跳变有效,即高电平跳变到低电平时引起中断。 IT1:外中断1(INT1)请求信号方式控制位(ICON.2) 作用同IT0,(LSB),(MSB),20,(2)SCON的中断标志位 SCON为串口控制寄存器, 锁存TI和RI的中断标志。 串口的发送和接收中断(逻辑或)共用一个中断源。 当发送或接收有中断时,由硬件对TI或RI置“1” 。 中断响应后需要由软件判断TI和RI位,并只能由软件清除TI或RI标志位。,SCON (98H),(LSB),(MSB),21,3.中断控制,(MSB),(LSB),IE (0A8H),中断申请后,CPU是否相应中断
7、,由IE相应位控制,可通过对IE编程来设置。 (1) 中断允许控制寄存器IE IE各位如下(1有效): EX0:INT0中断允许位; ET0:T/C0中断允许位; EX1:INT1中断允许位; ET1:T/C1中断允许位; ES:串口中断允许位; ET2:T/C2中断允许位(仅52系列有); EA:CPU中断总允许位。,22,51单片机复位后,IE被清“0” ,即所有中断被禁止。 要使某一个中断源被允许中断,除了IE相应的位的被置“1” ,还必须使EA位=1。 改变IE的内容,可由位操作指令来实现,即: SETB bit; CLR bit。 也可按自己来实现:MOV IE,#XXH,(MSB)
8、,(LSB),IE (0A8H),23,例1 若允许片内2个定时器/计数器中断,禁止其它中断源的中断请求。编写设置IE的相应程序段。 (1)用位操作指令来编写如下程序段: CLR ES ;禁止串行口中断 CLR EX1 ;禁止外部中断1中断 CLR EX0;禁止外部中断0中断 SETB ET0;允许定时器/计数器T0中断 SETB ET1;允许定时器/计数器T1中断 SETB EA;CPU开中断 (2)用字节操作指令来编写: MOV IE,#8AH,(2) 中断优先级控制寄存器IP,你正在看书,回来接着看书,门铃响了,接电话,几件事情同时发生,先处理哪一个呢?,水开了,25,(MSB),(LS
9、B),IP (0B8H),5个中断源可分2个优先级,由IP通过编程来设置。 (2) 中断优先级控制寄存器IP IP各位如下(“1”选为高级, “0”选为低级): PX0:INT0优先级设定位; PT0:T/C0优先级设定位; PX1:INT1优先级设定位; PT1:T/C1优先级设定位; PS:串行口优先级设定位; PT2:T/C2优先级设定位(仅52系列有)。,26,由软件可改变各中断源的中断优先级。 51的中断系统有两个不可寻址的“优先级激活触发器”: 一个是指示某高优先级的中断正在执行,所有后来的中断均被阻止。 另一个是指示某低优先级的中断正在执行,所有同级中断都被阻止,但不阻断高优先级
10、的中断请求。 当几个同一优先级的中断请求时,优先响应哪一个中断,取决于内部的查询顺序。 查询顺序如下:,27,2个优先级中,同级中断的优先次序如下:,28,例2 设置IP寄存器的初始值,使2个外部中断请求为高优先级,其它中断请求为低优先级。 (1)用位操作指令 SETB PX0;2个外中断为高优先级 SETB PX1 CLR PS;串口为低优先级中断 CLR PT0;2个定时器/计数器低优先级中断 CLR PT1 (2)用字节操作指令 MOV IP,#05H,29,4.1.3 MCS-51单片机中断响应与服务,一、中断响应条件 中断请求被响应需满足以下必要条件: (1)中断源有请求; (2)I
11、E的EA=1,且IE相应的中断允许位为1; (3)无同级或高级中断正在服务; (4)现行指令执行完最后一个机器周期。 若有下列任何一种情况存在,中断响应都会受到阻断。 (1)CPU正在执行一个同级或高优先级的中断服务程序。 (2)正在执行的指令尚未执行完。 (3)正在执行中断返回指令 RETI或者对专用寄存器IE、IP进行读/写的指令。,30,二、中断的响应 CPU响应中断后由硬件完成以下任务: (1) 被响应的中断优先级状态触发器置“1”; (2) 当前PC的内容压入堆栈,然后执行中断服务程序; (相当于隐含执行一条LCALL指令。) (3) 清相应的中断标志位; (串口中断标志 RI和TI
12、须由软件清除!) (4) 被响应的中断服务程序入口地址送入PC,转入相应的中断服务程序。 各中断源服务程序入口地址是固定的,如下所示:,31,中断源服务程序的入口地址,32,三、复位状态,33,四、外部中断的响应时间 外部中断的最短响应时间为3个机器周期: (1)查询中断请求标志位占1个机器周期。 (2)指令LCALL转到相应的中断入口需2个机器周期。 外部中断的最长响应时间为8个机器周期: (1)发生在CPU对中断标志查询时,刚好正要执行RETI或是访问IE或IP指令,则需把当前指令执行完再继续执行一条指令后才能响应中断,最长需2个机器周期。 (2)接着再执行一条指令, 按最长指令(MUL和
13、DIV)4个机器周期。 (3)硬件调用LCALL的执行需要2个机器周期。 对外部中断请求的响应时间在38个机器周期之间。,34,五、程序的初始化 复位后,PC指向0000H,一般在0000H处放置一条SJMP或AJMP指令跳转到0030H后,避开被占用区域; (由于中断服务的入口地址0003H、000BH、0013H、001BH、0023H、002BH被占用,故选在0030H以后。) 在中断服务程序各入口地址处放置一条LJMP指令,指向实际中断服务程序; 一般将SP指向30H后,避开内部RAM的工作寄存器组和位寻址区。 (复位后,SP指向内部RAM的07H单元,因内部RAM的00H1FH为R0
14、R7的4个区,而20H2FH为位寻址区。),35,51单片机程序的初始化: ORG 0000H AJMP MAIN;转主程序 ORG 0003H LJMP PINT0;转外部中断0 ORG 000BH LJMP TINT0;转定时器0 ORG 0013H LJMP PINT1;转外部中断1 ORG 001BH LJMP TINT1;转定时器1 ORG 0023H LJMP SINT;转串行通信,ORG 0030H MAIN:MOV SP,#30H . LJMP XXX PINT0:. RETI TINT0:. RETI PINT1:. RETI TINT1:. RETI SINT:. RETI
15、,36,对4个SFR的有关控制位进行赋值: (1)对IP选优先级; (2)对IE选各中断允许(总中断允许位EA暂不选); (3)若是外部中断,则对TCON确定触发方式; (4)最后开总中断EA=1。,37,例题:,如图所示是外部中断源为单片机控制的数据传输系统.P1口设置为数据输入口,外围设备每准备好一个数据时,发出一个选通信号,向CPU发出中断请求(int0),38,ORG 0000H START: LJMP MAIN ORG 0003H LJMP INT0 ORG 0030H MAIN : CLR IT0 SETB EA SETB EX0 MOV R0 , #30H ,;程序地址 ;转至主程序 ;中断服务程序入口 ;转至中断服务程序 ;设置外中断0为电平触发 ;CPU开总中断 ;开外中断0 ;设置数据区地址指针
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年周口市川汇区教育系统事业编人员招聘笔试参考题库及答案详解
- 2026年烟台市牟平区教育系统事业编人员招聘考试参考题库及答案详解
- 2026年内江市市中区教育系统事业编人员招聘笔试参考题库及答案详解
- 2026年南平市延平区教育系统事业编人员招聘笔试参考试题及答案详解
- 2026年西藏自治区教育系统事业编人员招聘考试备考题库及答案详解
- 2026年肇庆市端州区医疗系统事业编人员招聘考试备考题库及答案详解
- 2026年齐齐哈尔市建华区教育系统事业编人员招聘笔试参考题库及答案详解
- 2026年昆明市官渡区医疗系统事业编人员招聘考试备考题库及答案详解
- 2026年广州市白云区医疗系统事业编人员招聘考试备考题库及答案详解
- 2026年秦皇岛市海港区教育系统事业编人员招聘考试备考试题及答案详解
- 校长在2026秋季新学期第一次教师大会上讲话引用3个关键词:收心静心用心
- 生物安全考试卷及答案-生物安全知识理论考试
- 中国融通资源开发集团有限公司物资接收、仓储人员专项招聘87人考试参考题库及答案详解
- 起重机械使用单位安全管理制度
- 护理质量培训与技能提升
- 主变压器35KV送电施工方案
- TCCSA 604-2024温室气体 产品碳足迹量化方法与要求通信电缆
- 昆明滇池国家旅游度假区国有资产投资经营管理(集团)有限责任公司招聘考试试题
- 2025-2026学年扎染旗袍教案
- T∕WSJD 92-2025 硼中子俘获治疗设备质量控制检测规范
- 骑手行为规范管理制度
评论
0/150
提交评论