您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 微机原理与接口技术第5章 并行接口技术
第五章并行接口技术•并行通信及并行接口•可编程并行接口8255A•8255A的应用•习题与思考上一章目录帮助退出下一章5.1并行通信及接口通信:CPU与外部设备之间的信息交换、计算机与计算机之间的信息交换都称为通信并行通信:在多条传输线上同时传输多位数据串行通信:利用单条传输线,将多位数据按照先后顺序逐位进行传输并行接口D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0缓冲器外部设备CPU串行接口缓冲器D7D6D5D4D3D2D1D0D0移位器CPU外部设备数据总线D7~D0A组控制数据总线缓冲器B组控制读/写控制逻辑端口A(8位)端口C(高4位)端口B(8位)端口C(低4位)内部数据总线(8位)RDWRA1A0RESETCSPA7~PA0PC7~PC4PC3~PC0PB7~PB0CPU外设CPU接口内部逻辑外设接口A组B组5.2.18255A的内部结构5.2可编程并行接口8255A数据总线D7~D0A组控制数据总线缓冲器B组控制读/写控制逻辑端口A(8位)端口C(高4位)端口B(8位)端口C(低4位)内部数据总线(8位)RDWRA1A0RESETCSPA7~PA0PC7~PC4PC3~PC0PB7~PB0CPU接口内部逻辑外设接口5.2.18255A的内部结构5.2.28255A的引脚功能403938373635343332313029282726252423222112345678910111213141516171819208255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB38255A读写功能表403938373635343332313029282726252423222112345678910111213141516171819208255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB38255A的引脚分配一、与外设联系的引脚A口有PA0~PA78个引脚,同样B口和C口均有PB0~PB7,PC0~PC78个引脚。二、与CPU联系的引脚数据和命令通道线D0~D7,读/写控制引脚RD、WR、CS、A0,A1,RESET。三、端口地址控制引脚CSA1A0端口000A口地址001B口地址010C口地址011控制端口地址8255A的工作方式及编程一、8255A的工作方式1、方式0(基本输入/输出方式)2、方式1(选通输入/输出方式)3、方式2(双向传送方式)各端口可工作的方式:A口:方式0、方式1、方式2B口:方式0、方式1C口:方式0C口的作用与8255A的工作方式有关,它除了作数据口以外,还有其他用途,故C口的使用比较特殊,单独介绍如下:a.作数据口。b.作状态口。c.作专用(固定)联络(握手)信号线。d.作按位控制用。5.2.38255A的控制字1、工作方式控制字D1D0D2D3D4D5D61方式11方式00方式选择输入1输出0B口输入1输出0C口(低4位)B组控制方式000方式21×方式101方式选择输入1输出0A口输入1输出0C口(高4位)A组控制2、C口置位/复位控制字D1D0D2D3×××0PC0PC1PC2PC3PC4PC5PC6PC7C口000001010011100101110111D3D2D1复位置位01D05.2.48255A的工作方式1、方式0基本输入输出方式(适用于A口、B口、C口)2、方式1选通输入输出方式(适用于A口、B口)无固定的I/O联络信号,不能使用中断,只能用地无条件传送或查询传送。A口、B口、C口高4位、C口低4位可以分别设置为输入或输出设置了专用的中断请求和联络信号线。通常用于查询传送或中断传送。A口、B口作为数据口,而C口的大部分引脚分配作联络信号用。用户对这些引脚不能再指定作其它用途A口及B口的工作方式相互独立,互不影响3、方式2双向选通输入输出方式(仅适用于A口)例:要把A口指定为1方式,输入,C口上半部为输出;B组指定为0方式,输出,C口下半部定为输入,则工作方式命令代码是:10110001B或B1H。若将此命令代码写到8255A的命令寄存器,即实现了对8255A工作方式及端口功能的指定,或者说完成了对8255A的初始化。初始化的程序段为:MOVDX,203H;8255A命令口地址MOVAL,0B1H;初始化命令OUTDX,AL;送到命令口2.C口置位/复位命令作用:指定PC口的某一位(某一个引脚)输出高平或低电平。格式:8位,其中最高位是特征位,一定要写0,其余各位的定义如下,应根据用户的设计要求填写1或0。1=置位(高电平)0=复位(低电平)位选择000=C口0位001=C口1位…111=C口7位不用(写0)特征位D0D1D2D3D4D5D60例:若要把C口的PC2引脚置成高电平输出,则命令字应该为00000101B或05H。将该命令的代码写入8255A的命令寄存器,就会使得从PC口的PC2引脚输出高电平,其程序段为:MOVDX,203H;8255A命令口地址MOVAL,05H;使PC2=1的命令字OUTDX,AL;送到命令口如果要使引脚PC2输出低电位,则程序段为:MOVDX,203H;8255A命令口地址MOVAL,04H;使PC2=0的命令字OUTDX,AL;送到命令口利用C口的按位控制特性还可以产生、负脉冲或方波输出,对外设进行控制。例:利用8255A的PC7产生负脉冲,作打印机接口电路的数据选通信号,其程序段为:MOVDX,203H;8255A命令口MOVAL,00001110B;置PC7=0OUTDX,ALNOP;维持低电平NOPMOVAL,00001111B;置PC7=1OUTDX,ALCPU外设INTEAPC4PC5PC3PC7PC6(pc4)PA7~PA0方式1输入(A口)STBA(选通信号)IBFA(输入缓冲器满)DB7~DB0RDINTRA(中断请求信号)INTR方式1输入(B口)INTRINTEBPC2PC1PC0(pc2)PB7~PB0STBB(选通信号)IBFB(输入缓冲器满)DB7~DB0RDINTRB(中断请求信号)CPU外设INTEAPC7PC6PC3PC5PC4PA7~PA0方式1输出(A口)ACKA(应答信号)OBFA(输出缓冲器满)DB7~DB0WRINTRA(中断请求信号)INTR方式1输出(B口)INTEBPC1PC2PC0PB7~PB0ACKB(应答信号)OBFB(输出缓冲器满)DB7~DB0WRINTRB(中断请求信号)INTRCPU外设方式2(A口)ACKA(应答信号)OBFA(输出缓冲器满)DB7~DB0WRINTRA(中断请求信号)INTRINTEAPC7PC6PC3PA7~PA0PC5PC4INTEBSTBA(选通信号)IBFA(输入缓冲器满)RD5.2.58255A的编程①某系统中,8255A工作于方式0,A口输出,B口输入,试编制初始化程序分析:工作方式字为:10000010B,即82H编程:MOVDX,控口地址MOVAL,082HOUTDX,AL②试编程使PC5输出一个负跳变编程:MOVAL,0BH;0BH=00001011BMOVDX,控口地址OUTDX,ALMOVAL,0AH;0AH=00001010BOUTDX,AL5.38255A的应用5.3.18255A控制LED显示5.3.28255A用于并行打印机5.3.38255A用于键盘接口5.3.48255A实现双机并行通讯习题与思考8255A的端口地址范围为300H~303H,A口方式1输入,B口方式1输出,试编写初始化程序判断对错()8255A的A口可以工作于方式2,而B口只能工作于方式0或方式1()8255A的C口不能用于传送数据()8255A只能传送并行数据不能传送串行数据()C口置位/复位控制字要写入C口,而不是控制口√√××若8255A的控制口地址为63H,试编写一段程序,使C口的PC3输出一个负脉冲
本文标题:微机原理与接口技术第5章 并行接口技术
链接地址:https://www.777doc.com/doc-3280994 .html