xianshi.asm

来自「利用查表程序可以完成BCD与七段码的转换,从而取代硬件七段译码电路」· 汇编 代码 · 共 50 行

ASM
50
字号
 ORG    0100H         ;程序起始地址

MAIN: MOV    R2,#00H       ;段码地址表指针清零

      MOV    DPTR,#TAB     ;指向段码地址表起始地址

DSUP: MOV    A,R2          ;将R2的内容送入累加器A

      MOVC   A,@A+DPTR     ;累加器的值与从数据表中取出的数码显示值相加后送入累加器A

      MOV    P0,A          ;将累加器的值送入P3口显示

      MOV    R1,#11111110B ;将11111110B(位选P2.0)送入寄存器R1

      MOV    P2,R1         ;将R1的值送入P2口进行位选

      LCALL  YSH1S         ;调用延时1秒子程序

      INC    R2            ;段码地址表指针加1

      CJNE   R2,#0AH,DSUP  ;如果0-9显示完毕,程序重新开台执行

      SJMP   MAIN          ;跳转到MAIN入口

YSH1S:MOV    R3,#05H       ;延时1秒子程序

LOOP0:MOV    R4,#0C8H

LOOP1:MOV    R5,#0FAH

XHD:  DJNZ   R5,XHD

      DJNZ   R4,LOOP1

      DJNZ   R3,LOOP0

      RET

TAB:  DB    0C0H           ;0-9段码表
      DB    0F9H
      DB    0A4H
      DB    0B0H
      DB    99H
      DB    92H
      DB    82H
      DB    0F8H
      DB    80H
      DB    90H
      END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?