第六章 微机接口技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第六章微机接口技术6.1接口基础与并行通信6.1.1CPU与外设之间的数据传输一.CPU与I/O接口接口电路按功能可分为两类:①是使微处理器正常工作所需要的辅助电路:时钟信号或中断请求等;②是输入/输出接口电路:CPU与外部设备信息的传送(接收、发送)。最常用的外部设备:如键盘、显示装置、打印机、磁盘机等都是通过输入/输出接口和总线相连的,完成检测和控制的仪表装置也属于外部设备之列,也是通过接口电路和主机相连。外部设备的功能多种多样的(输入设备,输出设备,输入设备/输出设备),信息多样(数字式的,模拟式的),信息传输的方式(并行的,串行的),外设的工作速度通常比CPU的速度低得多,而且各种外设的工作速度互不相同,这也要求通过接口电路对输入/输出过程起一个缓冲和联络的作用。注:接口电路完成相应的信号转换、速度匹配、数据缓冲等功能2.接口的功能(8种):⑴寻址能力:对送来的片选信号进行识别。⑵输入/输出功能:根据读/写信号决定当前进行的是输入操作还是输出操作。⑶数据转换功能:并行数据向串行数据的转换或串行数据向并行数据的转换。⑷联络功能:就绪信号,忙信号等。⑸中断管理:发出中斯请求信号、接收中断响应信号、发送中断类型码的功能。并具有优先级管理功能。⑹复位:接收复位信号,从而使接口本身以及所连的外设进行重新启动。⑺可编程:用软件来决定其工作方式,用软件来设置有关的控制信号。⑻错误检测:一类是传输错误。另—类是覆盖错误。注:一些接口还可根据具体情况设置其它的检测信息二.I/O接口与系统的连接1.CPU与I/O设备之间的信号(三类)(1)数据信息包括三种形式:数字量、模拟量、开关量状态信息是外设通过接口往CPU传送的如:“准备好”(READY)信号、“忙”(BUSY)信号控制信息是CPU通过接口传送给外设的如:外设的启动信号、停止信号就是常见的控制信息2.接口部件的I/O端口:⑴数据端口、⑵控制端口、⑶状态端口3.接口与系统的连接.4.输入输出的寻址方式(1)存储器对应输入输出方式每一个外设端口占有存储器的一个地址。优点:CPU对外设的操作可使用全部的存储器操作指令,寻址方式多,使用方便,可寻址的外设数量多。缺点:由于外设占用了存储单元的地址,使内存的容量减小,同时,程序的可读性下降。(2)端口寻址的输入输出方式CPU有专门的输入输出指令(IN,OUT),通过这些指令中的地址来区分不同的外设。优点:容易掌握,编出的程序可读性好。缺点:可寻址的范围较小,还必须有相应的控制线(M/)来区分是寻址内存还是外设。6.1.2可编程并行接口芯片8255A一.并行通信与接口并行通信就是把一个字符的各位同时用几根线进行传输。传输速度快,信息率高。电缆要多,随着传输距离的增加,电缆的开销会成为突出的问题,所以,并行通信用在传输速率要求较高,而传输距离较短的场合。Intel8255A是一个通用的可编程的并行接口芯片,它有三个并行I/O口,又可通过编程设置多种工作方式,价格低廉,使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有着广泛的应用。二.8255A的编程结构8255A由以下几部分组成:1.三个数据端口A,B,C这三个端口均可看作是I/O口,但它们的结构和功能也稍有不同。·A口:是一个独立的8位I/O口,它的内部有对数据输入/输出的锁存功能。·B口:也是一个独立的8位I/O口,仅对输出数据的锁存功能。·C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口。也是仅对输出数据进行锁存。2.A组和B组的控制电路这两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。3.数据总线缓冲器8位的双向的三态缓冲器。作为8255A与系统总线连接的界面,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。4.读/写控制逻辑读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号及系统读信号、写信号、复位信号RESET,还有来自系统地址总线的口地址选择信号A0和A1。三.8255A的引脚功能1.面向CPU的引脚信号及功能·D0-D7:8位,双向,三态数据线,系统数据总线相连;·RESET:复位信号,高电平有效,输入,清除8255A的内部寄存器,并置A口,B口,C口均为输入方式;·CS:片选,输入,用来决定芯片是否被选中;·RD:读信号,输入,控制8255A将数据或状态信息送给CPU;·WR:写信号,输入,控制CPU将数据或控制信息送到8255A;·A1,AO:内部口地址的选择,输入。这两个引脚上的信号组合决定对8255A内部的哪一个口或寄存器进行操作。8255A内部共有4个端口:A口,B口,C口和控制口,两个引脚的信号组合选中端口见下表。2.面向外设的引脚信号及功能•PA0~PA7:A组数据信号,用来连接外设;•PB0~PB7:B组数据信号,用来连接外设;•PC0~PC7:C组数据信号,用来连接外设或者作为控制信号。CSRDCSA1A0I/O地址读操作RD写操作WR00000101001160H61H62H63H读端口A读端口B读端口C非法写端口A写端口B写端口C写控制字四8255A的控制字和工作方式8255A的控制字涉及到两个内容:⑴写控制字设置工作方式等信息,⑵使C口的指定位置位/复位的功能。注:均写入控制端口工作方式控制字要写入8255A的控制口,写入控制字之后,8255A才能按指定的工作方式工作。例1某系统要求使用8255A的A口方式0输入,B口方式0输出,C口高4位方式0输出,C口低4位方式0输入。则控制字为:10010001即91H初始化程序为:MOVAL,91HOUTCTRL_PORT,ALC口的置位/复位功能只有C口才有,它是通过向控制口写入按指定位置位/复位的控制字来实现的。C口的这个功能可用于设置方式1的中断允许,可以设置外设的启/停等。例如在书中例2,A口方式2要求发两个中断允许,即PC4和PC6均需置位。B口方式1要求使PC2置位来开放中断。初始化程序可补充完整如下。MOVAL,0C4HOUTCTRL_PORT,AL;设置工作方式MOVAL,09HOUTCTRL_PORT,AL;PC4置位,A口输入允许中断MOVAL,ODHOUTCTRL_PORT,AL;PC6置位,A口输出允许中断MOVAL,05HOUTCTRL_PORT,AL;PC2置位;B口输出允许中断工作方式方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路1.方式0:为一种简单的输入/输出方式,没有规定固定的应答联络信号,可用A,B,C三个口的任一位充当查询信号,其余I/O口仍可作为独立的端口和外设相连。方式0的应用场合有两种:一种是同步传送;一种是查询传送。2.方式1方式1是一种选通I/O方式,A口和B口仍作为两个独立的8位I/O数据通道,可单独连接外设,通过编程分别设置它们为输入或输出。而C口则要有6位(分成两个3位)分别作为A口和B口的应答联络线,其余2位仍可工作在方式0,可通过编程设置为输入或输出。输出C口的PC3、PC6、PC7用作A口的应答联络线,PC0-PC2则作用B口的应答联络线,余下的PC4~PC5则可作为方式0使用。应答联络线的功能如下:·OBF:输出缓冲器满。当CPU已将要输出的数据送入8255A时有效,用来通知外设可以从8255A取数。·ACK:响应信号。作为对的响应信号,表示外设已将数据从8255A的输出缓冲器中取走。·INTR:中断请求信号。INTR置位的条件是ACK为高且OBF为高且INTE为高。·INTE:中断允许。对A口来讲,由PC6的置位来实现,对B口仍是由PC2的置位来实现。方式1输出引脚:A端口外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中断允许触发器方式1输出引脚:B端口PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器方式1输出时序INTRdatadata输出端口D0~D7WROBFACK方式1中断控制8255A的中断由中断允许触发器INTE控制置位允许中断,复位禁止中断对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号的哪一位,只要对那一位置位/复位就可以控制INTE触发器选通输入方式下端口A的INTEA对应PC4端口B的INTEB对应PC2输入STB——选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF——输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR——中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据方式1输入引脚:A端口输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中断允许触发器PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据中断允许触发器dataINTRIBFdata输入端口D0~D7STBRD方式2双向方式方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF有效时向外设输出数据,而是在外设提供响应信号ACK时才送出数据方式2双向引脚PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号五.8255A的编程及应用作为通用的并行接口电路芯片,825A具有广泛的应用应用在IBMPC/XT微机上应用于打印机接口电路连接简易键盘驱动LED数码管1.读写数据端口初始化编程后:当数据端口作为输入接口时,执行输入IN指令将从外部输入设备得到外设数据当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给外部输出设备8255A具有锁存输出数据的能力对输出方式的端口同样可以输入不是读取外设数据读取的是上次CPU给外设的数据利用8255A的输出锁存能力,可实现按位输出控制对输出端口B的PB7位置位的程序段:movdx,0fffah;B端口假设为0FFFAHinal,dx;读出B端口原输出内容oral,80h;使PB7=1outdx,al;输出新的内容2.打印机接口应用举例例3利用8255A的A口方式0与微型打印机相连,将内存缓冲区BUFF中的字符打印输出。试完成相应的软硬件设计。(CPU为8088)首先我们分析一下打印机的工作。微型打印机和主机之间的接口采用并行接口。它的工作流程是:主机

1 / 87
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功