⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 复件 电压表.asm

📁 关于汇编语言的产生制作电压表的程序
💻 ASM
字号:
   ORG 0000H
       LJMP START
       ORG 0003H
       LJMP INT0                ;中断入口地址
START:
       MOV SP,#60H   
       MOV R4,#0FFH             ;设初值
       MOV R7,#0FFH             ;初始化
       SETB IT0
       SETB EA
       SETB EX0                 ;开INT0 允许
 A_D:  MOV A,#00H               ;AD转换子程序
       MOV DPTR,#78FFH          ;附值接口地址
       MOVX @DPTR,A             ;启动 A_D
       CJNE R7,#00H,$           ;等待 A_D 转换结束
       MOV R7,#0FFH             ;清读数标志
       SJMP A_D           ;循环跳转,为再次进行AD转换
INT0:
       MOVX A,@DPTR             ;读 A_D 数据
       MOV B,#05H               ;附乘数
       MUL AB                   ;采集到的数据A*5
       MOV R1,B                 ;去电压值的个位
       MOV B,#0AH               ;附乘数
       MUL AB                   ;剩下的小数进一位
       MOV R2,B                 ;去小数点后一为(0.1)
       MOV B,#0AH   
       MUL AB
       MOV R3,B               ;取小数点后的第二位(0.01)
       LCALL PLAY               ;调用显示子程序
       MOV R7,#00H               ;置读数标志
       MOV DPTR,#78FFH
       MOV A,#00H
       MOVX @DPTR,A      ;重新附借口地址以及开启AD转换
       RETI                      ;中断程序返回
PLAY:   MOV DPTR,#DISPTAB        ;置表地址
        MOV A,R1                 ;电压值各位查表
        MOVC A,@A+DPTR
        ORL A,#80H               ;置小数点位
        MOV P1,A            ;把数据送往P1口,以下类同
        MOV P2,#0FEH             ;片选数码管,以下类同
        LCALL DELAY
        MOV A,R2                 ;电压值0.1位查表
        MOVC A,@A+DPTR
        MOV P1,A
        MOV P2,#0FDH
        LCALL DELAY
        MOV A,R3                  ;电压值0.01位查表
        MOVC A,@A+DPTR
        MOV P1,A
        MOV P2,#0FBH
        LCALL DELAY
        DJNZ R4,PLAY
        RET                      ;子程序返回
DISPTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH  ;表
DELAY:  MOV R5,#20               ;延时子程序
DELAY1:DJNZ R5,DELAY1
       RET

END                               ;程序结束

⌨️ 快捷键说明

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