您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第八章 输入输出和中断
第八章输入输出和中断胡玉景2007.05目录•§8.1输入/输出设备•§8.2输入/输出控制方式•§8.3中断的基本概念•§8.4MCS-51的中断系统•§8.5定时/计数器•一、输入设备•将计算机程序原始数据和各种现场采集的信息输入到计算机中•最常用的是键盘•二、输出设备•将运算结果呈现给人们•CRT显示器•绘图仪•打印机•三、外存储器•磁带、磁盘§8.1输入/输出设备I/O设备必须通过I/O接口与计算机连接。微型机I/O接口I/O接口I/O设备I/O设备CPU与I/O设备交换信息实际上是与I/O接口交换信息一、输入输出设备与CPU的连接§8.2输入/输出控制方式CPU与外部设备的连接和数据交换都需要通过接口设备来实现,称为I/O接口。I/O设备品种繁多,其相应的接口电路也各不相同接口的分类按照电路和设备的复杂程度,硬件结构主要分为1)I/O接口芯片大都是集成电路,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作2)I/O接口控制卡有若干个集成电路按一定的逻辑组成为一个部件。按照接口的连接对象来分,又可以将他们分为串行接口、并行接口、键盘接口和磁盘接口等。1.数据信息微型机与外设交换的数据。2.状态信息反映外设工作状态的信号。3.控制信息设定I/O电路工作方式的信号。数据总线传递三种信号,用不同I/O地址区别:输入/输出数据缓冲器共用一个I/O地址:数据端口。状态/控制寄存器共用一个I/O地址:控制/状态端口。DBABRDWRINT微型机DIODAIOSRDIOCWRINTI/O接口DReadySTBI/O设备I/O接口的功能:1.速度匹配:锁存数据、传送联络信号。由于计算机的外围设备品种繁多,几乎都采用了机电传动设备,因此,CPU在与I/O设备进行数据交换时存在不匹配问题:速度不匹配问题:I/O设备的工作速度要比CPU慢许多,而且由于种类的不同,他们之间的速度差异也很大,例如硬盘的传输速度就要比打印机快出很多;时序不匹配:各个I/O设备都有自己的定时控制电路,以自己的速度传输数据,无法与CPU的时序取得统一。为此需要设置一个数据锁存器,将CPU的数据线放在地址锁存器中所存,然后外设慢慢处理输出接口电路输入接口电路2.隔离:多个设备信号通过接口三态门隔离干扰信号。通过CPU发出的允许信号对各个外部设备的数据线与总线导通,其余时间该接口与总线相连的线处于高阻浮空状态,起到与数据总线的隔离作用,实现数据总线的分时占用。3.电平转换:电平幅值或正/负逻辑转换。能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数/模或模/数转换器等;数据格式转换:并-串转换、A/D、D/A转换。信息格式不匹配:不同的I/O设备存储和处理信息的格式不同,例如可以分为串行和并行两种;也可以分为二进制格式、ACSII编码和BCD编码等。信息类型不匹配:不同I/O设备采用的信号类型不同,有些是数字信号,而有些是模拟信号,因此所采用的处理方式也不同。4.联络作用通过接口电路事先与计算机和外部设备联系,当收、发方都处于“就绪状态”时再进行数据交换,从而避免出错,提高效率CPU只有找到唯一的接口,才能实现与指定I/O设备交换信息二、I/O编址方式1.接口与主存储器单元统一编址(存储器映像编址)在这种编址方式中,I/O端口和内存单元统一编址,即把I/0端口当作内存单元对待,从整个内存空间中划出一个子空间给I/0端口,每一个I/0端口分配一个地址码,用访问存储器的指令对I/O端口进行操作。I/0端口的数目几乎不受限制;访问内存指令均适用于I/O端口,对I/0端口的数据处理能力强;CPU无需产生区别访问内存操作和I/O操作的控制信号,从而可减少引脚。其缺点是:I/0端口占用了一部分内存空间;I/O端口地址译码电路较复杂(因为内存的地址位数较多);程序中I/O操作不清晰,难以区分程序中的I/O操作和存储器操作。2.专用I/O地址编址方式I/O端口编址和存储器的编址相互独立,即I/0端口地址空间和存储器地址空间分开设置,互不影响。采用这种编址方式,有专用I/O控制信号和I/O指令。I/0独立编址的优点是:不占用内存空间;使用I/O指令,程序清晰,很容易看出是I/O操作还是存储器操作;译码电路比较简单(因为I/0端口的地址空间一般较小,所用地址线也就较少)。其缺点是:只能用专门的I/0指令,访问端口的方法不如访问存储器的方法多。•MCS-51单片机有片内I/O接口和扩展I/O接口。片内I/O接口寄存器在SFR中,使用片内数据存储器空间,扩展I/O接口使用片外数据存储器地址空间:MCS-51单片机使用的是I/O和外部数据存储器RAM统一编址的方式,用户可以把外部64K字节的数据存储器RAM空间的一部分作为I/O接口的地址空间,每一接口芯片中的一个功能寄存器(端口)的地址就相当于一个RAM存储单元,CPU可以象访问外部存储器RAM那样访问I/O接口芯片,对其功能寄存器进行读、写操作。输出指令:输入指令:片内寻址:MOVP1,AMOVA,P1片外寻址:MOVX@DPTR,AMOVXA,@DPTRMOVX@R0,AMOVXA,@R0三、I/O程序控制传送方式1.无条件传送方式已知I/O设备准备就绪,可直接进行数据传送。有些简单的输入设备,如按键、开关等,相对CPU而言,其状态很少发生变化。只要CPU需要,可随时读取其状态。有些简单的输出设备,如LED数码管、交通信号灯等,可以随时接受CPU发来的显示数据。CPU与这些设备进行数据传输时,可以认为它们总是准备好的,不需要了解它们的状态,输入时直接用输入指令,输出时直接用输出指令。这就是无条件传送方式。例如:MOVXA,PORT2.程序查询方式查询传送又称为有条件传送,也称异步式传送。单片机通过查询外设“准备好”后,再进行数据传送。先查询I/O设备当前状态,若准备就绪,则交换数据,否则循环查询状态。1.硬件查询电路设置状态锁存和数据锁存电路。DBAB微型机AB数据端口状态端口外部设备I/O接口D62.软件查询程序先输入状态,决定是否进行数据传送。查询状态输入/输出数据准备就绪?YNTEST:MOVXA,PORTSANL40HJZTESTMOVXA,PORTD;输入数据(MOVXPORTD,A;)输出数据条件传送的优点是通用性好,结构简单,硬件连线和查询程序十分简单,但是效率不高。为了提高单片机对外设的工作效率,通常采用中断传送方式。这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。3.中断传送中断传送方式是利用MCS-51本身的中断功能和I/O接口的中断功能来实现I/O数据的传送。单片机只有在外设准备好后,发出数据传送请求,才中断主程序,而进入与外设数据传送的中断服务程序,进行数据的传送。当I/O操作结束,CPU仍继续被中断的工作。因此,采用中断方式可以大大提高单片机的工作效率。传送数据外部请求中断中断转移CPU执行主程序中断返回继续执行主程序中断服务子程序打印机打印时间数据传送时间外设工作查询等待时间数据传送时间查询方式执行主程序数据传送时间中断方式两种传送方式的比较•4.直接存储器存取方式传送•(DMA—DirectMemoryAccess)•用于计算机与高速外设进行大批量数据交换,由DMA控制器接管总线控制权,RAM与外设之间直接数据传输,不需CPU的介入。存储器CPUI/O接口外设DMA控制器存储器系统总线接口DMA控制器外设CPUDMA申请BUSAKBUSRQ图8-10DMA系统工作原理图中断系统是计算机的重要指标之一。中断概念某人看书执行主程序日常事务电话铃响中断信号INT=0中断请求暂停看书暂停执行主程序中断响应书中作记号当前PC入栈保护断点电话谈话执行I/O程序中断服务继续看书返回主程序中断返回日常事务程序中断服务程序§8.3中断的基本概念一、中断的概念和应用与上对比,单片机中也有同样的问题。CPU正在执行原程序,突然,被意外事情打断,转去执行新程序。CPU执行新程序结束后,又回到原程序中继续执行。这样的过程就叫。中断资源共享技术随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下优点:分时操作。CPU可以同时启动多台外设,分时为多个I/O设备服务,提高了计算机的利用率;实时处理。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;故障处理。CPU具有处理设备故障及掉电等突发性事件的能力,从而使系统可靠性提高。引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。主程序A响应返回断点RETI……中断服务程序B二、中断系统•1.中断源的产生外设中断请求:如果CPU启用了外设,外设准备就绪后,向CPU提出中断请求。实时时钟中断请求:如果要求定时控制时,利用定时器先有CPU发出命令,开始计时,规定时间到,定时器发出中断申请。故障引起中断:当出现掉电溢出等故障时,发出中断请求人为设置的中断:编程或者调试程序时人为设定•2.中断判优当有几个中断源同时申请中断时,或者CPU正在处理某中断源服务程序时,又有另一中断源申请中断,那么CPU必须要确定优先去处理谁的能力,称为中断优先级。•单片机的中断优先级有三条原则:CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。正在进行的低优先级中断服务,能被高优先级中断请求所中断。为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器。其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。3.中断响应(1)中断响应条件CPU响应中断的条件是:中断源有中断请求;CPU开中断(即中断与徐触发器EA=1);当前正在执行的那条指令已经执行完。同时满足时,CPU才有可能响应中断。不允许在中断处理的保护现场和回复现场程序段中断。(2)中断响应CPU响应中断后,进行下列操作:①撤除该中断源的中断请求标志;②保护断点地址;③将相应中断的入口地址送入PC;(3)中断处理①保护现场:将中断服务程序使用的所有寄存器内容入栈。②中断处理:执行中断源所要求的程序段。③恢复现场:恢复被使用寄存器的原有内容。④开中断:允许接受其它中断请求信号。⑤中断返回:执行RETI指令,栈顶内容PC,程序跳转回断点处。4.中断查询(1)软件查询方式1.中断源查询电路:中断源寄存器中断源寄存器≥1INT单片机P1中断请求1中断请求2中断请求72.软件查询程序INTS:MOVA,P1;读中断源寄存器RLCA;左移一位JCASV;是,转入A中断处理RLCA;左移一位JCBSV;是,转入B中断处理…A:…;中断服务程序A…B:…;中断服务程序B硬件简单,适用于中断源不多或者对中断响应速度不高的情况(2)硬件查询方式中断优先级链式电路和中断优先级编码电路INTDB微型机≥1中断源1中断源2中断源3中断向量1中断向量2中断向量3中断向量:提供中断服务程序入口地址信息的地址。8.4MCS-51中断系统1中断系统内部结构一.中断源信号二.中断允许控制2个外部中断源信号:INT0、INT12个定时器T0、T1溢出中断请求:TF0、TF11个串行口数据发送、接收结束中断请求:TI、RI。三.2级中断优先级控制优先级选择开关:PS、PT1、PX1、PT0、PX0总允许开关:EA源允许开关:ES、ET1、EX1、ET0、EX0中断源的中断请求,如何通知CPU?利用中断请求标志位来通知!!!二、中断请求源5个中断源2个优先级2个外部中断3个内部中断INT0(P3.2)INT1(P3.3)T0T1串行
本文标题:第八章 输入输出和中断
链接地址:https://www.777doc.com/doc-3579086 .html