11输入/输出的基本概念2输入/输出数据的传送方式3中断技术4MCS-51的中断系统5学会MCS-51中断程序设计及应用6学会与中断有关的硬件连线第五章输入输出和中断系统重点及要求25.1输入/输出的基本概念5.2输入/输出数据的传送方式5.3中断技术5.4MCS-51的中断系统5.5MCS-51对外部中断源的扩展第五章输入/输出和中断35.1.1输入/输出设备5.1.2输入/输出传送的信息5.1.3输入/输出接口的作用及其类型5.1.4I/O端口的编址方式5.1输入/输出的基本概念45.2.1无条件传送方式(又称同步传送)5.2.2查询式传送方式(又称条件传送——异步传送)5.2输入/输出数据的传送方式5.2.3中断传送方式5.2.4DMA传送方式55.3.1中断的定义及必要性5.3.2中断源5.3.3中断的分类5.3.4中断系统的功能5.3.5中断处理过程5.3中断技术65.4.1MCS-51的中断源和中断标志5.4.2MCS-51对中断请求的控制5.4.3MCS-51对中断的响应和撤除5.4.4MCS-51中断系统的初始化及应用5.4MCS-51的中断系统MCS-51的中断程序设计举例MCS-51的中断系统的结构75.5.1借用定时器/计时器溢出中断扩展外部中断源(P160利用计数溢出,扩展中断源)来自P3.4(T0)或P3.5(T1)引脚的外部输入计数脉冲相当于中断请求信号5.5.2使用硬件申请软件查询法扩展外部中断源(P161硬件申请,软件查询的方法)5.5MCS-51对外部中断源的扩展85.1.1输入/输出设备输入/输出设备简称I/O设备(Input/OutputDevice),是输入设备和输出设备的合称。它的命名是相对主机(包括CPU和主存储器)而言的。向主机输送信息的设备叫做输入设备;接收主机信息的设备称为输出设备。因为I/O设备在主机的外面,所以又把I/O设备称为外部设备(简称外设),依据功能的不同,外设可分为三类。95.1.1输入/输出设备输入设备:常用的输入设备:键盘、鼠标、扫描仪、读卡机等输出设备常用的输出设备:显示器、打印机、绘图仪等外存储器功能:存储主存储器暂时不用的系统软件和应用软件常用的外存储器:软磁盘、硬磁盘、磁鼓、磁带和光盘等10外设与CPU是通过接口连接CPU接口接口外设1外设2地址总线AB数据总线DB控制总线CB115.1.2输入/输出传送的信息数据信息数字量模拟量开关量状态信息表征外设状态控制信息控制外设启停在输入时,输入装置的信息是否准备好(Ready);在输出时,输出装置是否有空(Empty),若输出装置正在输出信息,则以Busy指示。二进制形式表示的数或以ASCⅡ码表示的数或字符。模拟量必须先经过A/D转换才能输入计算机,计算机的控制输出也必须先经过D/A转换才能控制执行机构。只要用一位二进制数即可表示的量,如电机的运转与停止,开关的合与断,阀门的打开和关闭等。125.1.3输入/输出接口的作用及其类型接口电路的作用实现与不同外设的速度匹配防止由于CPU速度快,外设慢而产生的丢数现象实现与外设的隔离防止DB上的信息重叠改变信号的性质把CPU和外设之间所传信息都作为数据信息实现数据传输方式和电平的变换在CPU与外设之间进行信息类型、电平、传送接收方式变换13实现与不同外设的速度匹配不同外设的工作速度差别很大,但大多数外设的速度很慢,无法与微秒级的CPU相媲美。CPU和外设间的数据传送方式共有无条件、查询式、中断和DMA四种,不论采取哪种传送方式,所设计的接口电路本身必须实现CPU和外设间工作速度的匹配。通常,输出接口电路中,需设置一个数据锁存器,将CPU输出的数据先放置在数据锁存器中锁存,然后再由外设慢慢地进行处理。14输出接口电路——锁存作用输出接口中必须含锁存器接口电路(锁存器).......锁存信号写选通输出数据DB来自CPU速度匹配15实现与外设的隔离CPU与外设之间的信息交换和CPU与存储器之间的信息交换一样,都是通过CPU的数据总线来完成的。因为,外部设备和存储器都不允许长期占用数据总线,而仅允许被选中的设备在读写周期时享用数据总线。通过输入接口电路,可使每个设备的信息仅在CPU发来的“允许信号”有效期间将数据ID7~ID0与总线D7~D0接通,在其他时间该接口与总线相连接的线处于高阻浮空状态,起到与总线隔离的作用。16输入接口电路——隔离作用输入接口中必须含三态门接口电路(三态门).......读选通信号输入允许输入数据接口电路(三态门).......输入数据DB防止信息重叠17改变信号的性质CPU与外设间交换的信息有状态信息、控制信息和数据信息三类,这三类不同性质的信息,必须分别传送。为了使他们相互区分开,他们必须有自己的不同端口地址。一个外设通常需要一个I/O接口(CPU和外设间的I/O接口芯片),而一个接口需要有多个I/O端口。一个外设往往要有几个端口地址,CPU寻址的是I/O端口,而不是I/O接口和笼统的外设。CPU通过I/O端口地址就可对端口中信息进行读写,来实现和外设交换信息。18接口与端口接口:由一个或多个端口组成。端口:可被独立选通的I/O接口电路,简称口。端口地址:端口在系统中被分配的惟一地址,简称口地址。端口可分为:输入端口——CPU从中读取外设的状态或数据信息输出端口——CPU通过它输出控制信号或数据信息状态端口——CPU从中读取外设的状态信息控制端口——由CPU控制输出控制信号数据端口——可以是输入数据端口或输出数据端口I/O信息都是通过数据总线传递的。19实现数据传输方式和电平的变换数据在CPU内部传送是并行的,而有些外部设备(磁盘机、通信系统)中的数据传送是串行的。I/O接口电路具有能把串行数据传送变换成并行数据传送,或把并行数据传送变换成串行数据传送的功能。CPU输入/输出的数据和控制信号是TTL电平(小于0.6V表示“0”信号,大于3.4V表示“1”信号),而外部设备的信号电平类型较多。为了实现CPU和外设间的信号传送,I/O接口电路也要具备信号电平的这种自动变换。201、I/O接口的种类很多,有两种基本类型•串行I/O接口•并行I/O接口2、不可编程接口例:74LS273、74LS373、74LS138、74LS2443、可编程接口例:8155、8255、8250、8253I/O接口的类型215.1.4I/O端口的编址方式I/O端口单独编址I/O端口地址和存储器存储单元地址分别编址,互为独立。例存储器地址范围为0000H~0FFFFH,I/O端口地址范围为00H~0FFH。但所用的地址总线通常是公用的,为了区分这种地址,制造CPU是必须单独集成专门I/O指令所需要的那部分逻辑电路。CPU有专门的I/O指令如:IN,OUT利用/MREQ(存储器请求)和/IORQ(输入输出请求),来选通存储器16地址或I/O端口8位地址。225.1.4I/O端口的编址方式I/O端口和存储器统一编址I/O端口与内存储器采用一套地址,完全象存储器单元一样处理,使用访问存储器的指令。存储器地址范围为0000H~0FEFFH,而0FF00~0FFFFH让给了外设端口优点:CPU对I/O端口的操作可使用全部的存储器指令,指令多使用方便;CPU不需要为I/O端口设置专门的I/O指令;存储器和I/O端口的地址分布图是同一个,I/O端口地址安排灵活,数量不受限制缺点:存储容量减小MCS51系列采用统一编址片内RAM与P0~P3均用MOV指令片外RAM与外扩口I/O口均用MOVX指令235.2.1无条件传送方式(又称同步传送)应用于定时为已知的且固定不变的低速I/O无需等待的高速I/O输入时:MOVDPTR,#PORTMOVXA,@DPTR输出时:MOVDPTR,#PORTMOVX@DPTR,ADB三态门锁存器地址译码器地址译码器来自外设至外设ABRDWR245.2.1无条件传送方式(又称同步传送)无条件输入接口只要有缓冲器即可,不必加锁存器。因为低速的外设输入数据,可以在缓冲器输入端保持时间为秒级或毫秒级,而CPU执行一条指令只需几微秒的时间。输出接口要加锁存器,以保证输出的数据在接口电路的输出端保持的时间与慢速的输出设备动作协调起来。如果输出接口无锁存器只有缓冲器,那么,输出指令的结束将导致缓冲器输入端数据消失,随之缓冲器输出数据也消失,达不到输出的目的。255.2.2查询式传送方式(又称条件传送——异步传送)CPU查询外设状态信息(Ready,Busy),条件满足时,进行数据传送程序简单高速CPU查询低速外设浪费CPU时间,效率低输入接口原理图输出接口原理图程序流程图26查询式输入接口原理图地址译码器QRD三态缓冲器锁存器输入设备5V选通信号RD口地址PORTD译码PORTS译码D7Ready状态信号DB外设准备好,置入状态信号Q=1CPU读数据口时清掉状态信号27查询部分的程序如下Test:movDPTR,#PORTSmovxA,@DPTRanlA,#80HjzTest;movDPTR,#PORTDmovxA,@DPTR;输入0/1状态信号D7输入接口状态准备好?传送信息YESNOReady=1Busy=0(A)28查询式输出接口原理图外设收到CPU数据后以“应答信号”清掉状态信号CPU写入数据后,置入状态信号Q=1口地址地址译码器QRD5V应答信号WR锁存器输出设备PORTD译码PORTS译码状态线Busy状态信息D7RDDB29查询部分的程序如下Test:movDPTR,#PORTSmovxA,@DPTRanlA,#80HjnzTestmovDPTR,#PORTDmovx@DPTR,A;输出0/1状态信号D7输入接口状态准备好?传送信息YESNOReady=1Busy=0(A)305.2.3中断传送方式中断:要求进行输入、输出的外设,发出就绪信号给CPU,作为中断请求,打断CPU正在进行的工作,即中断CPU正在执行的程序。中断过程中断方式与查询方式比较提高了CPU的效率CPU与外设可并行工作CPU可及时响应外部事件31中断方式与查询方式CPU占用时间比较打印机打印时间数据传输时间查询等待时间数据传输时间执行主程序中断服务时间中断方式查询方式外设工作32中断过程外设发出中断请求信号CPU(有条件)响应中断进行中断服务(执行中断服务程序,执行响应I/O操作)中断返回(继续执行原程序)33利用DMAC(DMA控制器)实现成组、大批量的数据在内存和外设之间的快速传送。DMA过程:优点:速度快缺点:硬件复杂,成本增加5.2.4DMA传送方式34DMA过程外设向DMAC发DMA申请DMAC向CPU发BUSRQCPU发BUSAK响应DMAC发存储器地址和读写信号DMA控制结束,恢复CPU对总线控制BUS外设接口DMACCPU存储器①②③35存储器CPUI/O接口外设DMA控制器365.3.1中断的定义及必要性定义:所谓中断是指中央处理器CPU正在处理某件事的时候,外部发生了某一事件,请求CPU迅速处理,CPU暂时中断当前的工作,转入处理所发生的事件,处理完后,再回到原来被中断的地方,继续原来的工作。这样的过程称为中断。37必要性及应用中断功能便于实现1.分时操作2.实时处理3.故障处理4.主机与外设之间的速度匹配CPU和外设同时工作;CPU可以通过分时操作启动多个外设同时工作,统一管理。大大提高了CPU的利用率,也提高了输入、输出的速度。当计算机用于实时控制时,中断是一个十分重要的功能。现场的各个参数、信息,需要的话可在任何时候发出中断申请,要求CPU处理;CPU就可以马上响应(若中断是开放的话)加以处理。这样的及时处理在查询的工作方式是做不到的。计算机在运行过程中,往往会出现事先预料不到的情况,或出现一些故障:如电源突跳,存储出错,运算溢出等等。计算机就可以利用中断系统自行处理,而不必停机或报告工作人员。38外设中断请求实时时钟中断请