资源描述:
《微机原理ch09并行接口》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、9并行接口9.18255A的结构与引脚9.1.1内部结构9.1.1.1数据端口A、B、C8255A有三个8位数据端口,即端口A、端口B和端口C。1)端口A端口A对应一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器,所以用端口A作为输入或输出时,数据均受到锁存。2)端口B端口B对应一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。3)端口C端口C对应一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。9.1.1.1A组控制和B组控制A组控制电路控制端口A和端口C的高4位(PC7~PC4)的工作方式和读写操作。B组控制电路控制端口B和端口C的低4位(P
2、C3~PC0)的工作方式和读写操作。9.1.1.2读写控制逻辑电路读写控制电路负责管理8255A的数据传输过程。9.1.1.3数据总线缓冲器这是一个双向三态的8位数据缓冲器,8255A通过他与系统总线相连,输入数据、输出数据以及CPU发给8255A的控制字都是通过这个缓冲器传递的。9.1.2引脚说明9.1.1.1和外设一侧相连的信号lPA7~PA0,PB7~PB0,PC7~PC0三组双向数据信号线,分别与8255A的A口、B口、C口相对应,每组8根。9.1.1.2和CPU一侧相连的信号1)数据线D7~D0是8255A与系统数据总线相连接的双向三态8位数据信号
3、线。CPU通过执行IN或OUT指令传送的数据由缓冲器接收或发送,控制字和状态字也是通过数据总线缓冲器传输的。2)复位信号RESET,输入,高电平有效。RESET信号有效时,将使8255A内部的控制寄存器清零,所有的口处于输入工作状态。3)片选信号-CS,输入,低电平有效。通常由端口地址译码产生。4)A1和A0均为输入信号,A1和A0用来选择8255A内部的A口、B口、C口和控制寄存器。1)读写控制信号-RD读控制信号,输入,低电平有效。-RD有效时,8255A将状态信息或者数据信息送上系统数据总线,从而完成CPU对该8255A的读操作。-WR写控制信号,输入
4、,低电平有效。-WR有效时,将CPU输出的数据或控制命令字写入8255A,从而完成CPU对该8255A的写操作。-CSA1A0-RD-WR操作00001数据从端口A→数据总线→CPU00101数据从端口B→数据总线→CPU01001数据从端口C→数据总线→CPU00010数据从CPU→数据总线→端口A00110数据从CPU→数据总线→端口B01010数据从CPU→数据总线→端口C01110数据从CPU→数据总线→控制寄存器1××××D7~D0进入高阻态01101非法的信号组合0××11D7~D0进入高阻态9.18255A的控制字9.1.1方式选择控制字825
5、5A中有三种工作方式:l方式0(Mode0):基本输入/输出方式(BasicInput/Output)l方式1(Mode1):选通输入/输出方式(StrobeInput/Output)l方式2(Mode2):双向传输方式(Bi-DirctionalBus)Example:(a)FindthecontrolwordifPA=out,PB=in,PC0-PC3=in,andPC4-PC7=out.(b)Programthe8255togetdatafromportBandsendittoportA,Inaddition,datafromPCLissentoutt
6、othePCU.Useportaddressesof300H-303Hforthe8255chip.Solution:(a)Fromthefigureof8255controlwordformat,wegetthecontrolwordof10000011inbinaryor83H.(b)Thecodeisasfollows:B8255Cequ300h;Baseaddressof8255chipCNTLequ83h;PA=out,PB=in,PCL=in,PCU=outmovdx,B8255C+3;loadcontrolregistermoval,CNTL;
7、loadcontrolbyteoutdx,al;sendittocontrolregistermovdx,B8255C+1;loadPBaddressinal,dx;getdatafromPBmovdx,B8255C;loadPAaddressoutdx,al;sentittoPAmovdx,B8255C+2;loadPCaddressinal,dx;getthebitsfromPCLandal,0fh;masktheupperbitsrolal,1;shiftthebitstoupperpositionrolal,1rolal,1rolal,1outdx,
8、al9.1.1端口C置位/复位控制字置位/复位控制字