单片机在LED中的应用-LED广告灯、LED流水灯
大小:0.1 MB 人气: 2017-09-06 需要积分:0
1、LED广告灯
;********************************************************************ORG 0000H ;
LJMP START ;转入主程序
ORG 0030H ;
START:
MOV SP,#60H ;贼堆栈初值为60H
LOOP:
MOV DPTR,#TABLE ;
LOOP1: CLR A ;A清零
MOVC A,@A+DPTR ;取数据表第1个数据
CJNE A,#0BH,DISP1 ;若数据为0BH,表示数据表结束
AJMP LOOP ;则返回,从头开始
DISP1: MOV P2,A ;数据送P2口显示
MOV R1,#10H ;设LED灯亮延时常数
LCALL DELAY ;调用延时子程序
INC DPTR ;取数地址加1
AJMP LOOP1 ;继续读取下一个数据
;*****************************************************************************
DELAY: MOV R2,#29H ;延时子程序
DEL1: MOV R3,#0F0H
DEL2: DJNZ R3,$
DJNZ R2,DEL1
DJNZ R1,DELAY
RET
;*****************************************************************************
TABLE:
DB 0FEH ;1111 1110 P2.0 LED灯亮
DB 0FDH ;1111 1101 P2.1 LED灯亮
DB 0FBH ;1111 1011 P2.2 LED灯亮
DB 0F7H ;1111 0111 P2.3 LED灯亮
DB 0EFH ;1110 1111 P2.4 LED灯亮
DB 0DFH ;1101 1111 P2.5 LED灯亮
DB 0BFH ;1011 1111 P2.6 LED灯亮
DB 7FH ;0111 1111 P2.7 LED灯亮
DB 0BFH
DB 0DFH
DB 0EFH
DB 0F7H
DB 0FBH
DB 0FDH
DB 0FEH
DB 0FFH
DB 00H
DB 0FFH
DB 00H
DB 0FFH
DB 3FH
DB 0CFH
DB 0F3H
DB 0FCH
DB 0F3H
DB 0CFH
DB 3FH
DB 03H
DB 06H
DB 0CH
DB 18H
DB 30H
DB 60H
DB 0C0H
DB 60H
DB 30H
DB 00H
DB 0FFH
DB 00H
DB 0FFH
DB 0FEH
DB 0FFH
DB 0FH
DB 0F0H
DB 0AAH
DB 55H
DB 0AAH
DB 55H
DB 0AAH
DB 01H
DB 02H
DB 04H
DB 08H
DB 10H
DB 20H
DB 40H
DB 80H
DB 00H
DB 0FFH
DB 0BH ;数据表结束标志
END
2、LED流水灯
;********************************************************************
ORG 0000H ;
LJMP START ;转入主程序
ORG 0030H ;
START:
MOV SP,#60H ;贼堆栈初值为60H
;----------------------------------
MAIN:
MOV A,#0FEH ;初始点亮LED1
LOOP:
MOV P2,A ;将A的内容贼值给P2口
CALL DELAY ;延时
RL A ;循环移位
LJMP LOOP ;不停循环
;------------------------------------------
DELAY:
MOV R3,#5 ;延时程序
DELAY10M1:
MOV R4,#200 ;
DELAY10M2:
MOV R5,#247 ;
DJNZ R5,$ ;
DJNZ R4,DELAY10M2 ;
DJNZ R3,DELAY10M1 ;
RET ;
END ;
非常好我支持^.^
(0) 0%
不好我反对
(0) 0%
