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

📄 ad.asm

📁 (1)完成键盘
💻 ASM
字号:
 ;A/DC采样自检
org    00H
 ad0: ljmp   main
      org    03H

      ljmp   int0
      org   50H
        led0  equ  30H
        led1  equ  31H
        led2  equ  32H
        led3  equ  33H
        led4  equ  34H
main:   mov  IE,#81H
        mov  SP,#50H
;程序初始化
 csh:   mov   R0,#led0
        mov   A,#80H
        mov   @R0,A
        inc   R0
        mov  A,#80H
        mov   @R0,A
        inc   R0
        mov   A,#80H
        mov   @R0,A
        inc   R0
        mov   A,#80H
        mov   @R0,A
        inc   R0
        mov   A,#80H
        mov   @R0,A
        mov   R7,#06
k1:     ;push 06H
        lcall disp
        ;pop 06H
        djnz  r7,k1
        ljmp  ad0
;显示程序
disp:   push  a
        push  psw
        clr rs1
        clr rs0
        mov   a,led0
        mov  P0,a
        lcall sel1
        lcall dms
        mov  P0,led1
        lcall sel2
        lcall dms
        mov   P0,led2
        lcall sel3
        lcall dms
        mov   P0,led3
        lcall sel4
        lcall dms
        mov   p0,led4
        lcall sel5
        lcall dms
        pop   psw
        pop   a
        ret
sel1:   clr   P2.5
        clr  P2.6
        clr   P2.7
        ret
sel2:   clr   P2.5
        clr   P2.6
        setb  P2.7
        ret
sel3:   clr   P2.5
        setb  P2.6
        clr  P2.7
        ret
sel4:   clr   P2.5
        setb  P2.6
        setb  P2.7
        ret
sel5:   setb  P2.5
        clr  P2.6
        clr   P2.7
        ret
;延时子程序
dms:
        mov   r7,#5
d1:     mov   r6,#300
d2:     nop
        djnz  r6,d2
	djnz  r7,d1
        ret
;采样中断子程序
ad_buf    equ   0ah
int0:     push   a
          push   psw
          setb   rs1
          setb   rs0
          clr    ea
          mov    r0,#ad_buf
ad1:      clr    P2.0
          clr    p2.1
          mov    a,p1
          setb   p2.1
          jnb   acc.5,ad3
          mov    @r0,a
          inc    r0
          clr    p2.2
          mov    a,p1
          setb   p2.2
          setb   P2.0
          mov    @r0,a
ad2:      lcall   ctab
          setb   ea
          pop    psw
          pop    a
          reti
ad3:      mov  p0,80h
          acall sel5
          acall dms
          mov  p0,80h
          acall sel4
          acall dms
          mov  p0,80h
          acall sel3
          acall dms
          ljmp ad1

ctab:   mov    a,ad_buf
        anl    a,#0fh
        mov    dptr,#tab
        movc   a,@a+dptr
        mov    led2,a

        mov    a,ad_buf+1
        swap   a
        anl    a,#0fh
        mov    dptr,#tab
        movc   a,@a+dptr
        mov    led3,a

        mov    a,ad_buf+1
        anl    a,#0fh
        mov    dptr,#tab
        movc   a,@a+dptr
        mov    led4,a
        ret
tab :   db     7EH,0CH,0B6H,9EH
        db     0CCH,0DAH,0FAH,00EH
        db     0FAH,0DEH,0B9H,0F8H,0B0H,0BDH,0F2H,0E2H
;

⌨️ 快捷键说明

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