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

📄 noname2.asm

📁 51单片机的 “双位数码管加减一程序设计”演示程序
💻 ASM
字号:
key1 bit p1.0
key2 bit p1.1
key3 bit p3.0
key4 bit p3.1
led equ p2
;==================================================================
org 0000h
jmp main
org 0030h            ;程序开始执行的位置

main:mov a,#00h
     mov r0,#0
     mov r4,#0
     mov p3,#0ffh
     jmp k0           ;转到判断加减法程序
;===============================================================
k0:
     jb key1,jf  ;加法键判断
     jmp k1      ;按下去则转到加法程序


jf:  jnb key2,d0  ;减法键判断,按下去则转到减法程序
     jmp l0

;================================================================
k1:  jnb key1,$
     inc r0
     cjne r0,#10,l0 ;判断加法个位,小于9转到加法个位继续加
     mov r0,#0      ;加法个位超过9则r0清零
     jmp  k2        ;转到加法十位

;=============================================================
delay:mov r1,#100
      djnz r1,$
      ret
;===============================================================
l0: acall display
    
    jmp k0       ;返回判断加减法键
;===============================================================
display:
        mov   a,r0
        acall xianshi

        setb  key4
        acall delay
        clr   key4
        mov   a,r4
        acall xianshi
        setb  key3
        acall delay
        clr   key3
        
        ret
;===============================================================
xianshi:
        mov dptr,#tab
        movc a,@a+dptr
        mov led,a
        ret

;===============================================================
k2: inc r4
    cjne r4,#11,l0  ;判断十位是否是"9",不是则可继续加
    mov r4,#0       ;十位是"9",则r4清零
    jmp l0

;===============================================================
d0:jnb key2,$
   cjne r0,#0,d1    ;判断减法个位是否为零,不是零则可继续往下减
   jmp d2           ;减法个位为零则转到十位去减
;===============================================================
d1:dec r0
   jmp l0
;================================================================
d2:cjne r4,#0,d3    ;减法十位不为零则可继续减
   jmp l0

d3:dec r4
   mov r0,#9
   jmp l0
;==============================================================
tab:  db 0c0h,0f9h,0a4h,0b0h,99h
      db 92h,82h,0f8h,80h,90h,0c0h   ;0~9数型表
end

⌨️ 快捷键说明

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