输入和输出接口技术.ppt_第1页
输入和输出接口技术.ppt_第2页
输入和输出接口技术.ppt_第3页
输入和输出接口技术.ppt_第4页
输入和输出接口技术.ppt_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,1,第5章 输入与输出接口技术,本章主要内容: 1、接口技术的基本概念 2、输入输出传送方式 3、I/O端口读写技术 4、可编程定时器/计数器8253 5、可编程并行输入输出接口芯片8255A,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,2,微机硬件系统组成,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,3,接 口 的 概 念,接口:是中央处理器与存储器、外部设备,或者两种外设之间,或者两种机器之间通过系统总线进行连接的一组控制电路。 一个接口一般含有几个端口,CPU通过输入输出指令向端口存或取信息。 端口主要有三类:状态口、命令口和数据口,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,4,I/O 装置,CPU,接口电路,I/O端口1,I/O端口2,I/O端口3,端口地址,数据,IORQ,RD,WR,数据,状态,控制,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,5,接 口 的 功 能,1) 设备的选择功能:端口的地址译码 2) 数据的寄存与缓冲:外设的速度慢 3) 信号转换:串并、并串转换,数模、模数的转换、光电隔离等 4) 对外设的控制和监测:提供命令译码和状态信息 5) 中断或DMA管理 6) 可编程功能,接口的基本功能就是对数据传送实现控制,具体包括以下六种功能:,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,6,CPU与I/O设备之间的接口信息,1数据信息: 1) 数字量:以二进制或ASCII码表示的数或字符; 2) 模拟量:如温度、压力、位移等; 3) 开关量:只有两个状态的量,如开关的和与断,阀门的开与关等,只要用1位二进制数即可表示。 2状态信息:指输入或输出设备的状态信息 1) 输入装置的信息:是否准备好Ready; 2) 输出时输出装置:是否空Empty; 3) 若输出装置正在输出信息,则以忙Busy指示; 3控制信息:如控制输入输出装置启动或停止等信息。,CPU与I/O设备之间要传送的信息包括数据信息、状态信息和控制信息。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,7,端口的编址方式,标准的I/O寻址方式(独立编址): (1) I/O设备的地址空间和存储器地址空间是独立的、分开的,即I/O接口地址不占用存储器的地址空间。 (2) 微处理器对I/O设备的管理是用专门的IN和OUT指令来实现数据传送的。 (3) CPU对I/O设备的读写控制是用I/O读写控制信号(IOR、IOW),通常有两种I/O接口结构:一种是标准的I/O接口,一种是存储器映像I/O结构。与之对应的有两种I/O结构寻址方式。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,8,特点: 端口与存储器分别独立编址 端口不占用内存空间 设有专门的 I/O指令对端口进行读写, 对内存操作的指令不能用于I/O端口,端口与存储器分别独立编址(I/O映射方式),例 MOV 10H , AL ;对内存操作 IN 10H, AL ;对端口操作,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,9,端口的编址方式,存储器映像I/O寻址方式(统一编址): (1) I/O设备的与存储器共用同一个地址空间。 (2) 微处理器用对存储器进行操作的指令来实现对I/O设备的管理。 (3) CPU用对存储器的读写控制信号MEMR、MEMW对I/O设备进行读写控制。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,10,端口与存储器统一编址(存储器映射方式),特点: I/O端口相当于内存的一部分, 使内存容量减小 对I/O端口的读/写与对存储器的读/写相同, 所有可对内存操作的指令对I/O端口均可使用, 指令系统中不专设I/O指令。,例: motorola的M6800系列 日立H8S单片机系列,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,11,输入输出传输方式,(1)无条件传送方式 (2)查询传送方式 以上两种方式合称程序控制传送方式,即在程序的编制中利用I/O指令来执行输入输出,CPU处于主动地位。 (3)中断传送方式 (4)直接存储器存取(DMA)方式,CPU与外部设备交换信息通常有如下几种方式:,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,12,无条件传输方式,最简单的传送方式,适于外设总是处于准备好的情况,如发光二极管、开关设备等,较少使用。 1无条件传送的输入方式 由于简单外设用为输入设备时,输入数据的保持时间相对于CPU的处理时间要长得多,所以可直接使用三态缓冲器和总线相连。输入时认为来自外设的数据已出现在三态缓冲器的输入端。 2无条件传送的输出方式 在输出时,CPU的输出数据经数据总线加至输出锁存器的输入端。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,13,说明:AEN为低电平,为CPU控制总线。,三态 缓冲器,地址译码器,数据,来自外设,无条件传送的输入方式,数据总线,地址总线,AEN IOR,A0A9,Y,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,14,无条件传送的输出方式,锁存器,地址译码器,数据,到外设,数据总线,地址总线,AEN IOW,A0A9,C,Y,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,15,查询传输方式,查询传送方式就是在输入和传送前先查询外设的状态,当外设准备好了才传送;若未准备好,则CPU等待。 1查询式输入 CPU先从状态口输入外设的状态信息,检查外设是否已准备好数据。若未准备好,则CPU进入循环等待,直到准备好才退出循环,输入数据。 2查询式输出 查询式输出时,CPU必须先查外设的BUSY状态,看外设的数据缓冲区是否已空。若缓冲区为空,即BUSY为假,则CPU执行输出指令;否则若BUSY为真,CPU就等待。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,16,查询式输入的接口电路,锁存器,数据口 地址译码,数据,系统 地址总线,IOR AEN,A0A9,状态口 地址译码,去系统 数据总线,三态 缓冲器,缓冲器,输入 装置,数据,AEN IOR,+5,R,D,Q,选通信号,Ready,状态 信息,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,17,查询式输入,MOV DX, STATUS-PORT POLL: IN AL, DX TEST AL, 80H JE POLL ; 未准备好等待 MOV DX, DATA-PORT IN AL, DX,数据口:,状态口:,Ready,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,18,查询式输出的接口电路,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,19,查询式输出,MOV DX, STATUS-PORT POLL: IN AL, DX TEST AL, 80H JNE POLL ; 未准备好等待 MOV DX, DATA-PORT MOV AL, BUFFER OUT DX, AL,数据口:,状态口:,Busy,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,20,中断传输方式,在查询传送方式中,CPU要不断地询问慢速的外设,当外设没有准备好,CPU就要等待,不能做其它的操作,这样就浪费了CPU的时间。 为了提高CPU的工作效率,提出了中断的概念。采用中断的传送方式,可允许CPU和多个外设同时工作,此时外设处于主动地位。 在一定的条件下,外设向CPU提出中断请求,CPU响应中断请求后,暂停原程序的执行,转至为中断服务,中断处理结束后继续原程序的执行。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,21,锁存器,地址译码,数据,AB,IOR AEN,A0A9,去系统 数据总线,三态 缓冲器,三态 缓冲器,输入 装置,数据,+5,R,D,Q,选通,中断矢量,去数据总线,装置中断允许,中断请求 INTR,中断响应 INTA,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,22,直接存储器存取方式(DMA),中断传送方式相对于查询传送方式来说,大大提高了CPU的利用率,但中断传送方式仍然是由CPU通过指令来传送的。每次中断,都要进行保护断点、保护现场,传送数据、存取数据以及最后恢复现场、返回主程序等操作,需要执行多条指令。 DMA方式是在存储器与I/O设备间在DMA控制器的控制下,直接进行数据交换而不通过CPU。这样数据传送上限将主要取决于存储器的存取速度。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,23,数据 状态/控制 端口 端口,DMA控制器,CPU,存 储 器,数据 缓冲 寄存器,DMA 请求 触发器,输入设备,地址寄存器,计 数 器,控制/状态寄存器,HOLD,HLDA,Ready,DMA请求,DMA响应,总 线,DMA控制器原理框图,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,24,I/O接口的端口地址译码,全译码方式:即译码电路的一个输出引脚对应唯一的地址。 部分译码方式:在译码电路里只使用了部分地址线,译码电路的每个输出引脚对应着一个地址区域。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,25,利用门电路进行地址译码,经过译码后的端口号地址为:34EH,A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 AEN 1 1 0 1 0 0 1 1 1 0 0,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,26,利用门电路进行地址译码,经过译码后的端口号地址为:25BH,A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 AEN 1 0 0 1 0 1 1 0 1 1 0,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,27,采用译码器进行地址译码,74LS138译码器有3个输入端(A, B, C),3个控制端(G1, G2A, G2B),8个输出端(Y0Y7)。 只有当G1端为高电平,G2A、G2B都为低电平时,译码器才对来自输入端的C、B、A的某一组合进行译码。,译码电路常用的典型译码器为74LS138(三八译码器),7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,28,74LS138(三八译码器)逻辑功能表,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,29,A9 A8 A6 A7 A5 A4 A3,340H 341H 342H 343H 344H 345H 346H 347H,A0 A1 A2,AEN,A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 AEN 1 1 0 1 0 0 0 0,采用译码器进行地址译码,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,30,A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 AEN 1 1 0 1 0 0,假如A, B, C三端的电平为0, 0, 0时,则Y0端输出的地址为一个地址区域(340H343H)。8253接口芯片共有4个端口地址。,采用译码器进行地址译码,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,31,I/O端口的地址分配和地址译码,I/O接口电路必须有自己的地址,以便让CPU能随时访问。80X86微处理器由低16位地址线寻址I/O端口,故可寻址64K个I/O端口地址。但实际上8086/8088 PC机只用了最前面的1K个端口地址,即03FFH,因此只使用了地址总线的低10位,即只有地址线A0A9用于I/O地址译码。 对于端口地址通常采用两级译码方法,通常高位地址产生译码的片选信号;低位产生接口芯片内的寄存器地址。 高位地址:接芯片的CS端(CHIP SELECT片选信号) 低位地址:如A0,A1地址线直接接芯片的对应端。 地址译码可用一般的组合逻辑电路,也可以用门电路或译码器芯片实现。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,32,可编程定时器/计数器芯片8253,要实现定时或延时控制,有三种主要方法: 1) 软件:循环语句 优点:容易实现,不需硬件开销; 缺点:占用CPU,降低了CPU的利用率 2) 不可编程的硬件定时:如集成电路555 优点:电路简单,修改电路参数可使定时范围变化 缺点:硬件连接好后,定时值将不能改变,不可编程。 3) 可编程的硬件定时:芯片8253(Intel 公司)。 可编程定时/计数器是为方便微型计算机系统的设计和应用而研制的,很容易和系统总线连接。它的定时值和范围可以很容易地由软件来确定和改变,能够满足各种不同的定时和计数要求,因而在微型计算机系统的设计和应用中得到了广泛的应用。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,33,8253的结构及引脚,8253有24条引脚,双列直插式封装: 1、与数据总线相连: D0 D7 2、与CPU的控制线相连: RD、WR、A0、A1、CS 3、3个计数器通道: CLK,GATE,OUT(共9个) 4、电源和地线: Vcc、GND,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,34,8253的内部结构,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,35,8253的内部结构,数据总线缓冲器 CPU向8253所写的控制字通过它和8253内部的数据总线传送给控制字寄存器寄存; CPU向各计数器所写的计数初值经它和内部总线送到指定的计数器中; CPU读某计数器的现行计数值时,该值经内部总线和缓冲器传送到系统的数据总线上,被CPU读取 读/写控制逻辑 读写逻辑接收系统总线的5个输入信号,根据这5个信号产生整个器件操作的控制信号。见P186表5-4 控制字寄存器(CW) 控制寄存器寄存数据缓冲器送来的控制字,控制每个计数器的工作方式,选择计数器按什么进制计数,并确定初值的写入顺序。控制字寄存器只能写入,不能读出。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,36,8253的内部结构,计数器0、计数器1、计数器2 计数器0、1、2是3个独立的计数器,它们的内部结构相同。 每个计数通道都必须由CPU写入控制字和计数初始值后才能开始工作。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,37,8253的内部结构,计数器的逻辑框图如下:,写入计数器的初值保存在计数初值寄存器中,由CLK脉冲的一个上升沿和一个下降沿将其装入减1计数器。 输出寄存器的值跟随减1计数器的变化。 每个计数器都是对输入的CLK脉冲按二进制或十进制的预置值开始递减计数。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,38,8253的控制字定义,8253有6种工作方式: 方式0:计数结束产生中断 方式1:单稳态触发器 方式2:频率发生器 方式3:方波发生器 方式4:软件触发选通 方式5:硬件触发选通,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,39,8253的控制字定义,每个计数通道都必须由CPU写入控制字和计数初始值后才能开始工作。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,40,8253的接口方法,一个8253占用4个端口地址,由A0A1的取值来区分,00、01、10分别寻址0号、1号、2号3个计数器,11寻址控制字寄存器,4个端口的具体地址是由CS和A1A0共同决定。 在80X86系列计算机中,定时/计数器的端口地址为40H(计数器0), 41H(计数器1), 42H(计数器2), 43H(控制字寄存器)。 例:见P190图5-38,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,41,1)当控制字CW写入到控制字寄存器后,则OUT端变低(只有方式0独有)。 2)8253在CPU写入计数初值后,开始计数。 3)门控信号GATE为高电平开始计数,低电平则暂停计数; 4)计数结束,OUT输出端变为高电平,计数器只计一遍; 5)在计数过程中可改变计数值,则计数器以新值开始计数。 6)8253内部没有中断控制电路,也没有专用的中断请求引线,若要用于中断,可用OUT信号作为中断请求信号,但需要由外接的中断优先权排队电路与向量产生电路。,方式0:计数结束中断方式,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,42,方式0:计数结束中断方式,WR,CLK,GATE,OUT,4,3,2,1,0,FF,CW=10 LSB=4,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,43,方式1:硬件触发单拍脉冲,当CPU写入控制字之后,输出OUT将变为高电平。 当CPU写完计数值后,计数器并不马上开始计数,直到外部门控信号GATE启动之后才开始计数,输出OUT变低。 在整个计数过程中,OUT都维持为低,直到计数到0,输出变为高,因此输出为一个单拍脉冲。 通过GATE的重复触发和计数到0两种动作,OUT脚可输出一定宽度的脉冲信号。 在计数过程中,CPU可改变计数值,这时计数过程不受影响,计数到零后输出为高。若再次触发启动,则计数器将按新输入的计数值计数,即计数值是下次有效的。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,44,方式1:硬件触发单拍脉冲,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,45,方式2:频率发生器,当CPU输出控制字后,输出端OUT将为高。 在写入计数值之后,计数器将立即自动对输入时钟CLK计数。在计数过程中输出始终保持为高,直到计数器减为1时,输出将变低,经过一个CLK周期,输出恢复为高 ,且计数器开始重新计数。 不用重新设置计数值,通道能够连续工作,输出固定频率的脉冲。 计数过程可由门控脉冲控制。当GATE变低时,就暂停计数。 在计数过程中可以改变计数值,但也是下次有效的。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,46,方式2:频率发生器,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,47,方式3:方波发生器,当CPU设置控制字后,OUT输出变为高。 在写完计数值之后就自动开始计数,输出保持为高; 若计数值为偶数,在装入计数之后,每一个CLK脉冲使计数值减2,当计数到0时,一方面使输出改变状态,另一方面又重新装入计数值开始新的计数,过程就这样周而复始地重复进行。它可以在OUT脚获得一个完全对称的方波。 若计数值为奇数,则在装入计数值后的第一个CLK脉冲使计数器减1,其后每一个CLK脉冲使计数器减2。当计数到0时,改变输出状态,同时重新装入计数值。这以后的第一个CLK脉冲使计数器减3,以后每一个CLK脉冲,计数器仍减2。它可以在OUT脚获得一个不对称的方波。 如果n=4,则方波的宽度为N/2。如果N=5,则高电平为(N+1)/2,低电平为(N-1)/2。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,48,方式3:方波发生器,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,49,方式4:软件触发选通,当写入控制字后,输出OUT为高(原为高则保持为高,原为低则变为高)。 当写入计数值后立即开始计数(相当于软件启动),当计数到0后,输出变低,经过一个输入时钟周期,输出又变高。计数器停止计数。 与方式0相似,不同的是到零时OUT由高变低,说明计数值到。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,50,方式4:软件触发选通,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,51,方式5:硬件触发选通,设置控制字后,输出OUT变为高。 在设置计数值之后,计数器并不立即开始计数,而是由门控脉冲GATE的上升沿触发启动。 当计数到0时,输出变低,经过一个CLK脉冲,输出恢复为高,停止计数。要等到下次门控脉冲的触发才能再计数。 与方式1不同的是此方式必须等GATE上升沿出现后,先是输出一个高电平,然后当计数为零时在OUT产生宽度为一个时钟周期的负脉冲,用作硬件触发选通。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,52,方式5:硬件触发选通,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,53,8253的编程,对8253的初始化编程包括两方面的内容:向控制字寄存器写入控制字;向相应通道计数器写入计数值(时间常数)。,解:8253计数器0只能工作于方式2 计算计数初值:,控制字为: 00110100B(34H,采用二进制计数) 00110101B(35H,采用BCD码计数),例:利用8253的通道0产生2KHz的频率波形,其中负脉冲宽度为1s。假设CLK0输入的时钟是1MHz,8253的地址为4043H。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,54,8253的编程,1、计数初值用二进制数表示: MOV AL,34H OUT 43H,AL MOV AL,0F4H OUT 40H,AL MOV AL,01H OUT 40H,AL,2、计数初值用BCD数即十进制数表示: MOV AL,35H OUT 43H,AL MOV AL,00H OUT 40H,AL MOV AL,05H OUT 40H,AL,用二进制计数时,初值的范围是0000HFFFFH,0000H代表最大值65536; 用BCD码计数时,初值的范围是0000H9999H,0000H代表最大值10000;,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,55,8253在生产线自动计数系统中的应用,电路由一个红外LED发光管、一个复合型光电晶体管、两个施密特触发器74LS14及1片8253芯片构成。用8253的通道1来计数。安装时将红外LED发光管装在生产线的一侧,复合型光电晶体管装在生产线的另一侧,对称安装。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,56,8253在生产线自动计数系统中的应用,当LED发光管与光电管之间无工件通过时,LED发出的光能够照在光电管上,使光电管导通,集电极变为低电平。此信号经74LS14驱动整形后送到8253的CLK1,使8253的CLK1端也为低电平。当LED发光管与光电管之间有工件通过时,LED发出的光被工件挡住,光电管截止,集电极变为高电平,使8253的CLK1端也为高电平。待工件通过后,CLK1端又回到了低电平。这样,每通过一个工件,就从CLK1端输入一个正脉冲,利用8253对此脉冲计数,就可以统计出工件的个数来。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,57,8253在生产线自动计数系统中的应用,8253的A1和A0分别与CPU地址总线的A2和A1相连。GATE1接+5V,OUT1作为中断信号INT接到8259A的一个中断请求输入端IR2。本系统中设计的8253的端口地址分别为0350H,0352H,0354H,0356H。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,58,8253在生产线自动计数系统中的应用,选择计数器1工作在方式0。在8253的方式0工作方式中,从将计数初值写入计数器到开始减1计数之间,有一个时钟脉冲的延迟。若计数初值为n=999,那么经过n+1个即1000个脉冲时计数值减为0,并在OUT1端输出一正跳变,这可以作为中断请求。在中断服务子程序中CPU可以做其他处理,如送下一个包装箱等。 若要求一个包装箱内装工件2000个,则计数初值为1999,按十进制计数,先送低8位,再送高8位,控制字为01110001B。初始化程序为: MOV AL,01110001B MOV DX, 0356H OUT DX,AL MOV AL, 99H MOV DX, 0352H OUT DX, AL MOV AL,19H OUT DX, AL,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,59,可编程并行输入输出接口芯片8255A,随着大规模集成电路技术的发展,出现了许多通用的可编程接口芯片,8255A就是一片典型的并行输入输出接口芯片。,并行接口芯片一般应具有以下功能: 1、有两个或两个以上、具有锁存器或缓冲器的数据端口。 2、每个数据端口都有与CPU用应答方式交换信息所必须的控制和状态信息以及与外设交换信息所需的控制和状态信息 3、通常每个数据端口还具有能用中断方式与CPU交换信息所必须的电路。 4、选片和控制电路。 5、可用程序选择数据端口、端口的传送方向、与CPU交换信息的方法(查询或中断)等。 6、芯片在工作前可通过输入输出指令对其编程(即初始化),以规定它的工作方式。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,60,8255A的结构及引脚,1、与CPU相连的引脚 D0D7:数据线,与系统总线相连 A0A1:用来选择3个数据口和控制字寄存器 RESET:高电平有效,使8255内部所有寄存器清零,所有的I/O端口被置为输入方式 RD:低电平有效,CPU从8255读取信息。 WR:低电平有效,CPU把数据或控制字写入8255A。 CS:低电平有效,一般接端口地址译码器输出端,允许8255A与CPU进行通信。 2、与外设相连的引脚 PA0PA7,PB0PB7,PC0PC7:分别对应端口A、B和C。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,61,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,62,8255A的基本结构,数据总线缓冲器:三态双向8位缓冲器,是8255与数据总线的接口。输入输出的数据以及CPU发出的命令控制字和外设的状态信息,都是通过这个缓冲器传送的。 读/写控制逻辑(硬件控制线) 1) RD:控制8255送出数据或状态信息至系统数据总线。 2) WR:控制把CPU输出到系统总线上的数据或命令写到8255。 3) A1、A0:用来选择A、B、C三个端口和控制字寄存器。 4) RESET:复位信号,清除控制寄存器,同时置A、B、C三个端口为输入方式。 5) CS:片选信号,由它启动CPU与8255之间的通信。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,63,8255A的基本结构,例:设8255A的端口地址为(80H83H),请写出在执行下列指令时,读写控制逻辑信号A0、A1、RD#、WR#和CS#的电平。,A1 A0 RD# WR# CS# IN AL,82H,OUT 80H,AL,1 0 0 1 0,0 0 1 0 0,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,64,8255A的基本结构,内部控制逻辑:包括A组控制逻辑和B组控制逻辑 这是两组根据CPU的方式选择控制字来控制8255工作方式的电路。其控制寄存器接收CPU输出的方式控制字,决定两组的工作方式;还可以根据CPU的状态字对端口C的每一位实现按位复位或置位。 A组:由PA,PC4PC7构成数据传送通道 B组:由PB,PC0PC3构成数据传送通道 输入/输出接口电路: 由三个8位输入/输出端口组成,即PA口,PB口,PC口(PC4PC7,PC0PC3),7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,65,8255A的控制字与状态字,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,66,8255A的方式选择控制字,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,67,8255A的方式选择控制字,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,68,8255A的C口置1/置0控制字,任 意,D7=0,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,69,(8255A的控制字与状态字)小结,l 工作方式控制字(D7=1) l 对端口C置位/复位控制字(D7=0) 端口A有方式0、1和2三种工作方式 端口B只能工作在方式0和1 端口C仅工作于方式0。 控制字的端口地址为四个端口地址的最后一个地址。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,70,(8255A的控制字与状态字)实例,说明: 1、此为设置端口的工作方式控制字; 2、B口工作于方式0,输出,PC3PC0作输出 3、A口工作于方式1,输入,PC7PC4作输出,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,71,(8255A的控制字与状态字)实例,说明: 1、此为对端口C进行置1/置0的控制字; 2、将PC4置为1,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,72,8255A的工作方式,8255A有三种工作方式: 方式0基本输入输出方式:对应的数据传输方式为程序控制的传输方式(即无条件传输方式和查询传输方式); 方式1选通输入输出方式:分为选通输入和选通输出两种。对应的数据传输方式为中断传输方式。C口不可工作于此方式,只是起配合作用; 方式2双向选通输入输出方式:相当于方式1输入和输出的组合,对应的数据传输方式也是中断传输方式。只有A口可工作于此方式。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,73,8255A的工作方式(方式0),方式0:基本的输入输出方式 PA,PB,PC可分别传送数据。在这种工作方式下,可以由CPU用简单的输入或输出指令来进行读或写,没有规定用于应答的联络信号线。,1) 当8255工作于方式0用于无条件传送方式时,其接口电路十分简单,这时不需要状态端口,三个端口都可以作为数据端口。 2) 当用作查询式输入输出接口电路时,此时端口A和B可以分别作为数据端口,而取端口C的某些位作为这两个数据端口的控制和状态信息。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,74,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,75,8255A的工作方式(方式0),例:8255端口A工作于方式0,作输出口,其输出线接至一组发光二极管;端口B工作于方式0,做输入口,用一组开关信号作为B口的输入信号;,程序如下: L1: MOV AL,82H OUT 63H,AL IN AL,61H OUT 60H,AL JMP L1,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,76,8255A的工作方式(方式1),方式1:带选通的输入输出方式(中断方式) 它将三个端口分为A、B两组: A组:PA,PC3PC5 (3位) B组:PB,PC0PC2 (3位) C口余下的两位PC6、PC7仍可作为输入或输出用。此时端口A和B都可以由程序设定为输入或输出。端口C的某些位作为控制状态信号,用于联络和中断,各位的功能是固定的,不能用程序改变。,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,77,8255A方式1输入组态,STBA IBFA INTRA I/O,端口A,1:输入 0:输出,7/16/2019 12:13 AM,版权保留(C) 南京理工大学机械工程学院 王芳,78,方式1输入组态,STBB IBFB INTRB,端口B,7/16/2019 12

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论