在单片机运用体系中,显现器显现常用两种办法:静态显现和动态扫描显现。所谓静态显现,便是每一个显现器都要占用独自的具有锁存功用的I/O接口用于笔划段字形代码。这样单片机只要把要显现的字形代码发送到接口电路,就不必管它了,直到要显现新的数据时,再发送新的字形码,因而,运用这种办法单片机中CPU的开支小。能够供给独自锁存的I/O接口电路许多,这儿以常用的串并转化电路74LS164为例,介绍一种常用静态显现电路,以使我们对静态显现有必定的了解。
MCS-51单片机串行口方法0为移位寄存器方法,外接6片74LS164作为6位LED显现器的静态显现接口,把8031的RXD作为数据输出线,TXD作为移位时钟脉冲。74LS164为TTL单向8位移位寄存器,可完成串行输入,并行输出。其间A、B(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算规则输入信号,共一个输入信号时可并接。T(第8脚)为时钟输入端,可连接到串行口的TXD端。每一个时钟信号的上升沿加到T端时,移位寄存器移一位,8个时钟脉冲往后,8位二进制数悉数移入74LS164中。R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲才起作用。Q1…Q8(第3-6和10-13引脚)并行输出端别离接LED显现器的hg···a各段对应的引脚上。在给出了8个脉冲后,最早进入74LS164的榜首个数据抵达了最高位,然后再来一个脉冲会有什么产生呢?再来一个脉冲,榜首个脉冲就会从最高位移出,搞清了这一点,下面让我们来看电路,6片7LS164首尾相串,而时钟端则接在一同,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了榜首片74LS164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74LS164,而新的数据则进入了榜首片74LS164,这样,当第六个8个脉冲完成后,初次送出的数据被送到了最左面的164中,其他数据顺次出现在榜首、二、三、四、五片74LS164中。
驱动程序:
进口:把要显现的数别离放在显现缓冲区60H-65H共6个单元中,而且别离对应各个数码管LED0-LED5。
出口:将预置在显现缓冲区中的6个数成相应的显现字形码,然后输出到显现器中显现。
显现程序如下:
DISP:
MOV
MOV
MOV
LOOP:
MOV
MOVC
MOV
DELAY:
CLR
DEC
DJNZ
RET
SETTAB:
DB
;
测试用主程序
ORG
AJMP
ORG
START:
MOV
MOV
MOV
MOV
MOV
MOV
LCALL
SJMP
假如按图示数码管摆放,则以上主程序将显现的是543210,想想看,假如要显现012345该怎样送数?
你们只接了一个数码管,想想应该很简单吧。
74LS165