📄 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 + -