预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共23页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

8.2可编程并行接口芯片8255A8255AA口、B口、C口:8位数据输入锁存器和8位数据输出锁存器/缓冲器。D0D7:数据线,三态双向8位缓冲器。RESET:复位信号,高电平有效。8255A复位后,所有I/O均处于输入状态。CS:片选端,低电平有效。A0A1:地址线,用于选择端口。RD:读控制线,低电平有效。WR:写控制线,低电平有效。2.8255A的内部结构8255A的内部结构框图如图8.15所示,其内部由以下四部分组成。1)端口A、端口B和端口C端口A、端口B和端口C都是8位端口,可以选择作为输入或输出。还可以将端口C的高4位和低4位分开使用,分别作为输入或输出。当端口A和端口B作为选通输入或输出的数据端口时,端口C的指定位与端口A和端口B配合使用,用做控制信号或状态信号。B组2)A组控制和B组控制部件这两组控制部件有两个功能:一是接收来自芯片内部数据总线上的控制字;二是接收来自读写控制逻辑电路的读/写命令,以此来决定两组端口的工作方式和读/写操作。3)数据总线缓冲器它是一个双向三态的8位数据缓冲器,8255A正是通过它与系统数据总线相连。输入数据、输出数据、CPU发给8255A的控制字都是通过该部件传递的。3、8255A寻址方式8255A内部有3个I/O端口和一个控制字端口,通过地址线A0、A1,读写控制线RD、WR与片选端CS进行寻址并实现相应的操作。表8.1是8255A的寻址与相应操作。表8.18255A各端口读/写操作时的信号关系方式O适用于无条件数据传送,也可以把C口的某一位作为状态位,实现查询方式的数据传送。方式1——选通输入输出方式,此时8255A的A口和B口与外设之间进行输入或输出操作时,需要C口的部分I/O线提供联络信号。只有A口和B口可工作于方式1。方式2——选通双向输入输出方式,即同一端口的I/O线既可以输入也可以输出,只有A口可工作于方式2。此种方式下需要C口的部分I/O线提供联络信号。2.8255A的控制字1)工作方式选择控制字它可以使8255A的三个端口工作于不同的工作方式。2)C口按位置位/复位控制字8255A的C口具有位控功能,即端口C的8位中的任一位都可通过CPU向8255A的控制寄存器写入一个按位置位/复位控制字来置1或清0,而C口中其他位的状态不变。其格式如图8.17所示,注意8255A的C口按位置位/复位控制字的最高位D7(特征位)应为0。无关8.2.38255A的应用举例[例]利用8255A作为输出设备打印机的接口。其连接方法如图8.4(a)所示。为此,8255A端口A的8条并行数据线PA0PA7作为数据传送通路,A口应工作于方式0,输出,B口不用。C口也工作于方式0,PC2作为Busy信号输入端,所以C口PC3PC0应设定为输入方式;PC6作为STB选通信号输出端,故PC7PC4应设定为输出方式。现根据图8.4中8255A的寻址信号,8255A的端口地址为:端口A:0380H;端口B:0381H;端口C:0382H;控制寄存器端口:0383H。8255A接口的初始化及控制程序编制如下:8255A端口地址8255A工作方式控制字8255初始化程序BEGIN:MOVAL,1000000lB;或81HMOVDX,0383HOUTDX,ALMOVAL,00001101B;或0DHOUTDX,AL;送C口置1/置0;控制字,置PC6=1下面为控制程序,设欲打印的字符已存于CL中,经8255A的A口输出至打印机。CONP:MOVDX,0382H;选择C口。从C口检测Busy=0否,;若等于1,则等待,;等于0则可送打印字符。LPST:INAL,DXH;读入C口值。ANDAL,04H;保留PC2(Busy)状态。JNZLPST;检测Busy,若为1,等待;为0则向下执行。MOVAL,CL;将(CL)字符送A口。MOVDX,0380H;选择A口。OUTDX,ALMOVAL,0CH;送C口置1/置0控制字,置PC6=0,;即使STB为低电平。(00001100B)MOVDX,0383H;选择控制口。OUTDX,ALMOVCX,XXH;为保证STB宽度≥1us,执行延时程序。EDLAY:DECCXJNZDELAYMOVAL,0DH;再使STB为高电平。(00001101B)OUTDX,AL