?? led.asm
字號:
MOV A,@R0
RLC A
MOV @R0,A
DEC R0
DEC R0
DEC R0
DEC R1
CJNE R1,#7FH,ZBPZY0
RET
;左半屏右移
ZBPYY: MOV R0,#0A0H
MOV R1,#80H
ZBPYY0: MOV A,@R1
CLR C
RRC A
MOV @R1,A
MOV A,@R0
RRC A
MOV @R0,A
INC R0
MOV A,@R0
RRC A
MOV @R0,A
INC R0
INC R0
INC R0
INC R1
CJNE R1,#90H,ZBPYY0
RET
;右半屏左移
YBPZY: MOV R0,#0DFH
MOV R1,#7FH
YBPZY0: MOV A,@R1
CLR C
RLC A
MOV @R1,A
MOV A,@R0
RLC A
MOV @R0,A
DEC R0
MOV A,@R0
RLC A
MOV @R0,A
DEC R0
DEC R0
DEC R0
DEC R1
CJNE R1,#6FH,YBPZY0
RET
;右半屏右移
YBPYY: MOV R0,#0A2H
MOV R1,#70H
YBPYY0: MOV A,@R1
CLR C
RRC A
MOV @R1,A
MOV A,@R0
RRC A
MOV @R0,A
INC R0
MOV A,@R0
RRC A
MOV @R0,A
INC R0
INC R0
INC R0
INC R1
CJNE R1,#80H,YBPYY0
RET
;左移顯示多字
;調(diào)用前先給DPTR,R7賦值
ZYXSDZ: MOV R6,#08H
MOV R3,#00H
LCALL XSYHC
ZYXSDZ0:LCALL ZPZY
MOV 60H,#1
LCALL DELY
DJNZ R6,ZYXSDZ0
MOV R6,#08H
MOV R3,#01H
LCALL XSYHC
ZYXSDZ1:LCALL ZPZY
MOV 60H,#1
LCALL DELY
DJNZ R6,ZYXSDZ1
MOV A,DPL
ADD A,#20H
MOV DPL,A
MOV A,DPH
ADDC A,#00H
MOV DPH,A
DJNZ R7,ZYXSDZ
RET
;取反
CF: MOV R0,#0A0H
CF1: MOV A,@R0
CPL A
MOV @R0,A
INC R0
CJNE R0,#0E0H,CF1
RET
;清緩沖
;調(diào)用前先給 R1,R4賦值
CHC: MOV A,@R1
CLR A
MOV @R1,A
INC R1
DJNZ R4,CHC
RET
;置緩沖
;調(diào)用前先給 R1,R4賦值
ZHC: MOV A,@R1
CLR A
CPL A
MOV @R1,A
INC R1
DJNZ R4,ZHC
RET
;或顯示
;調(diào)用前先給 DPTR,R0賦值
HXS: MOV R3,#00H
HXS0: MOV A,R3
MOVC A,@A+DPTR
ORL A,@R0
MOV @R0,A
INC R0
INC R3
MOVC A,@A+DPTR
ORL A,@R0
MOV @R0,A
INC R0
INC R0
INC R0
INC R3
CJNE R3,#20H,HXS0
RET
;延時(100MS)
;調(diào)用前先給 60H賦值
DELY: MOV 61H,#30
DELY0: MOV 62H,#250
DJNZ 62H,$
DJNZ 61H,DELY0
DJNZ 60H,DELY
RET
;延時(1MS)
DELAY: MOV 63H,#2
DELAY0: MOV 64H,#250
DJNZ 64H,$
DJNZ 63H,DELAY0
RET
;======================================================================
;8*16直接顯示
;調(diào)用前先給R0,DPTR賦值
SHUHC EQU 50H ;數(shù)緩沖
SHUXJ: MOV A,SHUHC
CJNE A,#0,SHUXJ1
MOV DPTR,#TABSHU0
LJMP SHUXJOUT
SHUXJ1: CJNE A,#1,SHUXJ2
MOV DPTR,#TABSHU1
LJMP SHUXJOUT
SHUXJ2: CJNE A,#2,SHUXJ3
MOV DPTR,#TABSHU2
LJMP SHUXJOUT
SHUXJ3: CJNE A,#3,SHUXJ4
MOV DPTR,#TABSHU3
LJMP SHUXJOUT
SHUXJ4: CJNE A,#4,SHUXJ5
MOV DPTR,#TABSHU4
LJMP SHUXJOUT
SHUXJ5: CJNE A,#5,SHUXJ6
MOV DPTR,#TABSHU5
LJMP SHUXJOUT
SHUXJ6: CJNE A,#6,SHUXJ7
MOV DPTR,#TABSHU6
LJMP SHUXJOUT
SHUXJ7: CJNE A,#7,SHUXJ8
MOV DPTR,#TABSHU7
LJMP SHUXJOUT
SHUXJ8: CJNE A,#8,SHUXJ9
MOV DPTR,#TABSHU8
LJMP SHUXJOUT
SHUXJ9: CJNE A,#9,SHUXJ10
MOV DPTR,#TABSHU9
LJMP SHUXJOUT
SHUXJ10: MOV DPTR,#TABSHU10
SHUXJOUT:
RET
ZJXS8: MOV R3,#00H
ZJXS80: MOV A,R3
MOVC A,@A+DPTR
MOV @R0,A
INC R0
INC R0
INC R0
INC R0
INC R3
CJNE R3,#10H,ZJXS80
RET
; 將時間變成分離BCD碼40H-------
FLBCD: MOV R0,#SECOND
MOV R1,#40H
MOV R7,#7
FLBCD1: MOV A,@R0
ANL A,#0FH
MOV @R1,A
MOV A,@R0
SWAP A
ANL A,#0FH
INC R1
MOV @R1,A
INC R0
INC R1
DJNZ R7,FLBCD1
RET
;*********************************************************************/
SECOND EQU 30H
T_CLK Bit P1.4;實時時鐘時鐘線引腳
T_IO Bit P1.5;實時時鐘數(shù)據(jù)線引腳
T_RST Bit P1.6;實時時鐘復位線引腳
;**********************************************************
;子程序名:Set1302
;功 能:設(shè)置DS1302 初始時間,并啟動計時。
;說 明:
;調(diào) 用:RTInputByte;入口參數(shù):初始時間在:Second,Minute,Hour,Day,Month,Week.YearL(地址連續(xù))
;出口參數(shù):無
;影響資源:A B R0 R1 R4 R7
;**********************************************************
Set1302:
CLR T_RST
CLR T_CLK
SETB T_RST
MOV B, #8EH ;控制寄存器
LCALL RTInputByte
MOV B, #00H ;寫操作前WP=0
LCALL RTInputByte
SETB T_CLK
CLR T_RST
MOV R0, #Second
MOV R7, #7 ;秒 分 時 日 月 星期 年
MOV R1, #80H ;秒寫地址
S13021:
CLR T_RST
CLR T_CLK
SETB T_RST
MOV B, R1 ;寫秒 分 時 日 月 星期 年 地址
LCALL RTInputByte
MOV A, @R0 ;寫秒數(shù)據(jù)
MOV B, A
LCALL RTInputByte
INC R0
INC R1
INC R1
SETB T_CLK
CLR T_RST
DJNZ R7, S13021
CLR T_RST
CLR T_CLK
SETB T_RST
MOV B, #8EH ;控制寄存器
LCALL RTInputByte
MOV B, #80H ;控制,WP=1,寫保護
LCALL RTInputByte
SETB T_CLK
CLR T_RST
RET
;**********************************************************
;子程序名:Get1302;功 能:從DS1302 讀時間
;說 明:
;調(diào) 用:RTInputByte,RTOutputByte
;入口參數(shù):時間保存在:Second,Minute,Hour,Day,Month,Week.YearL
;出口參數(shù):無
;影響資源:A B R0 R1 R4 R7
;**********************************************************
Get1302:
MOV R0, #Second;
MOV R7, #7
MOV R1, #81H ;秒地址
G13021:
CLR T_RST
CLR T_CLK
SETB T_RST
MOV B, R1 ;秒 分 時 日 月 星期 年 地址
LCALL RTInputByte
LCALL RTOutputByte
MOV @R0, A ;秒
INC R0
INC R1
INC R1
SETB T_CLK
CLR T_RST
DJNZ R7, G13021
RET
;**********************************************************
;功 能:寫1302一字節(jié) (內(nèi)部子程序)
;**********************************************************
RTInputByte:
MOV R4, #8
Inbit1:
MOV A, B
RRC A
MOV B, A
MOV T_IO, C
SETB T_CLK
CLR T_CLK
DJNZ R4, Inbit1
RET
;**********************************************************
;功 能:讀1302一字節(jié) (內(nèi)部子程序)
;**********************************************************
RTOutputByte:
MOV R4, #8
Outbit1: MOV C, T_IO
RRC A
SETB T_CLK
CLR T_CLK
DJNZ R4, Outbit1
RET
;///////////////////////////////////////////////////////////
TABSHU0:
;-- 文字: 0 --
;-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --
DB 000H,000H,000H,018H,024H,042H,042H,042H,042H,042H,042H,042H,024H,018H,000H,000H,
TABSHU1:
;-- 文字: 1 --
;-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --
DB 000H,000H,000H,010H,070H,010H,010H,010H,010H,010H,010H,010H,010H,07CH,000H,000H,
TABSHU2:
;-- 文字: 2 --
;-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --
DB 000H,000H,000H,03CH,042H,042H,042H,004H,004H,008H,010H,020H,042H,07EH,000H,000H,
TABSHU3:
;-- 文字: 3 --
;-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --
DB 000H,000H,000H,03CH,042H,042H,004H,018H,004H,002H,002H,042H,044H,038H,000H,000H,
TABSHU4:
;-- 文字: 4 --
;-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --
DB 000H,000H,000H,004H,00CH,014H,024H,024H,044H,044H,07EH,004H,004H,01EH,000H,000H,
TABSHU5:
;-- 文字: 5 --
;-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --
DB 000H,000H,000H,07EH,040H,040H,040H,058H,064H,002H,002H,042H,044H,038H,000H,000H,
TABSHU6:
;-- 文字: 6 --
;-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --
DB 000H,000H,000H,01CH,024H,040H,040H,058H,064H,042H,042H,042H,024H,018H,000H,000H,
TABSHU7:
;-- 文字: 7 --
;-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --
DB 000H,000H,000H,07EH,044H,044H,008H,008H,010H,010H,010H,010H,010H,010H,000H,000H,
TABSHU8:
;-- 文字: 8 --
;-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --
DB 000H,000H,000H,03CH,042H,042H,042H,024H,018H,024H,042H,042H,042H,03CH,000H,000H,
TABSHU9:
;-- 文字: 9 --
;-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --
DB 000H,000H,000H,018H,024H,042H,042H,042H,026H,01AH,002H,002H,024H,038H,000H,000H,
TABSHU10:
;-- 文字: E --
;-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --
DB 000H,000H,000H,0FCH,042H,048H,048H,078H,048H,048H,040H,042H,042H,0FCH,000H,000H,
TAB1: DB 00H,80H,00H,80H,0FCH,80H,04H,0FCH
DB 45H,04H,46H,48H,28H,40H,28H,40H
DB 10H,40H,28H,40H,24H,0A0H,44H,0A0H
DB 81H,10H,01H,08H,02H,0EH,0CH,04H
TAB2: DB 00H,00H,41H,84H,26H,7EH,14H,44H
DB 04H,44H,04H,44H,0F4H,44H,14H,0C4H
DB 15H,44H,16H,54H,14H,48H,10H,40H
DB 10H,40H,28H,46H,47H,0FCH,00H,00H
TAB3: DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH
TAB4: DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH
TAB5: DB 10H,00H,11H,0FCH,10H,04H,10H,08H
DB 0FCH,10H,24H,20H,24H,24H,27H,0FEH
DB 24H,20H,44H,20H,28H,20H,10H,20H
DB 28H,20H,44H,20H,84H,0A0H,00H,40H
TAB6: DB 41H,00H,22H,7CH,14H,44H,7FH,44H ;鄭
DB 08H,48H,08H,48H,09H,50H,0FFH,0C8H
DB 08H,44H,08H,42H,08H,42H,14H,62H
DB 12H,54H,22H,48H,40H,40H,00H,40H
TAB7: DB 10H,04H,10H,84H,10H,84H,10H,84H ;州
DB 54H,0A4H,52H,94H,52H,94H,90H,84H
DB 10H,84H,10H,84H,10H,84H,10H,84H
DB 20H,84H,20H,84H,40H,04H,00H,04H
TAB8: DB 10H,00H,11H,0FCH,14H,08H,0FEH,10H ;輕
DB 20H,38H,28H,0CCH,4BH,02H,7CH,00H
DB 08H,08H,09H,0FCH,0EH,20H,0F8H,20H
DB 48H,20H,08H,24H,0BH,0FEH,08H,00H
TAB9: DB 00H,00H,00H,08H,7FH,0FCH,01H,00H ; 工
DB 01H,00H,01H,00H,01H,00H,01H,00H
DB 01H,00H,01H,00H,01H,00H,01H,00H
DB 01H,04H,0FFH,0FEH,00H,00H,00H,00H
TAB10: DB 04H,40H,04H,40H,04H,40H,04H,40H ;業(yè)
DB 44H,44H,24H,44H,24H,48H,14H,48H
DB 14H,50H,14H,50H,14H,60H,04H,40H
DB 04H,40H,04H,44H,0FFH,0FEH,00H,00H
TAB11: DB 22H,08H,11H,08H,11H,10H,00H,20H ;學
DB 7FH,0FEH,40H,02H,80H,04H,1FH,0E0H
DB 00H,40H,01H,84H,0FFH,0FEH,01H,00H
DB 01H,00H,01H,00H,05H,00H,02H,00H
TAB12: DB 00H,80H,78H,40H,4FH,0FEH,54H,02H ;院
DB 58H,14H,63H,0F8H,50H,00H,48H,08H
DB 4FH,0FCH,48H,0A0H,68H,0A0H,50H,0A0H
DB 41H,22H,41H,22H,42H,1EH,4CH,00H
TAB13: DB 00H,80H,00H,80H,0FCH,80H,04H,0FCH ;歡
DB 45H,04H,46H,48H,28H,40H,28H,40H
DB 10H,40H,28H,40H,24H,0A0H,44H,0A0H
DB 81H,10H,01H,08H,02H,0EH,0CH,04H
TAB14: DB 00H,00H,41H,84H,26H,7EH,14H,44H ; 迎
DB 04H,44H,04H,44H,0F4H,44H,14H,0C4H
DB 15H,44H,16H,54H,14H,48H,10H,40H
DB 10H,40H,28H,46H,47H,0FCH,00H,00H
TAB15: DB 09H,00H,09H,00H,13H,0FCH,12H,04H ;您
DB 34H,48H,59H,40H,91H,50H,12H,4CH
DB 14H,44H,11H,40H,10H,80H,02H,00H
DB 51H,84H,50H,92H,90H,12H,0FH,0F0H
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -