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

📄 ad采样自检.asm

📁 (1)完成键盘
💻 ASM
字号:
;***********************************************
;名称:A/D采样自检
;功能:外部中断0完成A/D采样任务,每次采样一个数
;使用:“3”区R0-R7
; 出口参数:AD_BUF开始的2个单元
;*************************************************

  AD_TEST:
      ORG   00h
      LJMP   ST
      ORG    03H
     LJMP   PINT0
      ORG     50H
        LED0  EQU  30H
        LED1  EQU  31H
        LED2  EQU  32H
        LED3  EQU  33H
        LED4  EQU  34H
 ST:    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,#40
KKK1:   PUSH 06H
        LCALL show
        POP 06H
        DJNZ R7,KKK1
        RET
;********************显示程序************************
show:   PUSH  A
        PUSH  PSW
        CLR RS1
        CLR RS1
        MOV   A,LED0
        MOV   P0,A
        LCALL SEL1
        LCALL DELAY
        MOV   P0,LED1
        LCALL SEL2
        LCALL DELAY
        MOV   P0,LED2
        LCALL SEL3
        LCALL DELAY
        MOV   P0,LED3
        LCALL SEL4
        LCALL DELAY
        MOV   P0,LED4
        LCALL SEL5
        LCALL DELAY
        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
;********************延时程序***********************
DELAY:
        MOV   R7,#03H
D1:     MOV   R6,#0FFH
D2:     DJNZ  R6,D2
	DJNZ  R7,D1
        RET
;*******************采样中断子程序******************
AD_BUF    EQU   0AH
PINT0:      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
          ANL    A,#0FH
          MOV    @R0,A
          INC    R0
          CLR    P2.2
          MOV    A,P1
          SETB   P2.2
          SETB   P2.0
          MOV    @R0,A
AD2:      LCALL   CHULI
          SETB   EA
          POP    PSW
          POP    A
          RETI

CHULI:  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     0FEH,0DEH,0EEH,0F8H
          DB     072H,0BCH,0F2H,0E2H
END

⌨️ 快捷键说明

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