输入输出接口及中断技术.ppt

上传人:牧羊曲112 文档编号:6349481 上传时间:2023-10-19 格式:PPT 页数:201 大小:4.44MB
返回 下载 相关 举报
输入输出接口及中断技术.ppt_第1页
第1页 / 共201页
输入输出接口及中断技术.ppt_第2页
第2页 / 共201页
输入输出接口及中断技术.ppt_第3页
第3页 / 共201页
输入输出接口及中断技术.ppt_第4页
第4页 / 共201页
输入输出接口及中断技术.ppt_第5页
第5页 / 共201页
点击查看更多>>
资源描述

《输入输出接口及中断技术.ppt》由会员分享,可在线阅读,更多相关《输入输出接口及中断技术.ppt(201页珍藏版)》请在三一办公上搜索。

1、第6章 输入输出接口及中断技术,第六章 输入输出接口及中断技术,6.1 输入输出接口概述6.2 PC系列微机I/O端口和I/O端口地址译码6.3 CPU与外设之间数据传送的控制方式6.4 可编程并行接口8255A6.5 计数/定时器8253/82546.6 中断技术6.7 可编程中断控制器8259A 6.8 DMA技术及可编程DMA控制器8237,6.1 输入输出接口概述,什么是输入/输出设备?能够完成输入/输出操作的设备就叫输入/输出设备,简称外设或I/O设备。例如,键盘、鼠标器、磁盘和扫描仪等是大家熟悉的输入设备,而磁盘、CRT显示器、打印机、X-Y绘图仪等则是最常见的输出设备。,什么是输

2、入/输出接口?要实现外部设备与主机之间的连接(connection)和信息交换,必须经过一个数据转换和传输的设备。这种设备,我们叫做I/O接口(interface)。,I/O接口电路的功能和必要性,一、I/O接口要解决的问题速度匹配(Buffer):键盘0.5s,打印机几十ms,软盘500KB/S,硬盘100MB/S信号电平和驱动能力(电平转换器、驱动器)信号形式匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关系)总线隔离(三态门),二、接口电路的外部特性,主要体现在引脚上,分成两侧信号:面向CPU一侧的信号:用于与CPU连接 主要是数据、地址和控制信号面向外设一侧的信

3、号:用于与外设连接 提供的信号五花八门,各不相同 功能定义、时序及有效电平等差异较大,是CPU与I/O设备之间的桥梁,CPU与外设交换信息的中转站,接口,CPU,外设,I/O接口电路的基本结构,返回,上一张,功能:1、数据缓冲与锁存 2、信息的输入与输出 3、信息格式转换 4、联络和中断管理动能 5、进行译码 6、电平转换 7、具备时序功能控制 8、具有可编程功能 9、检错,二、接口电路的功能,6.1.2 I/O的信息组成及接口模型,一、CPU与外设交换的信息 1、数据信息:(Data)主机与I/O设备之间交换的信息可分为数据信息、状态信息和控制信息三类。8、16、32、64 数据信息又分为数

4、字量、模拟量和开关量三种形式。1)数字量 2)模拟量 3)开关量2、状态信息(Status)3、控制信息(Control),1数据信息 1)数字量 数字量是计算机可以直接发送、接收和处理的数据。例如,由键盘、显示器、打印机及磁盘等I/O外设与 CPU交换的信息,它们是以二进制形式表示的数或以ASCII码表示的数符。2)模拟量 当计算机应用于控制系统中时,输入的信息一般为来自现场的连续变化的物理量,如温度、压力、流量、位移、湿度等,这些物理量通过传感器并经放大处理得到模拟电压或电流,这些模拟量必须先经过模拟量向数字量的转换(A/D转换)后才能输入计算机。反过来,计算机输出的控制信号都是数字量,也

5、必须先经过数字量向模拟量的转换(D/A转换),把数字量转换成模拟量才能去控制现场 3)开关量 开关量可表示两个状态,如开关的断开和闭合,机器的运转与停止,阀门的打开与关闭等。这些开关量通常要经过相应的电平转换才能与计算机连接。开关量只要用一位二进制数即可表示。,2.状态信息 状态信息作为CPU与外设之间交换数据时的联络信息,反映了当前外设所处的工作状态,是外设通过接口送往CPU的。CPU通过对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空闲等情况。对于输入设备,一般用准备好(READY)信号的高低来表明待输入的数据是否准备就绪;对于输出设备,则用忙(BUSY)信号的高低表示

6、输出设备是否处于空闲状态,如为空闲状态,则可接收CPU输出的信息,否则CPU要暂停送数。因此,状态信息能够保障CPU与外设正确地进行数据交换。,3控制信息 控制信息是CPU通过接口传送给外设的,CPU通过发送控制信息设置外设(包括接口)的工作模式、控制外设的工作。如外设的启动信号和停止信号就是常见的控制信息。实际上,控制信息往往随着外设的具体工作原理不同而含义不同。,CPU通过接口和外设交换信息时,只能用输入指令(IN)和输出指令(OUT)传送数据,所以状态信息、控制信息也是被作为数据信息来传送的,即把状态信息作为一种输入数据,而把控制信息作为一种输出数据,这样,状态信息和控制信息也通过数据总

7、线来传送。但在接口中,这三种信息是在不同的寄存器中分别存放的。即通过端口来访问以上的信息,小 结,返回,二、端口(PORT),I/O端口:是指I/O接口中存放数据信息、状态信息和控制信息,CPU可以读/写的一组寄存器或特定电路,被称为I/O端口。一般接口通常有数据端口、控制端口、状态端口数据端口:(I、O)输入数据端口(I):保存外设给CPU的数据输出数据端口(O):保存CPU给外设的数据状态端口:(I)存放I/O设备或接口本身的工作状态信息控制端口:(O)存放CPU给外设或接口电路的命令,图4.2 一个典型的I/O接口,返回,上一张,6.1.3 I/O端口的编址方式及端口地址,不同外设具有的

8、端口数各不相同,计算机中为每一个端口都赋予一个唯一编号称为端口地址(或端口号)。端口有两种编址方式:统一编址和独立编址。,一、统一编址方式(存储器映像方式)即是将端口看作一个存储单元看待,每个端口地址占用一个地址单元,存储器与I/O地址统一安排二、独立编址方式(I/O映像方式),一、统一编址方式(存储器映像方式),把I/O端口看成MEM一个地址,1、优点指令丰富(mov等)I/O端口的空间大寻址控制逻辑简单(与MEN共用一套),2、缺点内存空间相对减少 单独的译码电路复杂指令代码字节长 分析程序困难,二、独立编址方式(I/O映像方式),I/O端口与MEM空间各自独立 逻辑上重叠 物理上独立,1

9、、优点MEM和I/O分开设计I/O地址线少I/O指令短,执行速度快,2、缺点需单独使用I/O译码单元和指令不象I/O指令丰富,6.2 PC系列微机I/O端口和I/O端口地址译码,6.2.1 PC系列微机I/O端口地址分配,8088/8086 CPU的I/O编址方式 采用I/O独立编址方式(但地址线与存储器共用)地址线上的地址信号用 来区分:时为I/O地址 I/O操作只使用20根地址线中的16根:A15 A0 可寻址的I/O端口数为64K(65536)个 I/O地址范围为0FFFFH IBM PC只使用了1024个I/O地址(03FFH),IBM-PC机端口地址1024个端口地址 低256地址(

10、000H0FFH)做为主机电路板使用 高768地址(0100H03FFH)作扩充插槽使用 故此仅用A9A0十根地址线,IBM-PC机端口地址分配见 P395页 表 6.1,那么现在的PC机的端口地址怎么看呢,开始程序附件系统工具系统信息,硬件资源中I/O或看组件中就可以看到,例如 System speaker地址为0 x00000061 也就是0061H,怎么操作?,软件访问采用IN 或 OUT 指令!,我们设计IO卡可采用200H20FH游戏接口卡 300H31FH实验板,输入指令IN AL,port8;字节输入,直接寻址 IN AL,DX;字节输入,间接寻址IN AX,port8;字输入,

11、直接寻址IN AX,DX;字输入,间接寻址输出指令OUT port8,AL;字节输出,直接寻址OUT DX,AL;字节输出,间接寻址OUT port8,AX;字输出,直接寻址OUT DX,AX;字输出,间接寻址,6.2.2 I/O地址译码,80 x86采用I/O端口独立编址,译码主要针对片选(Chip SelectCS)信号一般为低电平有效,当此信号无效时,一般芯片所有线都处于高阻态。,译码器的选择组合逻辑门电路集成译码器开关式可选择译码电路可编程逻辑电(GAL、FPGA、CPLD),地址线的使用全地址译码方式部分地址译码方式,一、组合逻辑门电路地址译码,地址为2FB,1,0,1,0,0,0,

12、0,1,1,0,0,1,1,1,1,1,1,1,1,1,二、集成地址译码,地址为020 03F,0,0,0,1,0,1,0,1,0,1,1,1,1,0,1,0,0,1,0,74LS138,看看具体工作过程,输入,输出,A8A9 AEN,IBM PC/AT主机板的I/O译码电路,三、开关式可选择译码电路,“1”,“1”,“1”,“0”,A2,A1,A0,74LS138,P7P6P5P4P3P2P1P0Q7Q6Q5Q4Q3Q2Q1Q0,AENA9A8A7A6A5A4A3,74LS688,低3位由A2、A1、A0决定为111,高7位由决定DIP开关通过比较器74LS688,DIP开关,四、使用可编程

13、逻辑器件译码(GAL、FPGA、CPLD),是借助EDA手段可以设计专门的译码器,例如,当A9A0为000H时Q0为0,其他为全1,当A9A0为001H时Q1为0,其他为全1,以此类推后续课程中会给大家介绍,6.3 CPU与外设之间数据传送的控制方式,CPU与I/O接口间的信息传送,称为信息交换。,信息交互的方式有4种:无条件传送:慢速外设需与CPU保持同步查询传送:简单实用,效率较低中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送,1、无条件传送方式及其接口,在CPU与慢速变化的设备交换数据

14、时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送适合于简单设备,如LED数码管、按键或按纽等无条件传送的接口和操作均十分简单这种传送有前提:外设必须随时就绪,具体过程,2、查询传送方式及其接口,CPU需要选了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换查询传送的特点是:工作可靠,适用面宽,但传送效率低,查询传送的两个环节,查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询,直至就绪 传送环节寻址数据口是输入,通过输

15、入指令从数据端口读入数据是输出,通过输出指令向数据端口输出数据,具体过程,3、中断传送方式,CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序,具体过程,中断传送与接口,中断传送是一种效率更高的程序传送方式进行传送的中断服务程序是预先设计好的中断请求是外设随机向CPU提出的CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚中断除了在输入和输出方面的应用外,中断还有着非常广泛的应用,(4)DMA传送方式,希望克服程序控制传送的不足:外设CPU存储器外设CPU存储器直接存储器存取DM

16、A:外设存储器外设存储器CPU释放总线,由DMA控制器管理,DMA传送的工作过程,CPU对DMA控制器进行初始化设置 外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制 DMA传送DMA读存储器:存储器 外设DMA写存储器:存储器 外设 自动增减地址和计数,判断传送完成否,DMA传送流程,具体过程,传送方式的比较,无条件传送:慢速外设需与CPU保持同步查询传送:简单实用,效率较低中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送,IN AL,21H,返回,输出OUT 4

17、3H,AL,返回,无条件传送流程,返回,查询传送流程,返回,返回,中断传送流程,DMA传送流程,DMA传送流程,返回,6.4 可编程并行接口8255A,特点:含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。,PC7PC4,PA7PA0,PC3PC0,PB7PB0,一、8255内部结构,1、数据总线缓冲器(8位三态)CPU数据命令 数据状态,2、读写控制逻辑CS芯片选通读写控制A1A0端口地址选择,3、A、B、C端口单独的驱动和锁存,4、内部控制逻辑依据控制字决定端口工作方式和状态,端口地址的区分方法地址线的区分端

18、口,AEN,A9,A8,A7,A6,A5,D7D0,A1,A0,74LS138,8255A,PA,PC,PB,定义工作方式,各口的I/O状态对PC口按位操作,1:方式 选择 控制 字,控制字特征位,0:C口按位操作控制字,特征码区分端口,A组控制,B组控制,A组方式选择,B组方式选择,I/O方向选择,I/O方向选择,A口,上C口,下C口,B口,1:入0:出,1:入0:出,00:方式0基本I/O方式A口、上C口01:方式1选通 I 或 O1:方式2双向选通IO,0:方式0基本I/OB口,下C口1:方式1选通I或O,二、8255的控制字,PA,PC7PC4,PB,例8.7:已知8255A如图连接要

19、求A口工作于方式0,作为输出,上C口输出;B口工作于方式1,作为选通输入。,PC3PC0,B口选通输入,A口工作于方式0,作为输出,上C口输出;B口工作于方式1,作为选通输入。,1,0,0,0,0,1,1,0,初始化程序为,86H,;直接寻址方式:MOV AL,86H;OUT 63H,AL;,;间接寻址方式:MOV DX,60H;MOV AL,86H;OUT DX,AL;,或,例8.9:已知8255A还如上图,要求端口C的PC7置1,将PC3置0。,0,0,0,0,1,1,1,1,PC7置1,PC3置0,0,0,0,0,0,1,1,0,0FH,06H,;直接寻址方式:MOV AL,0FH;OU

20、T 63H,AL;MOV AL,06H;OUT 63H,AL;,;间接寻址方式:MOV DX,63H;MOV AL,0FH;OUT DX,AL;MOV AL,06H;OUT DX,AL;,或,6.4.2 8255的三种工作方式及操作时序,8255A有三种工作方式,分别称为方式0,方式1和方式2。其中 A端口可以工作在三种方式中的任一种;B端口只能工作在方式0和方式1;C端口通常作为控制信号使用,配合A端口和B端口的工作。每种工作方式的具体内容如下所述。,一、方式0方式0的工作特点(1)任何一个端口可作为输入口,也可作为输出口,各端口之间没有必然的联系。(2)各个端口的输入或输出,可以有16种不

21、同的组合,所以可以适用于多种使用场合。同步传送 查询式传送。,例8.10 将开关的状态在发光二极管的显示出来,74LS078,显然PA为输入 PB为输出,1:方式选择控制字,A组方式选择,B组方式选择,A口,上C口,下C口,B口,1,0,0,1,0,0,0,0,90H,CODE SEGMENT ASSUME CS:CODESTART:MOV DX,21BH;初始化8255 MOV AL,90H OUT DX,ALLOP:MOV DX,218H;读A口开关输入 IN AL,DX NOT AL;数据取反 MOV DX,219H;输出到B口显示 OUT DX,AL MOV AH,0BH;按任意键返回

22、DOS INT 21H ADD AL,01H JNZ LOP MOV AH,4CH INT 21HCODE ENDS END START,初始化8255A,开始,A口读入数据,数据取反,B口输出显示,有键按下?,N,Y,结束,90H,二、方式1,选通输出,选通输入,A口联络信号,B口联络信号,外设,1、方式1(选通工作方式)的特点 利用一组选通控制信号控制A端口和B端口的数据输入输出。特点:A、B口作输入或输出口,C口分为两部分,其部分位(6位)固定用作A口、B口的选通控制信号。状态信息附在PC端口上(端口状态与引脚有些不同)C口的剩余位仍可作数据位使用,其余位(2位)可工作在方式0下,作为输

23、入或输出线,用程序指定其数据传送方向。A口、B口在作为输入和输出时的选通信号不同。方式1的应用:主要用于中断控制方式下的输入或输出。,1,1,1,2、方式1(A口为例)1)输入,外设查询IBF=1等待,IBF=0则外设发STB复脉冲同时发数据,接口收完数据后将IBFA位置1IBFA线置高,STB结束后看IBFA=1则将INTRA位置1当INTE=1时将INTRA引脚置高,CPU用IN命令时取走数据,后沿后使INTRA线和位 复位,使IBFA线和位复位,0,0,方式1输入状态字,1,1,1,方式1(A口为例)2)输出,方式1输入状态字,0,0,cpu查询等待,Cpu执行OUT同时发数据,外设查立

24、即发 信号,后沿将数据取走,先使 位为1,使INTRA位为1 使 线为1当INTEA=1,使INTRA线为1,后沿使 和INTRA位和线分别为0,1,1,3、8255A的工作方式方式2(双向选通传送方式)特点:双向方式既是输入口,又是输出口。利用C口的5条线提供传输联络信号。类似于A口方式1下输入和输出的组合。工作时输入、输出都能锁存。只有A口可工作在方式2下。当A组工作在方式2时,B组可工作在方式0或方式1下。应用:可用于中断控制输入输出方式。也可用查询方式与CPU联系。当A口工作于方式2时,B口可工作于方式1(此时C口的剩余位刚好用作B口选通控制线);B口也可工作于方式0(此时C口的剩余位

25、只能用作方式0下的输入输出线)。,8255A的工作方式方式2(双向选通传送方式)C口的联络信号:STB#选通信号,由外设输入。=0时,将外设数据送入8255的输入锁存器。对应PC4。IBF输入锁存器满信号,由8255A输出。=1时通知外设输入的数据已写入缓冲器,此时不能送下一个数据。此信号由STB#的前沿产生。CPU用IN指令取走数据后(RD#的后沿),此信号被清除。对应PC5。,8255A的工作方式方式2(双向选通传送方式)C口的联络信号:OBF#输出缓冲器满信号,8255A输出。=0时通知外设取走数据。对应PC7。ACK#响应信号,外设输入。0时表示外设已从数据端口取走数据。此信号使OBF

26、#变高。对应PC6。INTR输入时由STB#的后沿产生,输出时由ACK#上升沿产生,8255输出。=1提出中断请求。A组对应PC3。,8255A的工作方式方式2(双向选通传送方式)方式2的时序:,6.5 计数/定时器8253/8254,掌握:引线功能及计数启动方法6种工作方式及其输出波形8253的使用:芯片与系统的连接芯片的初始化编程,一、常用于外部发生的事件进行计数,也常用于为CPU和外部设备提供定时控制,1、定时:提供时间 基准脉冲,内部定时,外部定时,本质上一致,计数,对象不同,2、计数:对外部信 号计数,信号具有周期性,信号随机,3、计数机定时信号作用 动态存储器的定时刷新 系统时钟

27、系统扬声器 计算机定时控制和处理.,二、如何实现定时?,1、软件定时:用一段程序实现延时利用程序循环延迟指定的时间,不增加硬件成本。缺点:CPU负担较大用于短延时2、不可编程的硬件定时:采用中小型集成IC。例555定时器优点:不增加CPU负担,硬件成本低缺点:定时值不好改变,增加硬件成本应用于固定的定时,没有CPU的场合。3、可编程定时/计数器芯片:可编程的定时器/计数器8253、8254等,三、定时器/计数器的基本原理,1、内部结构,8086及其配置芯片,译码器,片内端口地址线,计数单元,控制信号,被计数的信号,计数结束输出信号,2、工作过程,1)、设初值,2)、工作单元并控制,3)、输出,

28、例:MOV CX,100 LOOP$,6.5.1 8253的基本工作原理,3个独立的16位计数器每个计数器可按二进制或BCD码计数最高频率为2MHZ6种不同工作方式与TTL兼容单电源+5V供电,6.5.2 8253的通道结构,CLK,GATE,OUT,锁存读:减1计数器的中间值,从初值计数器CR开始减起外总线8位,16位寄存器。,8253的核心:功能减1,并送回原单元,根据什么减1?,从哪开始减1?,减到什么时候结束?发出什么信号?,定时/计数,计数,减到1或0,发一个信号由6种工作方式而定,读写格式:,仅读写L,自动清 H,仅读些H,自动清L,先读写L,再读写H,先低后高,先利用锁存读命令,

29、使CE锁存入OL中,再用IN读到CPU,IOR后沿解锁,CNT0,CNT1,CNT2,D7D0,CLK0,GATE0,OUT0,CLK1,GATE1,OUT1,CLK2,GATE2,OUT2,二、8253的内部结构、引脚及端口功能,工作方式和功能必须通过编程来实现,规定1、先向控制字写编程命令,规定2、再对相应计数器写初值或读锁存,编程命令包含:,初始化命令:,锁存读命令:,设置计数器本身功能或工作方式,使CE内容锁存入OL中,当前8253地址为,SC1 SC0 0 0,8253控制字,SC1 SC0 RW1 RW0 M2 M1 M0 BCD,计数器选择,初值写入方式,工作方式选择,计数规则,

30、00 CNT001 CNT1 CNT2 非法,01 仅读写L 仅读写H 先L后H,0 0 0 方式00 0 1 方式11 0 方式21 1 方式30 0 方式41 0 1 方式5,0 二进制1 BCD,计数器锁存选择,特征码区分端口,锁存读,方式选择控制字,例:要求CNT0工作于方式3,二进制计数,初值为65536 CNT1工作于方式2,BCD计数,初值为1023 CNT2工作于方式3,二进制计数,初值为255,例:要求CNT0工作于方式3,二进制计数,初值为65536 CNT1工作于方式2,BCD计数,初值为1023 CNT2工作于方式3,二进制计数,初值为255,SC1 SC0 RW1 R

31、W0 M2 M1 M0 BCD,0 0 1 1 0 1 1 0,0 1 1 1 0 1 0 1,1 0 0 1 0 1 1 0,CNT0 控制字,CNT1 控制字,CNT2 控制字,CNT0 控制字为36H,初值为65536 CNT1 控制字为75H,初值为1023 CNT2 控制字为96H,初值为255,规定:1.先向控制字写编程命令,2.再对相应计数器写初值或读锁存,MOV AL,36H;OUT 43H,AL;MOV AL,00H;OUT 40H,AL;MOV AL,00H;OUT 40H,AL;,CNT0 控制字为36H 初值为65536CNT1 控制字为75H 初值为1023CNT2

32、控制字为96H 初值为255,初始化编程,MOV AL,75H;OUT 43H,AL;MOV AL,23H;OUT 41H,AL;MOV AL,10H;OUT 41H,AL;,MOV AL,96H;OUT 43H,AL;MOV AL,0FFH;OUT 42H,AL;,规定:1.先向控制字写编程命令,2.再对相应计数器写初值或读锁存,MOV AL,00H;OUT 43H,AL;IN AL,40H;MOV DL,ALIN AL,40H;MOV DH,AL,工作中读锁存读CNT0和CNT2,MOV AL,80H;OUT 43H,AL;IN AL,42H;MOV BL,ALXOR BH,BH,6.5.

33、3 8253的工作方式,一、6种工作方式:其启动、OUT端输出波形不同,是否自动重装初值,GATE信号的控制作用,更新计数初值影响。,共同遵循几条规律:,初始化状态 控制字写入后,OUT端进入初始状态,启动方式,软件启动:写入初值后一个完整的时钟周期开始计数,门控GATE保持高电平。,硬件启动:利用GATE信号的上跳沿。,二、工作方式,方式0计数结束中断方式1可重复触发的单稳态触发器方式2频率发生器方式3方波发生器方式4软件触发选通方式5硬件触发选通,一、方式0:计数结束引起中断(产生高电平)软启动,1、结果特点:减1为0后,OUT升高,向CPU发中断,2、过程特点:,控制字写入后:OUT=0

34、,计数值写入后:OUT=0,期 间:OUT=0,计数为0:OUT=1直到下个控制字,GATE=0 禁止、暂停 GATE=1 允许,有效期:一次,启动方式:信号后,经1个CLK后初值CR,期间写入初值:在 后下个CLK开始,以初值计数,:一次计数,GATE高允许,0暂停,OUT初值写入后为0,写入初值N+1个脉冲后为1,二、方式1:可编程单脉冲发生器(可编程单脉冲),1、结果特点:减1为0后,OUT输出单拍负脉冲(脉宽可编程),2、过程特点:,控制字写入后:OUT=1,计数值写入后:OUT=1,期 间:OUT=0,计数为0:OUT=1直到下个,GATE=0或1无效 GATE重新计数,有效期:由G

35、ATE信号决定,启动方式:GATE,经1个CLK后初值CR,OUT=0,期间写入初值:在GATE 后下个CLK开始,以初值计数,:1、一次计数开始后一个CLK,N个低电平后变高 2、重写后,等GATE,三、方式2:脉冲频率发生器,1、结果特点:产生连续的负脉冲,减到1时输出一个CLK周期 的负脉冲,脉冲周期=计数值时钟周期,2、过程特点:,控制字写入后:OUT=1,计数值写入后:OUT=1,期 间:OUT=1,计数为1:OUT=0 计数为0:OUT=1,GATE=0 停止 GATE=1计数 GATE重启计数器,有效期:无限,循环计数,启动方式:双启,期间写入初值:软启:在GATE=1下次有效启

36、:GATE 立即重启。,:1、多次计数2、GATE 重启 下次有效3、连续的负脉冲输出,四、方式3:方波信号发生器,1、结果特点:产生连续方波,减到初值一半OUT=0,前一半大点,方波周期=计数值时钟周期,2、过程特点:,控制字写入后:OUT=1,计数值写入后:OUT=1,期 间:OUT=1减到n/2(向上仅为)OUT=0,计数为0:OUT=1,GATE=0 停止 GATE=1计数 GATE重启计数器,有效期:无限,循环计数,启动方式:同方式2,期间写入初值:软启:在GATE=1下次有效启:GATE 立即重启。,:1、多次计数2、GATE 重启 下次有效3、连续的方波输出,四、方式4(软件触发

37、选通)计数过程中,GATE端应保持高电平。每写入一次初值,计数一个周期,然后停止计数。每个计数周期结束时(减到0时),OUT端输出一个TCLK宽度的负脉冲。计数过程中修改初值不影响本轮计数过程。五、方式5(硬件触发选通)写入初值时,GATE端应保持低电平。GATE每出现一次正脉冲,计数一个周期,然后停止计数。每个计数周期结束时(减到0时),OUT端输出一个TCLK宽度的负脉冲。计数过程中修改初值不影响本轮计数过程。,6中工作方式比较,6.5.4 8253的应用,用于确定各计数器的工作方式。8253必须先初始化才能正常工作。每个计数器都必须初始化一次。CPU通过OUT指令把控制字写入控制寄存器。

38、,一、控制字说明,二、8253的应用,与系统的连接设置工作方式置计数初值,编程,P543 例8.5 已知8253连接如图,已知有一信号频率为250KHZ,要求得到一秒脉冲。,8253,“1”,“1”,“1”,“0”,分析:fc=250kHz,Tc=4s,最大计数为4s65536=262144s1s,串联使用,2、输入为250kHz,输出为1Hz,须进行250000分频,可以分成两次,1次为2500,另一次为100也可以进行25000和10等,CNT0初值:2500=09C4H,CNT1初值:100=0064H,1、CNT0工作于方式2,CNT1工作于方式3,P394 例8.1 已知8253连接

39、如图,已知有一信号频率为250KHZ,要求得到一秒脉冲。,8253,“1”,“1”,“1”,“0”,CNT0方式3初值:2500=09C4H,CNT1方式2初值:100=0064H,3、控制字分别为,0,0,1,1,0,1,1,1,37H,0,1,1,1,0,1,0,1,75H,初始化程序流程,写控制字,写计数值低8位,写计数值高8位,*,非必须,写入顺序:可按计数器分别写入控制字和初值。也可先写所有计数器控制字,再写入它们的初值,P394 例8.1 已知8253连接如图,已知有一信号频率为250KHZ,要求得到一秒脉冲。,CNT0方式2初值:2500=09C4H,CNT1方式3初值:100=

40、0064H,控制字:37H,控制字:75H,CODE SEGMENT ASSUME CS:CODECNCA EQU 203HCN0 EQU 200HCN0C EQU 37H CN0L EQU 00HCN0H EQU 25HCN1 EQU 201HCN1C EQU 75HCN1L EQU 00HCN1H EQU 01H,START:MOV DX,CNCA;CNT0初始化 MOV AL,CN0C;方式3,BCD OUT DX,AL MOV DX,CN0;CNT0置初值 MOV AL,CN0L OUT DX,AL MOV AL,CN0H OUT DX,AL MOV DX,CNCA;CNT1初始化 M

41、OV AL,CN1C;方式2,BCD OUT DX,AL MOV DX,CN1;CNT1置初值 MOV AL,CN1L OUT DX,AL MOV AL,CN1H OUT DX,AL,LOP:MOV AH,0BH;按任意键返回DOS INT 21H ADD AL,01H JNZ LOP MOV AH,4CH INT 21H CODE ENDS END START,8253应用举例(续),CLK0,GATE0,OUT1,D0D7,WR,RD,A1,A0,CS,DB,IOW,IOR,A1,A0,译码器,8253,CLK2,GATE1,GATE2,+5V,CLK1,2MHz,OUT0,OUT2,?,

42、线路连接图:,8253应用举例 初始化程序,CNT0:MOV DX,0123HMOV AL,34HOUT DX,ALMOV DX,0120HMOV AX,20000OUT DX,AL,MOV AL,AHOUT DX,ALCNT1:CNT2:,*如何读出当前计数值,第1种方法在计数过程中读计数值先锁存当前计数值,再用两条输入指令将16位计数值读出。第2种方法停止计数器再读用GATE信号使计数器停止,再规定RL1和RL0的读写格式,然后读出。,*扩展定时/计数范围,当定时长度不够时,可把2个或3个计数通道串联起来使用,甚至可把多个8253串联起来使用。例如:CLK频率为1MHz,要求在OUT1端产

43、生频率1Hz的脉冲。这时可将计数器0、1串联,工作方式都均为方式3,计数初值均为1000。连接方法见下页。,扩展定时/计数范围,8253,OUT1,GATE1,CLK1,OUT0,GATE0,CLK0,+5V,+5V,1MHz,1KHz,1Hz,8253小结,包含3个16位计数器通道4个编址部件:CNT0/1/2和控制寄存器每个计数器通道工作前必须初始化:控制字和计数初值6种工作方式每种工作方式:启动方式、输出波形、是否可重复计数等各不相同,6.6 中断技术,6.6.1 中断的基本概念6.6.2 8086/8088的中断系统和中断处理6.6.3 中断向量和中断向量表6.6.4 中断响应过程6.

44、6.5 中断处理程序编制的原则和基本结构6.6.6 可编程中断控制器8259A,6.6.1 中断的基本概念,一、中断的基本概念,什么是中断?与生活场景的比较,正在看书,电话铃响,接电话,继续看书,执行程序,事件发生,事件处理,继续执行程序,中断处理,中断请求及响应,实际场景,计算机,中断返回,CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。,图6.10 有中断产生的情况下CPU运行程序的轨迹,图6.12 中断嵌套示意

45、图,引起CPU中断的事件中断源。例如:外设请求输入输出数据,报告故障等事件掉电、硬件故障、软件错误、非法操作、定时时间到等中断源分为:外部中断、内部中断内部中断:CPU内部执行程序时自身产生的中断外部中断:CPU以外的设备、部件产生的中断 8086/8088的外部中断信号:INTR、NMIINTR可屏蔽中断请求,高电平有效,受IF标志的控制。IF=1时,执行完当前指令后CPU对它作出响应。NMI非屏蔽中断请求,上升沿有效,任何时候CPU都要响应此中断请求信号。,二、中断源,为何计算机中要引入中断?,提高数据传输率;避免了CPU不断检测外设状态的过程,提高了CPU的利用率。实现对特殊事件的实时响

46、应。如多任务系统操作系统中:缺页中断设备中断各类异常实时钟,。等,三、中断过程,1、中断申请2、中断响应3、断点及现场保护4、中断源识别5、中断服务6、恢复现场7、中断返回,以下以外部中断为主介绍这五个步骤。,1、中断申请,外部中断希望CPU对它服务时,就产生一个中断请求信号加载至CPU中断请求输入端,通知CPU,形成对CPU的中断请求。,(1)信号形式:NMI上升沿,INTR高电平(2)中断请求信号被有效记录,以便CPU能够检测到。(3)一旦CPU对某个中断源的请求提供了服务,该中断源的申请信号应及时撤销。,2、中断响应,指令的最后一个时钟周期检测是否响应中断。,当前指令执行完。对INTR,

47、还应满足以下条件当前指令是STI和IRET,则下条指令也要执行完。当前指令带有LOCK、REP等指令前缀时,则把它们看成一个整体,要求完整地执行完;对INTR,CPU应处于开中断状态,即IF=1;当前没有复位(RESET)和保持(HOLD)信号。若NMI和 INTR 同时发生,则首先响应NMI。,3、断点及现场保护,由硬件完成,FLAGS入栈,当前的CS和IP入栈(相当于段间调用),由软件完成,保护当前现场保护。一般用PUSH,4、中断源识别,计算机中的中断源有很多,CPU必须识别是哪一个设备产生中断。识别中断源有两个方法:软件查询。将中断信号从数据总线读入,用程序进行判别。中断矢量法。由中断

48、源提供中断类型号,CPU根据类型确定中断源。(8086/8088即采用此种方法),5、中断服务,根据中断类型码在中断向量表中找到中断服务程序的服务程序。,例1:若中断类型号为3,则由中断类型号取得中断服务入口地址的过程如下图所示:,00000H,00001H,0000CH,(0000:000CH),1EA00H,(1E00:0A00H),FFFFFH,低地址,内存,高地址,中断类型号34000CH,中断服务子程序特点为”远”过程(类型为FAR)要用IRET指令返回中断服务子程序要做的工作保护现场(PUSH regs)开中断(STI)进行中断处理 恢复现场(POP regs)中断返回(IRET)

49、,执行中断返回指令IRETIRET指令将使CPU把堆栈内保存的断点信息弹出到IP、CS和FLAG中,保证被中断的程序从断点处能够继续往下执行。,IPL,IPH,CSL,CSH,FLAGL,FLAGH,SP,IPL,IPH,CSL,CSH,FLAGL,FLAGH,SP,IP,CS,FLAG,进入中断服务程序时,中断返回后,7、中断返回,6、恢复现场,由软件完成,恢复原来的保护的现场。POP,四、中断控制,1、中断优先权及中断嵌套,2、中断排队的方法,多个中断源时,CPU响应的先后顺序,即中断优先级,软件判优顺序查询中断请求,先查询的先服务(即先查询的优先级别高)硬件判优链式判优、并行判优(中断向

50、量法)通常将中断判优与中断源识别合并在一起进行处理。x86系统中,这项任务由PIC和CPU共同完成。,图8.2 实现软件查询的接口电路,如果设定该接口的端口号为20H,程序查询可采用两种方法。1)屏蔽法INAL,20H;读取中断请求触发器的状态TESTAL,80H;检查“设备7”是否有请求JNEPROG7;是,则转至“设备7”的处理程序PROG7TESTAL,40H;否,检查“设备6”是否有请求JNEPROG6;是,则转至“设备6”的处理程序PROG6TESTAL,20H;否,检查“设备5”是否有请求JNEPROG5;是,转至“设备5”的处理程序PROG5,2)移位法XORAL,ALINAL,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号