★6.2.3 单片机控制的跑马灯
2025年09月26日
★6.2.3 单片机控制的跑马灯
1 电路原理图
采用LED发光管作为亮点跑马灯元器件(8个)。电路原理如图6-3所示。晶振频率为12MHz。
图6-3 LED亮点流动原理图
2 程序设计、汇编和编程(固化)
要求每隔500ms亮点循环左移动一次。
程序设计如下:
ORG 0000H
LJMP STAR
ORG 0030H
STAR:MOV A,#7FH;(A)←7FH
LOOP:RL A;循环左移
MOV P0,A;输出到P0口显示
LCALL DELAY;调延时子程序
LJMP LOOP;返回运行
DELAY:MOV R7,#250;延时500ms
D1:MOV R6,#250
D2:NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R6,D2
DJNZ R7,D1
RET
END
3 电路连接及现象观察
根据电路原理图在单片机实验板(或面包板)上安装好电路,将已固化目标代码的单片机安装到单片机插座上。上电后观察现象:可看到一个亮点流动的跑马灯现象。
分析如下:执行第4句,A中的值是7FH,也就是01111111B;执行第5句,将A中的值进行左移,执行后为FEH,也就是11111110B;执行第6句,使接在P0.0上的LED亮,而其他的都灭,形成了一个“亮点”;第7句调用延时程序,让它“亮”500ms。然后又跳转到LOOP处(LJMP LOOP)。下一个应当是接在P0.1上灯亮了。这样依次循环,就形成了“亮点流动”的跑马灯现象,见表6-1。
表6-1 亮点流动状态分析