?? 兩個8×8點陣字符顯示.asm
字號:
ORG 00H
START: MOV A,#00H ;清屏
MOV P2,A
MOV P3,A
MOV 30H,#00H ;設置表格指針初始值
LOOP1: MOV R1,#10H ;設定每個字的重復顯示次數以便觀察顯示效果
LOOP2: MOV R6,#8 ;每個字有8個段碼值
MOV R4,#00H ;段選初值
MOV R0,30H ;取碼指針暫存載入R0
LOOP3: MOV A,R4 ;段選
MOV P1,A
MOV A,R0
MOV DPTR,#TABLE ;表中取段碼
MOVC A,@A+DPTR
MOV P2,A ;段碼送P0
INC R0 ;指向下一段碼并暫存
MOV A,R4
MOV P1,A
INC R4
MOV A,R0
MOV DPTR,#TABLE ;表中取段碼
MOVC A,@A+DPTR
MOV P3,A ;段碼送P0
INC R0
MOV R3,#10H
LOOP4: MOV R5,#248 ;延時片刻
DJNZ R5,$
DJNZ R3,LOOP4
ANL P3,#00H ;清除屏蔽
ANL P2,#00H
DJNZ R6,LOOP3 ;是否顯示完一個字?沒有顯示完則繼續
DJNZ R1,LOOP2 ;每個字顯示片刻
LCALL DELAY ;延時
MOV 30H,R0 ;顯示完一個字,準備下一個字的顯示
CJNE R0,#0DBH,LOOP1;是否顯示完,沒繼續
SJMP START ;重新顯示
DELAY: MOV R7,#10
DELA: MOV R6,#100
DEL: MOV R5,#248
DJNZ R5,$
DJNZ R6,DEL
DJNZ R7,DELA
RET
TABLE: DB 00H,04H,00H,03CH,03H,0C4H,1CH,40H ;"A"
DB 07H,40H,00H,0E4H,00H,1CH,00H,04H
DB 18H,00H,10H,00H,10H,04H,1FH,0FCH ;"T"
DB 10H,04H,10H,00H,18H,00H,00H,00H
DB 00H,00H,0EH,38H,11H,44H,10H,84H ;"8"
DB 10H,84H,11H,44H,0EH,38H,00H,00H
DB 00H,00H,07H,00H,08H,8CH,10H,44H ;"9"
DB 10H,44H,08H,88H,07H,0F0H,00H,00H
DB 03H,0E0H,0CH,18H,10H,04H,10H,04H ;"C"
DB 10H,04H,10H,08H,1CH,10H,00H,00H
DB 00H,00H,1FH,98H,10H,84H,11H,04H ;"5"
DB 11H,04H,10H,88H,10H,70H,00H,00H
DB 00H,00H,08H,04H,08H,04H,1FH,0FCH ;"1"
DB 00H,04H,00H,04H,00H,00H,00H,00H
DB 0DBH
RET
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -