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 + -
显示快捷键?