微机原理 串并行通信和接口技术_8255

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

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

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

资源描述

16.4并行通信和并行接口一、特点数据各位通过信号线同时传输用的传输线多速率高适于近距离传输2二、并行接口的典型结构36.5可编程并行通信接口8255A6.5.18255A的内部结构1个8位数据输入锁存器1个8位输出锁存器/缓冲器1个8位数据输入缓冲器1个8位输出锁存器/缓冲器1个8位数据输入缓冲器1个8位输出锁存器/缓冲器控制端口A和C的高4位的工作方式和读写操作。控制端口B和C的低4位的工作方式和读写操作。双向三态的8位数据缓冲器。与系统数据总线相连管理数据传输过程66.5.28255A的芯片引脚信号8255芯片引脚信号7一、和外设一边相连的信号1、PA7~PA0——A组数据信号;2、PB7~PB0——B组数据信号;3、PC7~PC0——C组数据信号。8二、和CPU一边相连的信号1、RESET:复位信号RESET信号到来时,所有内部寄存器被清除,三个端口被设为输入端口。RD4、:读信号CS3、:片选信号WR5、:写信号6、A1、A0:端口选择信号00:选中A端口01:选中B端口10:选中C端口11:选中控制口2、D7~D0:数据线,和系统总线相连。系统地址线8255AA2A1A0A1A000000选中A端口01001选中B端口10010选中C端口11011选中控制口A1A0A2A1系统地址线8255A108255的控制信号与传输动作的对应关系A1A0传输说明00001数据从端口A送数据总线00101数据从端口B送数据总线01001数据从端口C送数据总线00010数据从数据总线送端口A00110数据从数据总线送端口B01010数据从数据总线送端口C01110数据从数据总线送控制寄存器0××11D7~D0高阻01101非法信号组合1××××D7~D0高阻CSRDWR116.5.38255A的控制字一、方式选择控制字例:8255A端口A工作于方式0输出,端口B方式0输入,端口C高四位输出,端口C低四位输入。8255A各端口地址为01E0H~01E6H,请编写出初始化程序。MOVAL,83H;控制字10000011BMOVDX,01E6HOUTDX,AL11000001端口C低四位输入端口B输入端口B方式0端口C高四位输出端口A输出端口A方式0标识位解:1)确定控制字2)写初始化程序练习:8255A端口A工作于方式0输入,端口B方式1输入,端口C高四位输出,端口C低四位配合端口B工作。8255A各端口地址为60H~66H,请编写出初始化程序。MOVAL,96H;控制字1001011×BOUT66H,AL×1100011端口C低四位配合B端口B输入端口B方式1端口C高四位输出端口A输入端口A方式0标识位解:1)确定控制字2)写初始化程序14二、端口C置1/清0控制字注:该控制字必须写入控制端口练习:编写程序段,实现对端口C的PC6位清0,PC2位置1,8255A各端口地址为80H、82H、84H、86H。MOVAL,0CH;控制字0×××1100BOUT86H,ALMOVAL,05H;控制字0×××0101BOUT86H,AL例:编写程序段,实现对端口C的PC7位置1,PC3清0,8255A控制端口地址为00EEH。MOVAL,0FH;控制字0×××1111BMOVDX,00EEHOUTDX,ALMOVAL,06H;控制字0×××0110BOUTDX,AL利用C口的按位控制特性可以产生负脉冲或方波输出,对外设进行控制。例:利用8255A的PC7产生负脉冲,作为外设的数据选通信号,设8255A各端口地址为80H、82H、84H、86H。参考程序:MOVAL,00001111B;置PC7=1OUT86H,ALMOVAL,00001110B;置PC7=0OUT86H,ALNOP;维持低电平NOPMOVAL,00001111B;置PC7=1OUT86H,AL176.5.48255A的工作方式一、方式01、工作特点1)两个8位端口,两个4位端口。2)可有16种不同的组合。2、输入/输出时序1)方式0读取数据条件(1)CPU发读信号前,先发出地址信号,即使CS、A1、A0有效,启动8255A;(2)数据要领先于读信号2)输入时序要求读出期间地址保持有效数据必须保持到读信号结束读脉冲宽度至少为300nsdatadata输入数据D0~D7RDCS,A1,A03)输出时序要求地址信号必须提前有效且滞后消失;写脉冲宽度至少有400ns;数据必须在写信号结束前出现在数据总线上,并保持tWD时间203、方式0的使用场合(1)同步传送(2)查询式传送发送方和接收方的动作由一个时序信号管理,双方互相知道对方动作,无需联络信号。发送方和接收方需联络信号。例:8255作为打印机的接口,工作于方式0,如图所示。MOVAL,81H;100000×1BOUT0D6H,AL;设置工作方式MOVAL,0DH;0×××1101BOUT0D6H,AL;PC6置位LPST:INAL,0D4H;读C端口ANDAL,04H;00000100BJNZLPST;打印机忙,继续查询,否则打印MOVAL,CLOUT0D0H,AL;待打印字符送端口AMOVAL,0CH;0×××1100BOUT0D6H,AL;PC6清0NOPNOPINCALOUT0D6H,AL;PC6置位练习:8255作为打印机的接口,工作于方式0。GCG2AG2BACSY2BPC0A0PC7BUSYPBA1STBDBA1A6A2A5A7A3A48086CPU74LS1388255A打印机驱动当主机要往打印机输出字符时,先查询打印机的忙信号(BUSY),如果打印机忙,则BUSY信号为1,否则为0。当查询到BUSY为0时,可通过8255A往打印机输出一个字符,此时,要将置为低电平,然后再使为高电平,相当于在端输出一个负脉冲(初始状态为高电平),此负脉冲作为打印机的选通信号。现将B端口作为传送字符的通道,工作于方式0;A端口未用;C端口中,PC7作为BUSY信号输入端,PC0作为信号输出端。STBSTBSTBSTBSTBMOVAL,88H;(100×1000B)OUT96H,ALMOVAL,01H;(0×××0001B)OUT96H,ALMOVSI,OFFSETBUF;打印字符内存首地址MOVCX,100;打印字符个数LPST:INAL,94HANDAL,80HJNZLPST2)设在BUF开始的内存缓冲区存放着100个待打印字符,完成8255A初始化程序及把待打印字符送打印机打印的程序。1)写出8255各端口的地址8255各端口的地址:90H,92H,94H,96HMOVAL,[SI]OUT92H,ALMOVAL,00H;0×××0000BOUT96H,ALNOPNOPINCALOUT96H,ALINCSI;内存地址加1DECCX;字符数减1JNZLPST;未完,继续26二、方式11、工作特点1)可提供一个或两个选通的端口。2)每一选通的端口含一8位数据端口,三条控制线。3)可输出,可输入。4)C口部分位作为A、B联络信号,剩余位可做数据位用。272、方式1输入有关信号规定(A端口)数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBAPC6PC7作I/O口中断允许触发器PC4置1,INTEA=1,A口处于中断允许状态,当STBA=1,IBFA=1时,INTRA有效,向CPU申请中断。PC4复位,INTEA=0,A口处于中断屏蔽状态,INTRA无效。282、方式1输入有关信号规定(B端口)数据选通信号表示外设已经准备好数据输入缓冲器满信号表示B口已经接收数据中断请求信号请求CPU接收数据PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB中断允许触发器PC2置1,INTEB=1,B口处于中断允许状态,当STBB=1,IBFB=1时,INTRB有效,向CPU申请中断。PC2复位,INTEB=0,B口处于中断屏蔽状态,INTRB无效。292、方式1输入有关信号规定STB:选通信号,低电平有效。外设8255A的联络信号。有效时,将输入设备送来的数据锁存至8255A的输入锁存器。IBF:输入缓冲器满信号,高电平有效。8255ACPU的联络信号。有效时,表示数据已锁存在输入锁存器。STB使该信号置位,RD的后沿即上升沿使其复位。INTE:中断允许信号,控制中断的允许和屏蔽注:PC4控制A口中断允许与外设来的STBA信号无关,由内部电路决定。即将PC4置位,即INTEA=1不等于把STBA置为高电平;外设使STBA=0不等于INTEA复位。INTR:中断请求信号,高电平有效8255ACPU。可用于向CPU提出中断请求,要求CPU读取外设数据。STB、IBF均为高电平时该信号置位,RD的下降沿使其复位。PC2控制B口中断允许与外设来的STBB信号无关。313、方式1输入时序324、方式1输出有关信号规定(A端口)外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中断允许触发器PC6置1,INTEA=1(不等于ACKA=1),A口处于中断允许状态;PC6复位,INTEA=0(不等于ACKA=0),A口处于中断屏蔽状态,INTRA无效。334、方式1输出有关信号规定(B端口)外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB中断允许触发器PC2置1,INTEB=1(不等于ACKB=1),B口处于中断允许状态;PC2复位,INTEB=0(不等于ACKB=0),B口处于中断屏蔽状态,INTRB无效。344、方式1输出有关信号规定OBF:输出缓冲器满信号,低有效。8255A外设的控制信号。有效时,表示CPU已把数据输出给指定的端口,外设可取走。该信号由WR的上升沿置成有效电平,ACK的有效信号使之恢复为高电平。ACK:外设响应信号,低电平有效。外设8255A的响应信号。表8255A的端口数据已由外设接收。INTE:中断允许信号,控制中断的允许和屏蔽INTR:中断请求信号,高电平有效8255ACPU。当输出设备已接收数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据。ACK、OBF均为高电平时该信号置位,WR的下降沿使其复位。注:PC6控制A口中断允许,与外设来的ACKA信号无关。PC2控制B口中断允许,与外设来的ACKB信号无关。PC4和PC5可作I/O口用。364、方式1输出时序375、方式1的使用场合与外设有联络信号,与CPU有中断请求信号,适于查询传送和中断传送。例:8255A作为打印机的接口,工作于方式1。8255A的PC3连8259A的中断请求输入端IR3,对应的中断类型号为0BH,中断处理子程序的入口地址为1000H:2000H。设待打印的字符放在DI所指向的内存缓冲区。8255A的端口地址为00C0H~00C6H。主程序:MAIN:MOVAL,0A0H;1010×0×0BMOVDX,00C6HOUTDX,AL;设置控制字MOVAL,01HOUTDX,AL;将PC0置1,选通无效XORAX,AXMOVDS,AXMOVBX,002CHMOVAX,2000HMOV[BX],AXMOVAX,1000HMOV[BX+2],AX;装配中断向量MOVAL,0DH;0×××1101BOUTDX,AL;将PC6置1,允许8255A中断STI;CPU开中断中断处理子程序:TINTR:MOVAL,[DI]MOVDX,00C0HOUTDX,AL;待打印字符送端口AMOVAL,00MOVDX,00C6H;将PC0清0,产生选通信号OUTDX,ALINCALOUTDX,AL;将PC0置1,撤消选通信号...IRET;中断返回41三、方式2

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

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

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

×
保存成功