您好,欢迎访问三七文档
8-1第八章并行接口基本内容:并行通讯概念;并行接口芯片8255A的结构、引脚定义及8255与CPU的连接;8255控制字的使用;8255的工作方式;8255的应用;键盘的工作原理(行反转法、行扫描法);LED数码显示的工作原理及常用的驱动电路;LED多位显示的解决方案。基本要求:了解并行通讯的概念;掌握8255A的结构、引脚定义及与CPU的连接;会正确选用8255的工作方式,熟练使用8255;了解键盘及LED的工作原理;会设计简单的键盘和显示电路。重点内容:8255的结构、与CPU的连接;8255的工作方式0;键盘、LED的工作原理难点内容:8255的工作方式;LED的多位显示问题。第一节可编程并行通讯接口8255A一、8255A的编程结构数据总线缓冲器读写控制逻辑B组控制端口B(8)端口C下半部(4)端口C上半部(4)端口A(8)A组控制DBRDWRA0A1RESETCSCPU接口内部逻辑外部接口PA7~PA0PC7~PC4PC3~PC0PB7~PB08255A12345678910111213141516171819204039383736353433323130292827262524232221PA3PA2PA1PA0RDCSGNDA0A1PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB3(a)(b)8位内部数据总线8255A的内部结构框图8255A的芯片引脚信号8-21、数据端口A、B、C8255A有3个8位数据端口,即端口A、端口B、端口C;设计人员可以编程设定其作为输入口还是输出口。PA口:一个八位输入寄存器和一个八位输出锁存缓冲器。输入输出时受锁存PB口:一个八位输入缓冲器和一个八位输出锁存缓冲器。PC口:一个八位输入缓冲器和一个八位输出锁存缓冲器。在实际应用中,端口A和端口B常用作独立的输入输出口,端口C可以用作独立的I/O口,也可以分成2个四位端口,每个4位端口包含1个4位的输入缓冲器和1个4位的输出锁存器/缓冲器,它们分别用来为端口A和端口B提供控制信号和状态信号。(用控制字实现)2、读写逻辑控制电路这部分电路是用来完成对8255A内部三个数据口及控制口(含A组和B组)的译码工作,由CPU的地址总线A1、A0和8255A的片选信号CS和WR、RD信号组合后产生控制命令,从而完成对数据信息的传输控制。接收CS和A1、A0信号、RESET信号及读写信号WR、RD产生相应的控制。3、A组控制和B组控制实际应用中,根据情况将PC口分成两组4位口:PC0~PC3与PB口配合作为B组,PC4~PC7与PA口配合作为A组,4、数据总线缓冲器这是一个双向三态的8位数据缓冲器,8255A正是通过它与系统总路线相连。输入数据、输出数据、CUP发给8255A的控制字都是通过这个缓冲器传递的。8位双向CPU送出的控制字与数据、8255的状态信息及数据通过此通讯。二、8255A的引脚信号8255A共40个引脚,采用双列直插式封装—DIP,除电源和地以外,其他信号可分为两组:1、与外设相连的引脚PA0~PA7:A组数据信号PB0~PB7:B组数据信号PC0~PC7:C组数据信号2、与CPU相连的引脚RESET:复位信号,高电平有效。复位后,内部寄存器清空,3个数据端口被自动设为输入端口。D0~D7:8255A的数据线引脚,和系统数据总路线相连。8-3RD、WR:读写控制信号,低有效。RD有效时,CPU可从8255A中读取输入数据;WR有效时,CPU可往8255A中写入控制字或数据。CS:片选信号(芯片选择信号),低电平有效。为低电平时,才能对8255A进行读写。A1、A0:端口选择信号。8255内部有PA、PB、PC三个数据端口和一个控制端口,共四个端口,用A1、A0来选择对哪一个端口进行操作。规定:A1、A0为00时,选中A端口;为01时,选中B端口;为10时,选中C端口;为11时,选中控制端口。可参见P155页图5.4为8255A的控制信号和传输动作之间的对应关系。三、8255与CPU的连接8086中16位数据线,低8位数据通过D0~D7传送,而低8位总线总要连接偶地址单元与偶地址单口,怎样保证8255的PA、PB、PC口是偶地址端口呢?一般用地址线的A2、A1与8255的A1、A0相连,而访问8255时令A0=0,则PA、PB、PC的端口地址为00111000PA00111010PB00111100PC00111110控制口四、8255的控制字8255有几种工作方式,可以输入也可以输出,靠写控制字来实现,即使用前要对8255初始化。控制端口由一个8位的寄存器组成,共有两类控制字:一类用于定义各端口的工作方式,称为方式选择控制字;另一类用于对C端口的一位进行置1或置0操作,称为C端口置1/置0控制字。两种控制字通过控制字D7位(标识位)的状态来区别。方式选择控制字的第7位总是1,D0D7-WR-RD-CSRESETA0A1+5V-Y7ABCD0D7-WR-RDRESETA1A28-4而C端口置1/置0控制字的第7位总是0,8255A正是通过这一位来识别这两个同样写入控制端口中的控制字到底是哪一个,所以,第7位称为标识位。1称为方式选择控制字的标识符,0称为C端口置1/置0控制字的标识符。1.方式选择控制字即设定3个口的工作方式对8255A的方式选择控制字,先作如下几点说明:①8255A共有三种基本工作方式:方式0:基本的输入输出方式。方式1:选通输入/输出方式(应答方式)方式2:双向传输方式②端口A可以工作在3种工作方式中的任何一种,端口B只能工作在方式0或方式1,端口C则常常配合端口A和端口B工作,为这两个端口的输入/输出传输提供控制信号和状态信号。可见,只有端口A能工作在方式2。③归为同一组的两个端口可以分别工作在输入方式和输出方式,并不要求同为输入方式或同为输出方式。而一个端口具体到底作为输入还是输出端口,这也由方式选择控制字来决定。下图为方式选择控制字的格式:D7位为方式选择控制字的标识位,必须为“1”,。A组控制:(D6、D5、D4、D3位)(控制A口和C口高4位)D6、D5位决定A端口的工作方式,D6D5位为00、01、1x时分别表示A端口工作在方式0、方式1和方式2下。D4位决定A端口工作在输入还是输出方式。D4位为0时,A端口工作在输出方式;D4位为1时,A端口工作在输入方式。D3位决定用于A端口的C端口高4位PC7~PC4是作为输入端口,还是作为输出端口。D3位为0时,PC7~PC4作输出;D3位为1时,PC7~PC4作输入。B组控制:(D2、D1、D0位)(控制B口和C口低4位)D2位用来选择B端口的工作方式。D2位为0时,B端口工作在方式0,D2位为1时,B端口工作在方式1。8-5D1位决定B端口作为输入还是输出端口。D1位为1时B端口工作在输入方式;D1位为0时B端口工作在输出方式。D0位决定C端口低4位PC3~PC0用来输入还是输出。D0位为0时,PC3~PC0作输出;D0位为1时,PC3~PC0作输入。例1:某8255A的控制端口地址为237H,现要求将其3个数据端口设置为基本的输入输出方式,其中端口A和端口C的低4位为输出,端口B和端口C的高4位为输入。由方式选择控制字格式图可知,该8255A的方式选择控制字应为8AH,其初始化程序如下:MOVAL,8AHMOVDX,237HOUTDX,AL例2:如果要求8255A的A端口作输入,B端口和C端口作输出,A组工作在方式0,B组工作在方式1,编程完成对该芯片工作方式的选择。分析:方式选择控制字:10010100(94H)则用三条指令可完成对该芯片工作方式的选择。MOVAL,94H;方式选择控制字送ALMOVDX,PortCtr;控制端口地址PortCtr送DXOUTDX,AL;方式选择控制字输出给8255A的控制端口,完成方式选择。2、端口C置1/置0控制字端口C常用于配合A口、B口工作,常要将其按位置0、置1。需要注意的是,虽然是对端口C的某一位进行置1或清0,但该控制字要写入控制口而不是写入端口C。该控制字可使C端口某一位输出高电平或低电平,不影响其他位。显然,只有当该位被置为输出方式时这项设置才有效。**一定要注意D7=0D6D5D4D3D2D1D0标志位表明对端口C操作无关,可为1,也可为0选择对PC口的哪一位进行操作000——PC0001——PC1010——PC2…111——PC7进行什么操作1——置10——清0D3~D1位用来决定对C端口8位中的哪一位进行操作。D0位用来决定对D3~D1所选择的位是置1,还是置0。D6~D4位可为任意值,不影响操作。例:设3~8译码器A、B、C分别接于AD13、AD14、AD15,8255片选信号接2Y,A0A1与总线A1、A2相连,现要求:1)对8255A初始化,PA口工作于方式0,输入口;PB口工作于方式0,输出方式;PC4~PC7输出,PC0~PC3输入;8-62)将PC7置1,PC3置0。分析:1、首选必须确定各端口地址PA010XXXXXXXXXX0004000HPB010XXXXXXXXXX0104002HPC010XXXXXXXXXX1004004H控制口010XXXXXXXXXX1104006H2、要设定方式,必须初始化8255,即正确选定控制字MOVDX,4006HMOVAL,10010001BOUTDX,AL3、对PC7置1,PC3置0,即向控制口写控制字MOVDX,4006HMOVAL,00001111BOUTDX,ALMOVAL,00000110BOUTDX,AL例:设8255A控制口的地址为237H,现要对C口的最高位PC7置1,将次高位PC6清0。可用如下程序实现。MOVDX,237HMOVAL,0FH;PC7置1OUTDX,ALMOVAL,0CH;PC6清0OUTDX,AL五、8255的工作方式1、方式0基本输入输出方式特点:A、B可规定为输入口或输出口,端口C可独立作8位口使用,也可分为2个4位端口,可独立使用为I/O口,共有24=16种组合。总结:四个I/O(2个8位,2个4位)或三个I/O(3个8位)使用场合:1)无条件传送不需联络信号,直接进行数据传输2)查询传送要给外设控制信号,要查询外设状态,可以将C口的一半工作于输入状态,另一半工作于输出状态。8-7CPUD0D7D0D78255D0D7D7StartEOCPc0Pc4Pa0Pa7PC0~PC3作为输出口,由PC0发出启动信号。PC4~PC7作为输入口,由PC4接收转换完成信号。例:设8255A端口A工作在方式0下,通过A口输出数据控制8个指示灯轮流点亮。电路连接如图8.24所示。(地址为04A0H~04A6H)MOVDX,04A6H;控制口地址送DXMOVAL,80H;写工作方式控制字OUTDX,ALMOVDX,04A0H;A端口地址送DXMOVAL,0FEH;低电平灯亮AA1:OUTDX,AL;输出数据CALLDELAY;延时ROLAL,1;轮流点亮JMPAA1执行此段程序时要注意延时子程序的延时时间,若延时时间不够,指示灯会全亮或全灭。2、方式1选通输入输出方式特点:①A、B端口传输数据,作I/O口使用,端口C提供选通信号与应答信号,与方式0中查询传送类似,但是端口C的数位有固定的用途,不能改变,而查询方式中可以自己定义。②A、B任何一个可以工作在方式1,也可以两个都工作在方式1。8-8(1)、方式1的输入状态端口A:端口BPC3—INTRA中断请求信号输出端PC0—INTRBPC4—STBA选通信号输入端PC2—STBBPC5—IBFA输入缓冲器满信号输出PC1—IBFB例:外设STBD0D7D0D7IBFaINTR8255CPU工作过程:当8255向外设读取数据时,如果外设已经将数据准备好,则向8255的STB引脚送出一个低电平,此时8255将数据存入输入缓冲器,存入
本文标题:第8章并行接口
链接地址:https://www.777doc.com/doc-2112705 .html