专题六输入输出和中断系统第五章计算机科学与软件学院计算机基础教学部1输入/输出的基本概念2输入/输出数据的传送方式3中断技术4MCS-51的中断系统5学会MCS-51中断程序设计及应用6学会与中断有关的硬件连线本章重点及要求5.1输入/输出的基本概念5.2输入/输出数据的传送方式5.3中断技术5.4MCS-51的中断系统5.5MCS-51对外部中断源的扩展第五章输入/输出和中断5.1.1输入/输出设备5.1.2输入/输出传送的信息5.1.3输入/输出接口的作用及其类型5.1.4I/O端口的编址方式5.1输入/输出的基本概念5.2.1无条件传送方式(又称同步传送)5.2.2查询式传送方式(又称条件传送——异步传送)5.2输入/输出数据的传送方式5.2.3中断传送方式5.2.4DMA传送方式5.3.1中断的定义及必要性5.3.2中断源5.3.3中断的分类5.3.4中断系统的功能5.3.5中断处理过程5.3中断技术5.4.1MCS-51的中断源和中断标志5.4.2MCS-51对中断请求的控制5.4.3MCS-51对中断的响应和撤除5.4.4MCS-51中断系统的初始化及应用5.4MCS-51的中断系统5.5.1借用定时器/计时器溢出中断扩展外部中断源(P160利用计数溢出,扩展中断源)5.5.2使用硬件申请软件查询法扩展外部中断源(P161硬件申请,软件查询的方法)5.5MCS-51对外部中断源的扩展5.1.1输入/输出设备输入设备:定义:往主机传送信息的设备常用的输入设备:键盘、鼠标、扫描仪、读卡机等输出设备定义:接收主机信息并送出信息呈现给人们的设备常用的输出设备:显示器、打印机、绘图仪等外设与CPU是通过接口连接CPU接口接口外设1外设2地址总线AB数据总线DB控制总线CB5.1.2输入/输出传送的信息数据信息数字量模拟量开关量状态信息表征外设状态控制信息控制外设启停在输入时,输入装置的信息是否准备好(Ready);在输出时,输出装置是否有空(Empty),若输出装置正在输出信息,则以Busy指示。二进制形式表示的数或以ASCⅡ码表示的数或字符。模拟量必须先经过A/D转换才能输入计算机,计算机的控制输出也必须先经过D/A转换才能控制执行机构。只要用一位二进制数即可表示的量,如电机的运转与停止,开关的合与断,阀门的打开和关闭等。5.1.3输入/输出接口的作用及其类型接口电路的作用锁存作用防止由于CPU速度快,外设慢而产生的丢数现象隔离作用防止DB上的信息重叠变换作用在CPU与外设之间进行信息类型、电平、传送接收方式变换联络作用在CPU与外设之间进行联络,Ready,Busy输出接口电路——锁存作用输出接口中必须含锁存器接口电路(锁存器).......锁存信号写选通输出数据DB来自CPU速度匹配输入接口电路——隔离作用输入接口中必须含三态门接口电路(三态门).......读选通信号输入允许输入数据接口电路(三态门).......输入数据DB防止信息重叠1、I/O接口的种类很多,有两种基本类型•串行I/O接口•并行I/O接口2、不可编程接口例:74LS273、74LS373、74LS138、74LS2443、可编程接口例:8155、8255、8250、8253I/O接口的类型5.1.4I/O端口的编址方式统一编址I/O端口与内存储器采用一套地址,完全象存储器单元一样处理,使用访问存储器的指令。如:movx类指令独立编址采用一套与存储器不同的地址,利用/MREQ(存储器请求)和/IORQ(输入输出请求),CPU有专门的I/O指令如:IN,OUTMCS51系列采用统一编址片内RAM与P0~P3均用MOV指令片外RAM与外扩口I/O口均用MOVX指令接口与端口接口:由一个或多个端口组成。端口:可被独立选通的I/O接口电路,简称口。端口地址:端口在系统中被分配的惟一地址,简称口地址。端口可分为:输入端口——CPU从中读取外设的状态或数据信息输出端口——CPU通过它输出控制信号或数据信息状态端口——CPU从中读取外设的状态信息控制端口——由CPU控制输出控制信号数据端口——可以是输入数据端口或输出数据端口I/O信息都是通过数据总线传递的。5.2.1无条件传送方式(又称同步传送)应用于定时为已知的且固定不变的低速I/O无需等待的高速I/OmovxA,DPTRmovxDPTR,ADB三态门锁存器地址译码器地址译码器来自外设至外设ABRDWR无条件I/O举例——显示程序设计输出接口原理图外设收到CPU数据后以“应答信号”清掉状态信号CPU写入数据后,置入状态信号Q=1口地址地址译码器QRD+5V应答信号WR锁存器输出设备PORTD译码PORTS译码状态线Busy状态信息D6RDDB输入接口原理图地址译码器QRD三态缓冲器锁存器输入设备5V选通信号RD口地址PORTD译码PORTS译码D6Ready状态信号DB外设准备好,置入状态信号Q=1CPU读数据口时清掉状态信号5.2.2查询式传送方式(又称条件传送——异步传送)CPU查询外设状态信息(Ready,Busy),条件满足时,进行数据传送程序简单高速CPU查询低速外设浪费CPU时间,效率低输入接口原理图输出接口原理图程序流程图条件传送方式程序举例Test:movDPTR,#PORTSmovxA,DPTRanlA,#80HjzTest;(jnzTest)movDPTR,#PORTDmovxA,DPTR;输入(movxDPTR,A;输出)0/1状态信号D7输入接口状态准备好?传送信息YESNOReady=1Busy=0(A)5.2.3中断传送方式中断:要求进行输入、输出的外设,发出就绪信号给CPU,作为中断请求,打断CPU正在进行的工作,即中断CPU正在执行的程序。中断过程中断方式与查询方式比较提高了CPU的效率CPU与外设可并行工作CPU可及时响应外部事件中断方式与查询方式CPU占用时间比较打印机打印时间数据传输时间查询等待时间数据传输时间执行主程序中断服务时间中断方式查询方式外设工作中断过程外设发出中断请求信号CPU(有条件)响应中断进行中断服务(执行中断服务程序,执行响应I/O操作)中断返回(继续执行原程序)利用DMAC(DMA控制器)实现成组、大批量的数据在内存和外设之间的快速传送。DMA过程:优点:速度快缺点:硬件复杂,成本增加5.2.4DMA传送方式DMA过程外设向DMAC发DMA申请DMAC向CPU发BUSRQCPU发BUSAK响应DMAC发存储器地址和读写信号DMA控制结束,恢复CPU对总线控制BUS外设接口DMACCPU存储器①②③存储器CPUI/O接口外设DMA控制器5.3.1中断的定义及必要性定义:所谓中断是指中央处理器CPU正在处理某件事的时候,外部发生了某一事件,请求CPU迅速处理,CPU暂时中断当前的工作,转入处理所发生的事件,处理完后,再回到原来被中断的地方,继续原来的工作。这样的过程称为中断。必要性及应用中断功能便于实现1.分时操作2.实时处理3.故障处理4.主机与外设之间的速度匹配CPU和外设同时工作;CPU可以通过分时操作启动多个外设同时工作,统一管理。大大提高了CPU的利用率,也提高了输入、输出的速度。当计算机用于实时控制时,中断是一个十分重要的功能。现场的各个参数、信息,需要的话可在任何时候发出中断申请,要求CPU处理;CPU就可以马上响应(若中断是开放的话)加以处理。这样的及时处理在查询的工作方式是做不到的。计算机在运行过程中,往往会出现事先预料不到的情况,或出现一些故障:如电源突跳,存储出错,运算溢出等等。计算机就可以利用中断系统自行处理,而不必停机或报告工作人员。外设中断请求实时时钟中断请求控制对象中断源故障引起的中断人为设置的中断5.3.2中断源人为设置的中断,不是随机的,故称为自愿中断。强迫中断引起的中断都是随机。5.3.3中断的分类1.可屏蔽中断(MaskableInterrupt)2.非屏蔽中断(NonMaskableInterrupt)3.软件中断(SoftwareInterrupt)INTNMIMCS-51就是具有可屏蔽中断功能的一类CPU。中断类型中断请求信号可屏蔽中断INT中断请求输入线上输入非屏蔽中断NMI中断请求输入线上输入软件中断用中断指令使CPU响应中断中断类型CPU响应中断的方式可屏蔽中断开中断指令响应关中断指令屏蔽INT上来的低电平中断请求非屏蔽中断CPU必须予以响应,不能由软件指令屏蔽软件中断CPU只要执行这种指令,完成相应的中断功能5.3.4中断系统的功能中断系统–包括中断源的产生、中断判优、中断查询、中断处理等实现这一全过程的硬件和软件。中断技术–对中断全过程的分析、研究及实现的方法中断判优多中断源同时发出中断请求,CPU根据中断的优先级判断优先执行的中断请求。中断嵌套CPU正在执行主程序CPU正在执行低级中断服务程序CPU正在执行高级中断服务程序CPU正在执行低级中断服务程序挂起的中断中断查询软件查询硬件查询中断优先级链式电路中断优先级编码电路三态门DB+中断请求……ALmovDPTR,#PortImovxA,DPTRRLCAJCASVRLCAJCBSV……ASV:……BSV:……先查询的优先级高硬件申请软件查询中断处理中断响应条件CPU处于开中断状态:51内部有中断允许触发器EAEA=0禁止中断;EA=1开放中断。中断响应过程中断响应:停止现行程序,转向中断处理程序入口地址关中断(MCS-51响应中断后,不自动关中断)保护断点(自动将断点地址压入堆栈)执行中断处理程序执行中断处理程序保护现场–保护中断服务程序中用到的寄存器和状态标志的内容中断服务–相应的中断源服务,完成一定的I/O操作恢复现场–完成中断服务后,将保存在堆栈中的现场数据恢复开中断和中断返回–RETI(中断返回指令)pushPSWpushACCpushDPHpushDPLpopDPLpopDPHpopACCpopPSW请看P150图5-22中断响应条件CPU响应中断的条件主要有以下几点:(1)设置中断请求触发器,又称中断标志触发器(p148图5-19)每个中断源需有一个中断请求触发器,保持中断请求信号,直至CPU响应这个中断后,才可清除中断请求。当中断请求触发器为“1”状态时(Q=1),表示有中断产生;Q=0表示没有中断产生。CPU中也要有中断标志触发器,有中断请求则置1。(2)需设置中断屏蔽触发器(p149图5-20)每一个中断源的接口电路中需增加一个中断屏蔽触发器,只有当此触发器为“1”时,中断源的中断请求才能被送出至CPU。(3)中断是开放的在CPU内部有一个中断允许触发器EA。只有当EA为“1”时(即中断开放时),CPU才能响应中断;若EA为“0”(即中断是关闭的),这时外部有中断请求,CPU不会响应,EA的状态是可以用指令来控制的(称为可编程的)。(4)需设中断优先级触发器在CPU内部要设置中断优先级触发器,以实现嵌套;在各中断源中也要设一个中断优先级触发器,由指令置位/复位,以表示本中断源在中断系统中的优先级。(5)CPU在现行指令结束后响应中断在开中断情况下,若中断源有中断请求,CPU也并不是立即响应,只是当正在执行的指令运行到最后一个机器周期T状态时,CPU才采样中断源。若发现有中断请求,则把内部的中断标志锁存器置“1”,然后下一个机器周期不进入取指周期,而进入中断周期。LED显示器程序设计_无条件I/O传送例1LED显示器结构与原理LED显示接口显示程序设计LED显示器结构与原理LED显示器是由8个发光二极管显示字段的显示器件,通过点亮不同的字段可显示0~9、A~F及小数点等字形。其外形结构与原理见图8-1所示。(a)LED管脚图;(b)共阴极;(c)共阳极要使数码管显示指定的字符对共阴极接法的电路:1、要发光的二极管段加高电平2、共阴极端接低电平称0CFH为字形码G端称为