第四章功能扩展 - 图文 联系客服

发布时间 : 星期五 文章第四章功能扩展 - 图文更新完毕开始阅读cf9ac9a7f524ccbff1218481

二、通用器件的扩展

根据“输入三态,输出锁存”与总线相连的原则 下图中74LS244作为输入口、74LS273作为输出口,它们都可以通过P0口输入、输出数据。注意:由于P0口操作时,按指令相应的

WR和RD有控制信号,在编程时

就可以直接用MOVX给一个地址送数据,用其他端口时,就需要给端口送数据。

在74LS273中,CLR-清除

线,低电平输出全为0;CLK-上升沿输入数据并锁存,高、低输出不变。 控制过程:

1、 控制LED,

P2.0=0;WR由1变0;“或非门”2输出正跳变,273将单片机输出的信息锁存。输出低电平LED显示,因为用WR锁存P0口的输出,所以LED的显示是由P0口输出的数据而不是地址,地址只要满足P2.0=0;其它地址位(含低8位)随意。

2、读按键输入

P2.0=0;RD=0, “或”门1输出0电平,244的Q=D(直通),当RD由低变高时,CPU读走数据。

当244的G1、G2为高电平时,Q端输出为高阻态。

注意:确定地址时,要使P2.0(A8)为0。 其他未用地址可以随意。

三、用串行通信口扩展

1、用串行口扩展输出口

用串行口扩展输出口时,一般用移位寄存器,如74LS164芯片、 4094芯片。74LS164

为串入并处的移位寄存器,下图为74LS164 的引脚,各引脚功能如下:

Q0-Q7:并出数据线;

DSA、DSB:串行输入线,当其中有一个为低电平时输出为0;两个同时为高电平时输出QA为1。可以同时接串行口的数据输出口RXD,也可以一个用于控制;

CP:移位脉冲输入口,在脉冲上升沿移位;

CR:清零,低电平有效。

例:用89C51串行口外接164串入-并出移位寄存器扩展8位并行口;8位并行口的每位都接一个发光二极管,要求发光二极管从左到右以一定延迟轮流显示,并不断循环。

设发光二极管为共阴极接法,如图7-17所示。

解:设数据串行发送采用中断方式,显示的延迟通过调用延迟程序DELAY来实现,延时程序的编写已经讲过。 程序清单: ORG 0000H AJMP 0030H

ORG 0023H ;AJMP SBR ;程序

ORG 0030H ;MOV SCON ,#00H;MOV A ,#80H ;CLR P1.0 ; 串行口中断入口 转入串行口中断服务主程序起始地址

串行口方式0初始化 最左一位发光二极管先亮 传送数据时不显示