4511138.asm
来自「一个I/O实现的8个数码管动态显示程序 内有详细算法说明」· 汇编 代码 · 共 17 行
ASM
17 行
WEIXUAN EQU 58H
WEISHU EQU 59H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4511&138动态显示子程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DISPLAY: MOV WEIXUAN,#00H ;对位选变量赋初值
MOV WEISHU,#08H ;对位数循环变量赋初值
MOV R0,#30H ;对显示缓存指针赋初值,使它指向显示缓存30H-37H的第一个单元
LOOP: MOV A,@R0 ;把显缓指针的值赋给A,以取出存在显示缓存区的预显数据,进行数据处理
ORL A,WEIXUAN ;预显数据与WEIXUAN作与,产生输入到4511与138的字符数据与位选数据
MOV P1,A ;这里的硬件情况是4511接在P1的低4位,138接在P1口的高3位
ACLL DELAY1ms ;调用一个1ms的延时程序,使数码管达到最亮,防止没到最亮就灭了
INC WXZHIZHEN ;位选指针加1,指向下一个显示缓存的单元,为下一位动态显示作准备
MOV A,WEIXUAN ;取出位选变量,为下一次的显示做数据处理
ADD A,#20H ;处理位选变量,使下一次选下一位数码管
MOV WEIXUAN,A ;送回
DJNZ WEISHU,LOOP ;看是否扫完8位
RET
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?