微机原理及应用:第7章 并行接口和并行通信

上传人:m**** 文档编号:568895745 上传时间:2024-07-27 格式:PPT 页数:95 大小:4.11MB
返回 下载 相关 举报
微机原理及应用:第7章 并行接口和并行通信_第1页
第1页 / 共95页
微机原理及应用:第7章 并行接口和并行通信_第2页
第2页 / 共95页
微机原理及应用:第7章 并行接口和并行通信_第3页
第3页 / 共95页
微机原理及应用:第7章 并行接口和并行通信_第4页
第4页 / 共95页
微机原理及应用:第7章 并行接口和并行通信_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《微机原理及应用:第7章 并行接口和并行通信》由会员分享,可在线阅读,更多相关《微机原理及应用:第7章 并行接口和并行通信(95页珍藏版)》请在金锄头文库上搜索。

1、第七章并行通信和并行接口并行通信就是把一个字符的各数位用几条线同时进行传输,并行通信的信息实际传输速度快、信息率高,距离增加电缆开销大。和串行通讯不同,当前还没有标准化,也没有对同步传输和异步传输作严格定义。实行并行通信的接口就是并行接口,可设计成单独输入、单独输出、既输入又输出。并行接口中应该有一个控制寄存器用来接收CPU的命令,有一个状态寄存器提供各种状态位供CPU查询,还必须有相应的输入输出缓冲寄存器。输入过程中,外设将数据送给接口,并使数据输入准备好高电平,接口接收数据并使数据输入回答高电平,以撤销数据和数据输入准备好图7.0并行接口连接外设示意图在输出过程中,每当外设从接口取走一个数

2、据后,接口就会将状态寄存器中的“输出准备好”状态位置1.当CPU输出的数据到达接口的输出缓冲寄存器后,接口会自动清除“输出准备好”状态位,并将数据送往外设,与此同时,接口往外设发送一个“数据输出准备好”启动外设接收数据.7.1可编程并行通信接口8255A8255A是Intel系列的并行接口芯片,由于它是可编程的,可通过软件来设置芯片的工作方式,与外设相连时通常不需要附加电路,使用方便。7.1.18255A的内部结构8255A的内部结构框图见图7.1由以下几部分组成:数据端口A、B、C有3个8位数据端口,端口A、B、C。可用软件将它们设为输入或输出端口,但3口各有特点。端口A端口A对应1个8位数

3、据输入锁存器和1个8位输出锁存器缓冲器。端口B端口B对应1个8位数据输入缓冲器和1个8位数据输出锁存器缓冲器。端口C端口C对应1个8位数据输入缓冲器和1个8位数据输出锁存器缓冲器。在使用中,A、B常作为独立的输入或输出口,C口配合他们的工作。1.A组控制和B组控制一方面接收芯片内部总线上的控制字,一方面接收来自读写命令,据此决定两组端口的工作方式和读写操作。A组控制电路控制A口和端口C的高4位,B组控制B和C的低4位。2.读写控制逻辑电路接收CS、A1、A0、RESET、WR、RD,组合后得到对A、B组的控制命令数据总线缓冲器是一个双向3态的8位数据缓冲器,8255由此输入输出数据、状态、命令

4、。7.1.28255A的芯片引腿信号图7.2是8255A的芯片引腿信号,除电源和地外,可分为两组:图7.2是8255A的芯片引腿信号,除电源和地外,可分为两组:和外设一边相连的PA7PA0:A口数据信号PB7PB0:B口数据信号PC7PC0:C口数据信号1.和CPU一边相连的RESET:复位信号,高电平到来时所有内部寄存器被清零,3口均输入。D7D0:8255的数据线,和CPU系统数据总线相连。CS:片选信号由某几位地址线组合选中8255,有效时RD、WR才起作用。RD、WR:芯片读出和写入信号,控制CPU与8255之间交换数据。A1、A0:端口选择信号,8255内部有3个数据端口和1个控制口

5、,8086的16位数据线中低8位与8255相连,故4口均为偶地址,A2连A1,A1连A0,CPU的A0赋0,即可保证.表5.48255A的控制信号与传输动作的关系7.1.38255A的控制字8255A可以通过指令在控制端口中设置控制字来决定它的工作.控制字分为两类:芯片各端口的方式选择控制字(D71为方式字标识符特征位),可使3个数据端口(分两组)工作在不同方式,A组:A口和C口高4位B组:B口和C口低4位端口C置1置0控制字(D70为置1置0字标识符)方式选择控制字图7.3方式选择控制字的格式8255A有3种基本工作方式方式0:基本的输入输出方式方式1:选通的输入输出方式方式2:双向传输方式

6、A口可有3种工作方式;B口可方式0和方式1;C口配合A、B口的工作同一组的两个口可分别输入输出,不要求一致。例子:方式选择控制字的使用,8086系统中有两个8255芯片J1、J2。两片8255A在8086系统中的连接J1 、J2的片选信号CS通过38译码器74LS138来供给。例子:要求J1各端口工作于如下方式A口:方式0,输出;B口:方式0,输入;C口高4位:输出;C口低4位输入J1的方式控制字如下图J1的方式控制字如下图也就是83H,应写入J1的控制口0026H如果又要求J2的A口:方式0,输入;B口:方式1,输出C高:输出C低:配合B口;控制字为下图也就是94H,应写入J2控制口2E初始

7、化程序如下:MOVAL,83HMOVDX,0026HOUTDX,ALMOVAL,94HMOVDX,002EHOUTDX,AL2.端口C置1置0控制字端口C的数位常常作为控制位使用,可用置1置0指令单独设置.当8255收到写入控制口的控制字时,测试D7=1?,D7=0则为置1置0控制字格式见图7.5所示置1置0控制字格式见图7.5所示几点说明:C口置1置0控制字尽管对C口操作,但 要 写 入 控 制 口 地 址 。 OUTPORTCONTROL,AL置1置0控制字D0位决定了置1还是置0,D00则置0,1置1置1置0控制字的D3、D2、D1位决定了对C口中哪一位进行操作置1置0控制字的D6、D5

8、、D4位不影响此操作,但D70。例子:置PC7=1、PC3=0,操作如下:MOVAL,0FH对PC7置1的控制字00001111MOVDX,002EH;控制口地址送DXOUTDX,AL ;对PC7进行置1操作MOVAL,06H;对PC3置0的控制字00000110OUTDX,AL ;对PC3进行置0操作8255A的工作方式1.方式0方式0的工作特点方式0也叫基本输入输出方式,端口C还可分成两个4位口,4个口分别输入输出,16种组合。方式0的输入输出时序方式0的时序比较简单,输入时,要满足:要求CPU在发出读信号前,先发出地址信号,使CSA1A0有效启动8255CPU发出读信号前,外设已将数据送

9、到8255的输入缓冲器中8255在读信号有效后经过tRD时间,可使数据在数据总线上得到稳定,3要求3要求在整个读出期间,地址信号保持有效输入数据必须保持到读信号消失后才消失要求读脉冲的宽度至少为300ns要求易于满足(8086配备地址锁存器),要求取决于输入设备。难怪方式0不常用,无应答信号,太不牢靠了。图7.6是方式0输出时序(也较简单)地址信号必须在写信号前tAW时间写脉冲宽度至少要有400ns数据必须在写信号结束前tDW时间就能出现在数据总线上,且保持tWD时间方式0的使用场合方式0的使用场合有两种,一种是同步传送,一种是查询式传送。同步传送时,发送方和接收方的动作由一个时序信号来管理,

10、所以双方知道对方的动作,不需要应答动作,即CPU不需要查询外设状态。查询式传送时,方式0没有固定的应答信号,可以指定C口的高或低4位作为控制输出口,另外4位读入外设的状态。方式1方式1的工作特点也叫选通的输入输出方式,A或B口输入输出时,必须用C口提供的选通信号和应答信号,且应答含义固定。方式1有如下特点:A、B口均可工作于方式1,可输入可输出。A或B口方式1时,需C口3位配合其工作,其余位仍可输入输出。如A、B口均工作于方式1,需C口6位配合他们工作,余下2位输入输出方式1输入情况下有关信号的规定和输入时序当A口方式1时,PC3作为中断请求信号输出端INTRAPC4作为选通信号输入端STBA

11、,PC5作为输入缓冲器满信号输出IBFA当B口方式1时,PC0作为中断请求信号输出端INTRBPC1作为输入缓冲器满信号输出IBFBPC2作为选通信号输入端STBB,这些数位和信号之间的对应关系随工作方式而定,不需程序员干预。当A、B口均工作在方式1时,C口6位配合工作,PC6、PC7输入输出。图7.8是A、B均工作于方式1输入时,各控制信号示意图各控制信号说明如下:STB(strobe)外设发出的选通信号输入8255,外设将数据送到8255缓冲器IBF(Inputbufferfull):缓冲器满信号,供CPU查询,由STB置位,RD上升沿复位INTR:8255送往CPU的中断请求,在STB和

12、IBF均为高时被置1RD下降沿复位INTE:中断允许(屏蔽)信号,无引出端,由C口置1置0控制,PC41则A口允许中断,PC21则B口允许中断图7.9是方式1的输入时序方式1输出情况下有关信号和输出时序A口方式1输出时,PC7作为输出缓冲器满信号OBFA输出端PC6作为外设接收数据后的响应信号ACKAPC3作为中断请求信号输出端INTRAB口方式1输出时,PC1作为输出缓冲器满信号OBFB输出端PC2作为外设接收数据后的响应信号ACKBPC0作为中断请求信号输出端INTRB含义也固定,A、B均为方式1输出时,C口仅剩PC4、PC5输入输出由D3位决定。图7.10为方式1输出时控制信号和状态信号

13、说明如下:OBF输出缓冲器满8255送往外设,通知外设取走数据.由WR上升沿置”0”,ACK使其恢复”1”图7.10为方式1输出时控制信号和状态信号ACK(acknowledge):外设响应信号外设送8255,表明CPU通过8255输出的数据已送到外设。INTR(Interruptrequest):中断请求信号当外设取走数据,ACK有效后,8255向CPU发新的中断请求INTE(Interruptenable):中断允许信号为“1”时端口处于中断允许状态,由软件设置,PC6=1则INTEA1PC2=1则INTEB1图7.11是方式1的输出时序工作在方式1的端口可以采用中断方式与CPU联系。方式

14、1的使用场合(比方式0有效)在方式1下,规定一个端口作为输入或输出端口的同时,自动规定了有关的控制信号和状态信号,适合能提供应答信号的外设进行中断式传输。1.方式2方式2的工作特点方式2也叫双向传输方式,这种方式只适合于A口。C口5位配合A口工作方式2工作时的控制信号和状态信号图7.12方式2的控制字和有关信号各控制信号含义如下:INTRA:中断请求,无论输入输出,一个动作完成时8255向CPU发这一请求STBA:外设送8255的选通信号,此信号将外设送8255的数据打入锁存器IBFA:8255送往CPU的状态信息,通知CPU取数,IBF可供CPU查询。OBFA:输出缓冲器满,8255通知外设

15、取数。ACKA1:外设对OBFA的响应信号,开启输出缓冲器,送出数据,否则高阻。 INTE 1: 1时允许8255由INTR往CPU发中断请求信号,PC6=INTE1 INTE: 1时A口输入中断允许,PC4=INTE1方式2的时序方式2的时序相当于方式1的输入和输出时序的组合。对于输出过程,CPU响应中断,过程对于输入过程,见图上方式2的使用场合方式2也叫双向传输方式,若某外设既可输入又可输出,如磁盘驱动器可连A口方式2与其它方式组合方式2与方式0输入组合方式2与方式0输出组合方式2与方式1输入的组合方式2与方式1输出的组合8255A的应用举例例1:8255A作为连接打印机的接口,工作于方式

16、0A口传送字符,方式0输出,C口方式0,PC2接BUSY,PC6输出负脉冲STB。设8255端口地址为:A:00D0HB:00D2HC:00D4H控制口:00D6HPP:MOVAL,81H;10000001BOUT0D6H,ALMOV AL,0DH 用置1置0方式使PC6为1STBOUT0D6H,AL;00001101BLPST:INAL,0D4HANDAL,04HJNZLPST;如不为0,BUSY=1,打印机忙MOVAL,CLOUT0D0H,AL;如不忙,则把CL中字符送端口AMOVAL,0CH;00001100BOUT0D6H,AL;使STB为0INCALOUT0D6H,AL;再使STB为

17、1。例2:8255A工作于方式1,作为用中断方式工作的Centronic360字符打印机的接口,图7.15所示口地址:A:0C0HB:0C2HC:0C4HD:0C6H要用中断方式,置1置0使INTE=1MAIN:MOVAL,0A0H;主程序段10100000BOUT0C6H,AL;8255控制字MOVAL,01;PC0=1,选通无效00000001BOUT0C6H,ALXORAX,AXMOV DS,AX ;设 置 中 断 向 量 1000H:2000H至2CH,2DHMOVAX,2000HMOVWORDPTR02CH,AXMOVAX,1000HMOVWORDPTR02EH,AXMOVAL,0D

18、H;允许8255中断00001101BOUT0C6H,ALSTI中断子程序:中断子程序必须装在1000:2000处,中断子程序如下:INTRUPT:MOVAL,DI;送字符OUT0C0H,ALMOVAL,00;PC0=000000000BOUT0C6H,ALINCALOUT0C6H,AL:;后续处理IRET7.6键盘和LED显示对于廉价小系统,如以单板机为基础的仪器,常用键盘和LED显示实现输入输出。数 据 、 内 存 地 址 、 命 令 、 指 令 等 。LED(lightemittingdiode)7.6.1键盘设计键盘的基本工作原理图7.16最简单的键盘结构图7.17键盘的矩阵式结构矩阵

19、式键盘工作时,就是按照读入行线和列线上的电平来识别闭合键。7.6.2键的识别为了识别键盘上的闭合键,通常采用两种方法:行扫描法和行反转法。1.行扫描法的原理行扫描法识别闭合键的原理如下:先使0行接地,其余行为高电平,再看第0行有无闭合键,如没有一条列线为低电平,说明0行没有键闭合。再1行接地实际中,一般先快速检查键盘中是否有某个键被按下,先使所有行均为低电平,检查列线。有键按下再查具体哪个键被按下。硬件上,行线和列线的接法如图7.18所示。行线(输出)和列线(输入)分别和两个8位并口相连。图7.19用扫描法判断闭合键的流程2.行反转法的原理图7.5行反转法的工作原理图7.6行反转法的键盘连接从

20、图中可以看到,用行反转法时,要将行线接一个并口,先让它工作在输出方式,将列线也接一个并口,先让它工作在输入方式。程序是CPU通过输出端口往各行线上送全部送低电平,然后读入列线的值。如有键按下,必有一列为0然后再对两个并口进行方式设置,使接行线的并口输入,列线并口输出,并将刚才读得的列线值从并口(列)输出,再读取行线的输入值,则闭合行0。由此即可识别按键(与表中键码逐一对比,相等即是)。如遇多个键闭合的情况,行列值中一定有两个以上的0,表中无此码,判错。抖动和重键问题的解决可以通过软件延时方法很容易解决按键抖动问题,如不解决会错误识别。重键的几种情况A键先按后放,B键后按先放。A键先按先放,B键

21、后按后放。A键、B键同时按下,但A键先放。处理重键问题有两种方法,连锁法和巡回法1.连锁法连锁法原则是,在所有键释放后,只承认此后闭合的第1个键,对此键闭合时按下的其它键均不作识别,直到所有键释放以后,才读入下一个键。对上述情况只读入A键;A或B键,因机而异;不读或A或B,因人而异2巡回法基本原则是:等前面识别的键释放以后,就可以对其它键作识别。只有A闭合时,读入A键。对上述情况只读入A键;若A、B同一行,读入A键,A、B不在同一行为快速操作,A、B均读A、B同时按下,A键后放且A键处于较小行号读入A,A键行号大,均读从上面可见,巡回法比较适合快速操作。键盘编码器的工作原理软件实现键盘扫描、消

22、除抖动和识别重键,CPU的开销太大了。可以用硬件识别键盘并解决抖动和重键问题。键盘编码器AY52376的原理可用于8*11以内的键盘。主要原理是由时钟电路不断产生扫描信号,读出的行列信号与ROM中的编码比较得到键值。解放了CPU。7.4LED数字显示7.4.1LED的工作原理七段发光二极管简称为LED(light emittingdiode)是常用数显器件。LED的主要部分是七段发光管图7.20七段式LED显示部件每段发光时通过的平均电流1020mA,所以共阴极时阳极要加驱动电路。驱动电路可用三极管或小规模集成电路,如DM7407N可驱动4位数。图7.21LED的外部连接(共阴)为了将一个4位

23、二进制数(可能为16进制数也可能为BCD码)在LED上显示出来,就要完成4位二进制数到LED的七位显示代码的转换两种译码方法。一是用专用芯片,如7447带驱动器的专用译码器,但不能对大于9的数译码。二是用软件译码法,利用8086的换码指令XLAT图7.22用专用译码芯片完成段译码假定要显示的内容在BUF单元中,LEDADD为代码表首址:DISP:MOV BX,OFFSET BUFMOVAL,BXMOVBX,OFFSETLEDADDXLATMOVDX,PORTOUTDX,ALLEDADD:DB40H,79H,24H8.1.1点阵式显示器件的工作原理除了七段的LED以外,还有一种常用的16进制数字

24、显示器即点阵显示器。图7.23TIL311点阵显示器用20个发光二极管组成一个阵列,通过内部译码,将输入的4位二进制数变换为一个代码,使点阵中的某些二极管发光,从而显示数据。7段式LED可靠性不十分好,某一段坏了,会造成误识别。多位显示时,点阵式显示器的优点更突出,象TIL311这样的点阵式显示器,内部有锁存器,在下一个数据送来前,显示管的驱动信号是恒定的,不需要刷新。真正的点阵式显示,流动字幕。多位显示问题的解决实际使用时,往往用几个显示管实现多位显示。如果每个LED都占一个独立的IO口,占用通道太多,驱动电路数目也太多,要从软硬件两方面设法节省硬件电路。一种常用方法如下:用公用的驱动电路驱

25、动所有显示管(送相同的7段显示码)在软件上用扫描方法来实现数码显示。图7.24用两个8位口实现8位显示的扫描和驱动电路图7.258位LED显示的流程图尽管各显示管的阴极都收到了7段显示码,但位码中只有一位为低电平。两通道分别称为段控制通道和位控制通道。依次连续向段控制通道送各位的7段码,向位控制通道送相应的位扫描代码,利用视觉暂留即可。以上方法硬件节省,但占用CPU时间较多。8086汇编语言汇编语言8位位LED动态显示程序:动态显示程序:7.8键盘和显示设计实例下面举例说明,当一个系统中既有键盘,又有LED显示管时,如何综合设计。设计要求:8086单板机上连一个7856键的键盘,6个LED。用

26、8253提供时钟,设计定时装置,显示(2位)分和(2位)秒。功能键设计为,C键:清除计数S键:设置时钟初值G键:启动计时ESC键:停止计数,显示当时时间总体方案:显示部分采用软件译码,即程序中设置一个段码表,省去硬件译码段码锁存器和位码锁存器均连在数据总线低8位的反相端D7D0,数据总线送出的数据到底是往位码锁存器还是段码锁存器,这是由74LS138译码得到的本系统78键盘用8255的两个端口,B口输出扫描信号,A口读进列值。图8.19计时器的显示部分图8.20计时器的键盘部分用汇编语言进行软件设计时离不开对硬件的考虑,计时系统在下列方面:程序中凡是用到输入输出指令时,直接使用端口地址,地址由硬件决定。对系统初始化时涉及所用芯片的类型和互联方式。键盘扫描码的格式是由键盘和端口之间的连接方式决定的。6个LED的CC端连接方式决定了位码的值。计时软件包括了两个主要部分,一是显示程序,二是键盘扫描程序。此处按第三种方案:键盘扫描和识别与处理为主程序;计时和显示为中断子程图8.21计时器主程序的流程图图8.22计时器中断处理程序的流程图

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号