單片機在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%