您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 微机原理与接口技术课件 第7章
现代微机原理与接口技术27.2可编程并行接口芯片82C557.2.18255的基本功能1.8255具有2个独立的8位I/O口(A口和B口)和2个独立的4位I/O(C口上半部和C口下半部),提供TTL兼容的并行接口。作为输入时提供三态缓冲器功能,作为输出时提供数据锁存功能。其中,A口具有双向传输功能。2.8255有3种工作方式,方式0、方式1和方式2,能使用无条件、查询和中断等多种数据传送方式完成CPU与I/O设备之间的数据交换。3.B口和C口的引脚具有达林顿复合晶体管驱动能力,在1.5V时输出1mA电流,适于作输出端口。4.C口除用做数据口外,当8255工作在方式1和方式2时,C口的部分引脚作为固定的联络信号线。现代微机原理与接口技术42.外部引脚现代微机原理与接口技术67.2.38255的工作方式1.方式0方式0提供两个8位口(A和B)和两个4位口(PC7~PC4,PC3~PC0),任何一个口都可用做输入或输出(单向),由CPU用简单的I/O指令来进行读/写。一般用于无条件传送的场合,也可以用做查询式传送。习惯上将A口和B口作为数据口,将C口作为控制输出和状态输入口。现代微机原理与接口技术82.方式l(A口和B口有此方式,单向)(1)方式l的输入图7.6A口和B口方式l的输入组态•INTE为中断允许位,对应PC口寄存器(状态字)的D4位(INTEA)和D2位(INTEB),可通过对PC口按位写方法设置;•PC2、PC4引脚作用:用作锁存数据口数据;•中断条件:STB#(引脚)=1(无效),IBF=1、INTE=1;•PC6、7可作为数据线使用。现代微机原理与接口技术11方式1下的输入过程:•外设把数据送到8255端口•外设用选通信号STB把数据打入端口的输入锁存器•输入缓冲器满信号IBF有效,CPU可查询该信号•如果INTE有效,8255将使INTR有效,申请中断•CPU向8255发读信号RD,从8255端口读数据•中断请求信号INTR变无效,然后IBF无效,外设可送下一个数据。(2)方式1的输出图7.88255方式1输出组态•INTE为中断允许位,对应PC口寄存器(状态字)的D6位(INTEA)和D2位(INTEB),可通过对PC口按位写方法设置;•PC2、PC6引脚作用:用作对OBF的回应;•中断条件:ACK(引脚)=1(无效),OBF=1(W无效)、INTE=1;•PC4、5可作为数据线使用。现代微机原理与接口技术15方式1下的输出过程:•CPU发WR信号,向8255送一个数据•WR使INTR无效,OBF有效,通知外设可取数据•外设接到数据后,向8255回送ACK信号•OBF无效,接着ACK无效,其上升沿引发INTR有效,向CPU发中断申请,请求发送新数据。.方式2图7.108255方式2组态双向I/O,只有A口有此方式.工作方式控制字(写,A1A0=11)图7.118255工作方式控制字作输入,B口工作于方式0作输出,C口上半部输入,下半部输出。8255端口地址为60H-63H。控制字为:10111000B=0B8H初始化程序为:MOVAL,0B8HOUT63H,AL.C口按位置/复位控制字(写,A1A0=11)图7.12C口按位置/复位控制字例7.2如上例,若A口工作于方式1作输入,要使用中断传送方式,则应当写PC4的按位置位字:MOVAL,00001001BOUT63H,AL方式1下8255状态字中INTE位的置位和复位⊙若禁止PA口输入中断请求MOVDX,303H;8255命令口MOVAL,00001000B;置PC4=0,禁止中断请求OUTDX,AL⊙若允许PA口输入中断请求MOVDX,303H;8255命令口MOVAL,00001001B;置PC4=1,允许中断请求OUTDX,AL⊙若允许PA口输出中断请求MOVDX,303H;8255命令口MOVAL,00001101B;置PC6=1,允许中断请求OUTDX,AL⊙若允许PB口输入中断请求MOVDX,303H;8255命令口MOVAL,00000101B;置PC2=1,允许中断请求OUTDX,AL⊙若禁止PB口输入中断请求MOVDX,303H;8255命令口MOVAL,00000100B;置PC2=0,禁止中断请求OUTDX,AL⊙若允许PB口输出中断请求MOVDX,303H;8255命令口MOVAL,00000101B;置PC2=1,允许中断请求OUTDX,AL芯片和软盘控制器相连,箭头标明了I/O的方向,根据该图,试写出8255的初始化程序。设8255端口地址为0300-0303H。图7.138255用作软盘基本接口A口工作在方式2,PC4-PC7作应答联络信号线,PC3用作A组中断请求,B口和PC0-PC2作输出,工作在方式0。工作方式控制字为:11XXX000B初始化程序为:MOVDX,303HMOVAL,0C0HOUTDX,ALMOVAL,00001001BOUTDX,AL;PC4置位,开放输入中断MOVAL,00001101BOUTDX,AL;PC6置位,开放输出中断作为接口,采集一组开关S7~S0的状态,然后通过一组发光二极管LED7~LED0显示开关状态,(Si闭合,则对应LEDi亮,Si断开,则对应的LEDi灭)电路连接如下图,一直8255A、B两组均工作在方式0。1)写出8255四个端口的地址。2)写出8255工作方式控制字。3)画出实现给定功能的汇编语言程序。~D0D7~D0WRRDIOWIORY0G1G2AG2BCBA74LS138CSA9AEN&A8A7A6A5A4A3A2A1A0A1A0答:1)A口、B口、C口和控制口的地址分别是320H、321H、322H和323H。2)A口工作在方式0输出,B口工作在方式0输入,C口空闲,所以其控制字是10000010b=82H3)程序如下:MOVAL,82H;置方式字MOVDX,323H;置控制端口地址OUTDX,ALL1:MOVDX,321H;置B口地址INAL,DX;读开关状态(1断,0通)NOTAL;状态取反MOVDX,320H;置A口地址OUTDX,AL;输出(1亮,0灭)JMPL1思考题:如果上题要求修改成:不用查询方式,而是每50ms来一次中断,在中断中读B口,输出A口,请问电路和程序要怎么改动?假设系统提供一个2KHz的脉冲。现代微机原理与接口技术297.3并行打印机接口标准◆Centronics并行打印接口标准现代微机原理与接口技术31◆Centronics并行接口时序主机-打印机接口信号连线表◆控制字格式控制字锁存器状态字格式状态端口微机系统中打印机卡1的地址是:数据口0378H、状态口0379H、控制口037AH微机系统中打印机卡2的地址是:数据口0278H、状态口0279H、控制口027AH与打印机相连,将内存缓冲区BUFF中的字符打印输出。打印机接口在STB有效时,接收数据,而在BUSY有效时,表示打印机忙,不能接收数据。现代微机原理与接口技术36图7.148255与打印机接口‘HELLO,WORLD!’,13,10,‘$’PORTAEQU60HPORTBEQU61HPORTCEQU62HPORTCNEQU63HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSETBUFFMOVAL,88H;8255初始化,A口方式0输出,C口上半部输入,AL;C口下半部输出MOVAL,01H;置位PC0,STB无效OUTPORTCN,ALWAIT:INAL,PORTC;读打印机状态,若“忙”则等待TESTAL,80HJNZWAITMOVAL,[SI]CMPAL,‘$’JZPRINT_OVER;数据送出MOVAL,00H;产生选通信号,打印机接收数据,开始打印。OUTPORTCN,ALMOVAL,01HOUTPORTCN,ALINCSIJMPWAITPRINT_OVER:MOVAH
本文标题:微机原理与接口技术课件 第7章
链接地址:https://www.777doc.com/doc-3201598 .html