单片机原理与应用:MCS-51的最小系统及系统扩展.ppt
方式1下数据输出过程如下:当外设接收并处理完1组数据后,发回响应信号。数据输出操作的时序关系如图所示:应当指出,当8255A的A口与B口同时为方式1的输入或输出时,需使用C口的6条线,C口剩下的2条线还可以用程序来指定数据的传送方向是输入还是输出,而且也可以对它们实现置位或复位操作。当一个口工作在方式1时,则C口剩下的5条线也可按照上述情况工作。3.方式28255A只有A口具有这种双向输入输出工作方式,实际上是在方式1下A口输入输出的结合。在这种方式下,A口为8位双向传输口,C口的PC7-PC3用来作为输入/输出的同步控制信号。在这种情况下,B口只能编程为方式0或方式1工作,而C口剩下的3条线可作为输入或输出线使用或用作B口方式1之下的控制线。在方式2时,其输入输出的操作时序如图所示:(1)输入操作当外设向8255A送数据时,选通信号STBA[TX-]也同时送到,选通信号将数据锁存到8255A的输入锁存器中,从而使输入缓冲器满信号IBFA成为高电平(有效),告诉外设,A口已收到数据。选通信号结束时,使中断请求信号为高,向CPU请求中断。(2)输出操作CPU响应中断,当用输出指令向8255A的A端口中写入一个数据时,会发出写脉冲信号。8255的全部工作状态是通过读/写控制逻辑和工作方式选择来实现的:(1)读/写控制逻辑操作选择读/写控制逻辑由6条控制线组成:CS、RD、WR、A1、A0、RESET,它们的不同控制不同的操作,如下表所示:(2)方式选择及方式控制字(a)方式选择控制字;(b)C口置位/复位控制字8255方式控制字5.4.3.48255芯片的应用1、硬件连接采用线选法,利用高8位地址线的P2.7作为线选信号,直接与8255A的片选端相连,而A1、A0则与地址的最低2位相连。由上图所示接法,可得到8255A各个端口的地址,如表所示。2、软件编程假如,我们现在要求编制打印50个字符,这些字符数据现存于片内RAM从20H开始的50个连续单元中。现在,我们分析一下控制字的组成:根据上图,我们采用方式0,其中A口为输出口,B口也假定为输出口,C口上半部分定义为输入口,下半部分定义为输出口。这样根据前面控制字的分析,我们可以得出实现这一工作模式设定的控制字应该为:10001000=88H。程序如下:MOVDPTR,#0003H;指向8255A的命令口MOVA,#88H;取方式字:A口输出,C口低出高入MOVX@DPTR,A;送方式字MOVR1,#20H;R1指向数据区首址MOVR2,#32H;送数据块长度(续前)LP:MOVDPTR,#0002H;指向C口LOOP1:MOVXA,@DPTR;读入C口信息JBACC.7,LOOP1;若BUSY=1,继续查询,直到BUSY=0MOVDPTR,#0000H;指向A口MOVA,@R1;取RAM数据MOVX@DPTR,A;数据输出到A口INCR1;数据指针加1MOVDPTR,#0003H;指向命令口MOVA,#00H;C口置位/复位命令字(PC0=0)MOVX@DPTR,A;产生STB的下降沿MOVA,#01H;改变C口置位/复位命令字(PC0=1)MOVX@DPTR,A;产生STB的上升沿DJNZR2,LP;未完,则反复5.4.4用串行口扩展并行I/O口MCS-51单片机有一个串行口,如果该口未使用可以用来扩展并行口。另外也可以用并行口如P1口仿真某种串行口如I2C,然后利用I2C接口扩展并行口。优点:线路连接少,节省了电路板的制版面积,器件本省也能做的较小,扩展的并行口数可以较多。缺点:串口扩展的这种并行口的接口速度没有并行扩展的接口速度快。5.4.4.1用74LS164扩展并