?? 17動態數碼管掃描b.asm
字號:
;本程序的任務是要讓8個數管能分別顯示不同的數字,以前的例子中,更改P1口聽數據,8個數碼管會同時變成另一數字,本程序需要觀看LED顯示,請將CZ2和P1口用排線連接起來
;本程序先在30-37h放入0-7,在數碼管中顯示出來
;根據電路原理圖可知,本實驗板是用一只74HC164擴展IO來控制8個數碼管點亮,這種方法又經濟,又方便,
org 00h
mov 30h,#0
mov 31h,#1
mov 32h,#2
mov 33h,#3
mov 34h,#4
mov 35h,#5
mov 36h,#6
mov 37h,#7 ;先將要顯示的數放入寄存器內,以后做產品時,你要顯示什么數就由你的程序自動計算自動放進這里
main:
call disp
jmp main
disp:
djnz r7,$+4
mov r7,#8
mov a,r7
mov dptr,#tab1
movc a,@a+dptr
mov p1,#0ffh
mov sbuf,a
mov a,r7
add a,#2fh
mov r0,a
mov a,@r0
mov dptr,#tab2
movc a,@a+dptr
mov p1,a
ret
tab1: db 0,1,2,4,8,16,32,64,128
tab2: db 00010010b,11111010b,00011100b,10011000b,11110000b,10010001b,00010001b,11011010b,00010000b,10010000b,01010000b,00110001b,00010111b,00111000b,00010101b,01010101b
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -