例子如下:
;-----------------------
DIS_ALL: ;***陽數碼管, P0:段, P2:反相位
MOV R2, #254 ;位選, 低電平有效
MOV R0, #D_BUF
MOV A, @R0
ADD A, #(TAB - $ - 3)
MOVC A, @A + PC ;查表指令
MOV P2, #255
MOV P0, A
MOV P2, R2
DJNZ R7, $ ;顯示1ms
DJNZ R7, $
MOV A, R2
RL A
MOV R2, A
INC R0
CJNE R0, #D_BUF + 6, $ - 19 ;顯示6位
MOV P2, #255
RET ;占用時間約為6.2ms
;-----------------------
TAB: ;碼表
DB 0C0H, 0F9H, 0A4H, 0B0H, 099H, 092H, 082H, 0F8H;0~7
DB 080H, 090H, 088H, 083H, 0C6H, 0A1H, 086H, 08EH;8~F
DB 040H, 079H, 024H, 030H, 019H, 012H, 002H, 078H
DB 000H, 010H, 0FFH ;0.~9. ' '
DB 08CH, 0BFH, 089H, 0C7H, 0A3H, 0AFH ;P,-,H,L,o,r
;=================================
參考:
/do_sermon/item/78693092ff197abd83d29584