版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章输入输出与中断,5.1输入输出信息的传送方式5.2中断的概念5.3MCS-51单片机的中断系统5.4中断应用举例,5.1输入输出信息的传送方式,5.1.1输入输出的概念输入:通过键盘、开关和BCD拨码盘等把数据输入给计算机的过程。输出:通过计算机把结果输出给显示器、指示灯、微型打印机等的过程。5.1.2输入输出信息种类计算机与输入输出设备之间交换信息,有三种信息形式:数据信息、控制信息和状态信息。,5.1.3输入输出设备与CPU的连接计算机的CPU与外设,并不直接相连,而是通过接口电路进行连接。它们的连接关系如图5-1所示。,三个概念了解一下,5.1.4CPU对外设的编址方式CPU与接口
2、交换信息也必须给每一个接口赋一个地址,且此地址是唯一的,这个地址称为端口地址。所有的端口都需要编址。常用的编址方式有统一编址和独立编址。51单片机采用统一编址方式。接下去就来看看这个统一编址的概念:统一编址是把主存储器的一部分地址空间分给端口,把每一个端口作为一个存储单元。也就是对端口信息处理的时候就像对外部数据存储器处理的时候一样,采用相同的指令。,补充内容:(地址的译码)以上了解了单片机外围芯片的编址方式,但是还不了解外围芯片地址的组成(地址的译码)。对外围芯片进行处理的时候主要要完成两个选择:一是必须选择出要操作的芯片,(片选);二是选出该芯片的存储字节单元。也就是真正的地址是由两部分组
3、成的,片选加字节单元。,常用方法:线选法和译码法,线选法:把单片机单根地址线直接连接到外围电路芯片或外设的片选端,以此获得一确定的地址信号,由此选通该外围电路.如下图:,上图中片选信号全部由P2口单线选通.芯片的内部的地址值,如6116的A0-A10,8255的A1,A0等,已由单片机提供了内部地址.,这种方法简单,但地址重叠太多,地址空间未能充分利用。所以一般用在外围电路较少的系统中。,译码法:通常采用译码器对单片机的高位地址进行译码,译出的信号作为片选信号。(解释一下138工作原理),上例中通过改变P2.7、P2.6、P2.5的组成就可以来进行片选,5.1.5CPU与外设之间的数据传送方式
4、CPU与外设之间的数据传送方式通常有以下3种方式:无条件传送方式、查询方式和中断方式。,1、无条件传送方式当CPU与外设之间的数据传送采用无条件传送方式时,CPU总是认为外设时刻处于“准备好”的状态。因此,采用这种数据传送方式不需要交换状态信息。比如将显示代码送给LED数码管的时候就可以采用这种方式。,2、查询传送方式查询外设是否准备好等待数据传送,优点:通用性好缺点:CPU利用率比较低,延时等待的过程中,CPU只能处理延时程序,不能做别的事情.,3、中断传送方式为了避免查询等待时间,提高CPU利用率,可以采用中断方式传送数据.在这种方式中,CPU不需要每时每刻去查询,在中断信号每来的时候CP
5、U可以做别的事情.只有当中断信号来的时候,CPU才暂停工作,去执行中断服务程序.这样就提高了利用率.,5.2中断的概念,一、中断的定义所谓中断,是指CPU正在处理某些事务的时候,外部又发生了某一事件,请求CPU及时处理。于是,CPU暂时中断当前的工作,转而处理所发生的事件。处理完毕,再回到原来被中断的地方,继续原来的工作。这样的过程,称为中断。,二、中断系统1、几个技术名词中断源:产生中断请求的事件(外部中断0,外部中断1,定时器T0中断、定时器T1中断、串行口中断)中断请求(中断申请):中断源向CPU提出的处理请求中断响应过程:CPU暂时中止自身事务,转去执行事件处理的过程中断服务(中断处理
6、):对事件处理的整个过程中断返回:事件处理完毕再回到原程序被中止的地方,继续执行程序主程序:在中断之前正在运行的程序中断服务程序:响应中断之后CPU执行的处理程序,2、中断系统的任务(主要解决的问题)(1)中断源以什么方式提出中断,CPU如何识别提出中断的中断源回答:通常CPU为每个中断源设置一个中断请求触发器,把该触发器置“1”,就会向CPU发出中断请求且一直保持这一状态,直到CPU响应该中断请求,并且清除这一信号,才会结束请求。,(2)不同设备有不同的中断服务程序,CPU如何来获得相应中断服务程序的起始地址(入口地址)回答:MCS-51单片机拥有五个中断源,为明确入口地址,给每一个中断源设
7、定了相应的服务程序入口地址。,现代计算机一般采用硬件电路根据提出中断请求的中断源的不同,自动找到该中断源中断服务程序的入口地址。,(3)当CPU响应某设备的中断请求正在为其服务时,其他设备是否可以中断CPU,回答:在多重中断系统(中断套嵌)中,如果新来一个优先级别更高的中断请求,则CPU应该中断现行的中断服务程序,响应高级别的中断。,(4)两个以上设备同时请求中断时应如何处理回答:用户根据事件处理的轻重缓急设置各中断源的优先级别,当多个中断源同时发出请求时,CPU根据中断优先级别来依次执行中断服务程序。,中断源的优先级别如何来设置,一会就讲到,5.3MCS-51单片机的中断系统,5.3.1中断
8、系统的内部结构MCS-51单片机中断系统的结构,如图5-5所示。,1、中断源(1)外部中断源INT0、INT1是由外部输入的两个中断源,分别对应单片机的12和13管脚。直接触发寄存器TCON的IE0、IE1,产生中断标志。触发方式有两种,一种是下降沿触发,一种是低电平触发。外部中断源的触发方式由TCON寄存器中的IT0、IT1来决定。下面介绍TCON寄存器中的IE0、IT0、IE1、IT1。TCON中的位格式如下:,IE0:为外部中断INT0的请求标志位。当INT0引脚上出现中断请求信号(低电平或脉冲下降沿)时,硬件自动将IE0置“1”,产生中断请求标志。中断响应以后:a、如果为下降沿触发,则
9、硬件自动将该位清0;b、如果是低电平触发,则必须由软件即使清0。IT0:外部中断INT0触发方式控制位。由软件来置“1”或清“0”,以控制外部中断INT0的触发方式。当IT0=1时,外部中断INT0为下降沿触发。即外部中断INT0出现下降沿时,触发IE0,使其为“1”;当IT0=0时,外部中断INT0为电平触发。即外部中断INT0出现低电平时,触发IE0,使其为“1”。IE1:为外部中断INT1的请求标志位。功能与IE0相同。IT1:外部中断INT1触发方式控制位。功能与IT0相同。,(2)内部中断源内部中断源分定时器T0和T1溢出中断源,以及串行口发送接收中断源。MCS-51内部有2个定时器
10、计数器,我们分别称它们为定时器T0和定时器T1,定时器T0和T1内部都有各自的计数器。当计数器计满时,会产生溢出,同时发出溢出信号,产生溢出中断,使各自的中断标志位TF0、TF1置“1”,产生中断请求标志。TF0和TF1为TCON寄存器中的2位,有中断时候分别会自动置1。中断响应以后,自动清0。,TF0:定时器T0的溢出中断标志位。TF1:定时器T1的溢出中断标志位。另一个内部中断源为串行口发送接收中断源。其中断标志位占用SCON寄存器中的2位,它们是发送中断请求标志TI和接收中断请求标志RI。SCON寄存器的位格式如下:,TI:串行口内部发送中断请求标志位。当串行口发送完一个字符后,由内部硬
11、件使发送中断标志TI置位。产生中断请求标志。响应后由软件清0RI:串行口内部接收中断请求标志位。当串行口接收到一个字符后,由内部硬件使接收中断请求标志位RI置位。产生中断请求标志。响应后由软件清0串行口的发送中断TI,和接收中断RI,共用一个内部中断源。它们逻辑“或”后,作为一个内部的串行口中断源。,2.中断允许寄存器IE中断允许寄存器IE的作用,是控制所有中断源的开放或禁止,以及每个中断源是否被允许。寄存器IE的位格式如下:,EA:中断总允许位(全局中断允许)。EA=1,CPU开放中断;EA=0,CPU禁止所有的中断请求。从图5-5的结构图中可以看到,总允许EA好比一个总开关。ES:串行中断
12、允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。ET1:T1溢出中断允许位。ET1=1,允许T1中断;ET1=0,禁止T1中断。EX1:外部中断1允许位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断1中断。ET0:T0溢出中断允许位。ET0=1,允许T0中断;ET0=0,禁止T0中断。EX0:外部中断0允许位。EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0中断。,单片机复位后,IE被清0,用户应该根据需要自行设置,从而来决定要开放哪个中断,要禁止哪个中断。可以有两种操作方式:字节操作和位操作。比如:假设允许片内定时器/计数器1和定时器/计数器0中断,禁止其他
13、中断。试根据假设条件设置IE的相应值。字节操作:MOVIE,#8AH位操作:SETBET0SETBET1SETBEA,3、中断优先级寄存器IP(1)中断优先级寄存器IP的位格式及优先级的设定MCS-51单片机具有2个中断优先级,均可编程设定为高优先级或低优先级。寄存器IP的位格式如下:,PS:串行口中断优先级控制位。PS=1,设定串行口为高优先级中断;PS=0,设定串行口为低优先级中断。PT1:T1中断优先级控制位。PT1=1,设定定时器T1为高优先级中断;PT1=0,设定定时器T1为低优先级中断。PX1:外部中断1优先级控制位。PX1=1,设定外部中断1为高优先级中断;PX1=0,设定外部中
14、断1为低优先级中断。PT0:T0中断优先级控制位。PT0=1,设定定时器T0为高优先级中断;PT0=0,设定定时器T0为低优先级中断。,PX0:外部中断0优先级控制位。PX0=1,设定外部中断0为高优先级中断;PX0=0,设定外部中断0为低优先级中断。MCS-51单片机复位后,IP寄存器低5位全部被清0,将所有中断源设置为低优先级中断。注意点:(1)不同优先级中断请求同时发生时CPU响应优先级别高的请求。(2)相同优先级中断请求同时发生时CPU响应的优先顺序如下表:,5.3.2中断响应与中断返回1、中断响应条件MCS-51单片机响应中断有四个条件:一是中断源有请求;二是寄存器IE的总允许位EA
15、=1,且IE相应的中断允许位为1;三是无同级或高级中断正在服务;四是现行指令执行完最后一个机器周期。2、中断响应与中断返回单片机响应中断时,先保存断点,然后将中断向量装入PC,转移到中断服务程序的入口地址,执行完中断服务程序,然后从中断返回。,(1)保存断点CPU执行中断服务程序之前,自动将程序计数器PC的内容(断点地址)压入堆栈。(2)取中断向量保存完断点之后,将相应的中断服务程序的入口地址送给PC,于是CPU就执行中断服务程序了。,(3)执行中断服务程序及中断返回分三个过程:保护现场、处理中断、恢复现场、返回保护现场:将中断服务程序所使用的有关寄存器的内容压入堆栈保护处理中断:需要注意以下
16、几点a、由于先转到中断入口地址,但相临入口之间间隔比较少,容纳不下服务程序,因此,一般把服务程序放在空间足够大的存储单元,入口地址处只放一条转移指令LJMP,用其来将指针指到真正的服务程序上去。b、对于有些中断源,CPU在响应中断后不能自动清除中断标志,在服务程序中要用软件来清除,比如:CLRTI或CLRRI,中断返回:由一条中断返回指令RETI来完成。,5.4中断应用举例,【例5-1】图5-6为3个故障源显示电路,当系统无故障时,3个故障源输入端X1X3全为低电平,对应的3个显示灯全灭;当某部分出现故障时,其对应的输入端由低电平变为高电平,从而引起MCS-51单片机中断,中断服务程序的任务是判定故障,并点亮对应的发光二极管。其中,发光二极管LED1LED3对应3个输入端X1X3。实现上述功能的电路如图5-6所示。3个故障源X1X3通过“或非门”与8031单片机的外部中断0输入端相连,同时,X1X3与P0口的P1.0P1.2引脚相接,3支发光二极管LED1LED3分别与P0口的P1.3P1.5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 呼吸机应用及护理技巧
- 养老护理师老年护理康复技术
- 医院护理管理新模式
- 2026 育儿儿童情绪自我调节深度策略课件
- 2026年中班幼儿园安全课
- 2026年幼儿园班组早会
- 2026年幼儿园分享日
- 2026年幼儿园小猫戴眼镜
- 2026年亲子鉴定考核试卷附答案详解【培优A卷】
- 2026高血压养生熏蒸疗法课件
- IT运维技术支持岗位运维服务质量管理方案
- 医院获得性肺炎诊断与治疗
- 水库大坝混凝土施工方案
- 华润燃气管理能力测评题库及答案详解
- 2025年轻型民用无人驾驶航空器安全操控(多旋翼)理论备考试题库含答案
- 上海初中入团考试试题及答案
- 2025向量化与文档解析技术加速大模型RAG应用
- 2025年工会财务知识竞赛考试题库及参考答案
- 酮症酸中毒教学课件
- 供应商信息安全管理制度
- 国有企业招标培训课件
评论
0/150
提交评论