您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第5章 输入输出及中断
第五章输入输出及中断5.1概述5.2输入输出传送方式5.3中断的基本概念5.4MCS-51单片机的中断系统5.5中断编程举例5.1概述接口电路的作用:(1)锁存作用(2)隔离作用(3)变换作用(4)联络作用5.2输入输出传送方式1、无条件传送方式如:读取开关状态、点亮指示灯举例:P117,例5-12、查询方式如:打印机,先查询状态,空闲则输出举例:P117,例5-2日常中断的例子返回你正在专心看书,突然电话铃响,于是你记下正在看的书的页数,去接电话,接完电话后再回来接着看书。3、中断方式计算机中的中断过程举例:输出设计到打印机查询方式、中断方式的比较(打印机工作):P119,图5-84、直接存储器访问(DMA)方式1、概念中断:是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。中断源:引起中断的原因或者来源。中断系统:实现中断处理的功能部件。处理随机事件的程序称为中断服务子程序。5.3中断的基本概念返回CPU转去中断子程序时,除硬件自动保护断点外,用户也需保护相关寄存器信息、标志位等,这称为保护现场;完成中断后,恢复相关寄存器内容、标志位等,称为恢复现场。从中断子程序返回到主程序断点处,继续执行主程序,称中断返回。2、中断技术的必要性解决快速的主机和慢速外设之间的信息交换。对随机事件、异步事件的及时处理。中断功能强弱是计算机性能优劣的重要标志3、中断系统的功能(1)中断系统应具备的功能检测有无中断请求决定是否响应中断中断处理返回主程序(2)中断处理过程说明:保存断点、转至中断入口、执行中断服务子程序、中断返回(3)中断的优先级(2级):高优先级、低优先级同时出现同一个优先级中断,则按自然优先级处理。(4)中断嵌套当CPU正在执行某个中断服务程序时,如果发生更高一级的中断源请求中断,CPU可以“中断”正在执行的低优先级中断,转而响应更高一级的中断,这就是中断嵌套。中断嵌套只能高优先级“中断”低优先级,低优先级不能“中断”高优先级,同一优先级也不能相互“中断”。中断嵌套结构类似与调用子程序嵌套,不同的是:①子程序嵌套是在程序中事先按排好的;中断嵌套是随机发生的。②子程序嵌套无次序限制,中断嵌套只允许高优先级“中断”低优先级。1、中断源共5个中断请求源:分为2级中断、固定的中断入口地址外部输入中断源INT00003H片内定时器T0的溢出000BH外部输入中断源INT10013H片内定时器T1的溢出001BH串行口收发中断(RXD、TXD)0023H5.4MCS-51中断系统IE0TCONSCONINT0IT0=0IT0=1INT1IT1=0IT1=1TF0IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然优先级矢量地址高级中断请求自然优先级矢量地址低级中断请求PX0PT0PX1PT1PSIEIPMCS-51的中断系统结构图中断标志位中断源允许总允许中断优先级1010101010与中断请求及中断控制有关的控制寄存器有四个:TCON----定时/计数器的控制寄存器,SCON----串行口控制寄存器,IE----中断允许控制寄存器,IP----中断优先级控制寄存器。1.定时器/计数器的控制寄存器TCON8FH8DH8BH8AH89H88HTF1TF0IE1IT1IE0IT0中断请求标志触发方式选择0低电平1下降沿2、中断请求及中断控制位地址TCON88HTCON寄存器——T0和T1控制寄存器TCONT1溢出中断标志(TCON.7):T1启动计数后,计满溢出由硬件置位TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。8FH8DH8BH8AH89H88HTF1TF0IE1IT1IE0IT088H位地址外部中断INT1中断标志位(TCON.3):IE1=1,外部中断1向CPU申请中断外部中断INT1触发方式控制位(TCON.2):IT1=0,电平触发方式IT1=1,下降沿触发方式TCON寄存器——T0和T1控制寄存器注意:该寄存器可以位寻址。TCON8FH8DH8BH8AH89H88HTF1TF0IE1IT1IE0IT088H位地址返回TI(SCON.1)——串行发送中断标志。CPU将一个数据写入发送缓冲器SBUF时,就启动发送,每发送完一个串行帧,硬件置位TI。但CPU响应中断时,并不清除TI,必须由软件清除。RI(SCON.0)——串行接收中断标志。串行口接收完1个串行数据帧时,硬件置1RI。但CPU响应中断时,并不清0RI,必须由软件对RI清0。SCON寄存器——串行口控制寄存器SCON注意:该寄存器可以位寻址。98H位地址99H98HTIRIIE寄存器——中断允许寄存器EA—中断允许总控制;ES—串行口中断允许位;ET1、ET0—定时器/计数器T1、T0的溢出中断允许位;EX0、EX1—外部中断0和外部中断1的中断允许位;例:允许定时器T0中断:SETBEASETBET0或MOVIE,#82H注意:该寄存器可以位寻址。AFH--ACHABHAAHA9HA8HEA--ESET1EX1ET0EX00禁止,1允许IEA8H位地址51单片机有两个中断优先级——高级和低级专用寄存器IP为中断优先级寄存器,用户可用软件设定;系统复位时,均为低优先级;该寄存器可以位寻址例:设计程序,使2个外部中断请求MOVIP,#05H为最高优先级,其它为低优先级。(也可用位操作指令)IP寄存器——中断优先级寄存器---BCHBBHBAHB9HB8H---PSPT1PX1PT0PX0位地址IPB8H0低,1高串行口控制寄存器SCOND7D6D5D4D3D2D1D0TIRI串行中断请求标志中断允许控制寄存器IED7D6D5D4D3D2D1D0EA--ESET1EX1ET0EX0中断优先级控制寄存器IPD7D6D5D4D3D2D1D0---PSPT1PX1PT0PX00禁止,1允许0低级别,1高级别8FH8DH8BH8AH89H88HTF1TF0IE1IT1IE0IT0定时器/计数器的控制寄存器TCON0低电平1下降沿外部、定时计数中断请求标志;外部中断触发方式选择3、中断响应条件及处理过程一个中断请求被响应,必须满足以下条件:•该中断源发出中断请求,即该中断源对应的中断请求标志为1;•CPU开中断,即IE寄存器中的中断总允许位EA=1;•该中断源的中断允许位=1;•无同级或更高级的中断正在被服务。中断处理过程中断处理过程分为三个阶段:中断响应、中断处理和中断返回。中断响应中断处理(又称中断服务)中断返回中断请求的撤除中断响应中断返回中断响应中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。中断响应过程:保护断点地址;中断响应把程序转向中断服务程序的入口地址(通常称矢量地址)。特别注意:这些工作是硬件自动完成的!断点地址中断服务子程序的入口地址中断响应中断服务子程序入口地址又称为中断矢量或中断向量。中断响应单片机中5个中断源的矢量地址是固定的,不能改动。断点地址中断服务子程序的入口地址程序存储器ROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口002AH包含T0中断服务子程序的程序结构:ORG0000HAJMPMAINORG000BHAJMPINTT0ORG0100HMAIN:...INTT0:...RETIENDAJMPMAINAJMPINTT0中断处理中断服务程序从入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处理中断源的请求。中断响应入口地址RETI中断处理INTT0:PUSHACCPUSHDPHPUSHDPLPUSHPSW中断源服务…POPPSWPOPDPLPOPDPHPOPACCRETI保护现场恢复现场中断返回中断返回是指中断服务完后,计算机返回到原来暂停的位置(即断点),继续执行原来的程序。中断返回由专门的中断返回指令RETI来实现。中断响应中断返回中断返回RETI指令功能:把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。特别注意:不能用RET指令代替RETI指令!中断响应中断返回4、中断系统编程见P127说明5.5中断程序举例教材P128,例5-3
本文标题:第5章 输入输出及中断
链接地址:https://www.777doc.com/doc-3170557 .html