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

📄 myprogro5.asm

📁 ADC0832AD转换程序和LED显示程序
💻 ASM
字号:
LED_PORT   EQU    P0 
DIG_PORT   EQU   P2
ADC_CS      BIT   P3.5 
ADC_CLK    BIT   P2.1 
ADC_DI      BIT   P3.6 
ADC_DO     BIT   P3.7      
BUFF_BCD_H   EQU    29H 
BUFF_BCD_M   EQU    2AH 
BUFF_BCD_L   EQU     2BH 
ORG    0000H 
LJMP    MAIN 
ORG    000BH 
LJMP    T0_INT 
ORG    0023H 
LJMP    MAIN 
ORG    0100H 
MAIN:  MOV  A,  #00H 
    MOV  SP,  #40H 
    MOV  IE,  #00H 
    MOV  P0,  #0FFH 
    MOV  P1,  #0FFH 
    MOV  P2,  #0FFH 
    MOV  P3,  #0FFH 
    MOV   R0,#7FH      ;初始化RAM  
CLR_RAM:    MOV         A,#00H 
            MOV         @R0,A 
            DJNZ        R0,CLR_RAM 
            MOV         TH0,#240     ;T0=4MS 
            MOV         TL0,#240            
            MOV    TMOD,  #11H 
        SETB    TR0 
        SETB    ET0 
        SETB    EA 
        CALL DEL2
        
MAIN_LP:   LCALL      ADC_CH1
           LCALL      BIN_BCD
           LJMP       MAIN_LP 
;ADC0832采集1通道
ADC_CH1:CLR    ADC_CS        
        CALL   DEL                      
        SETB   ADC_CS  
        MOV    R7,#10 
        DJNZ   R7,$ 
        CLR    ADC_CS 
        SETB   ADC_DI 
        ACALL  PULSE 
        ACALL  PULSE 
        ACALL  PULSE 
        MOV    R2,#8 
DRCL1:  ACALL  PULSE 
        MOV   C,ADC_DO 
        RLC   A 
        DJNZ  R2,DRCL1 
        MOV   B,A 
        RR    A 
        MOV   R2,#7 
DRCR1:  ACALL  PULSE 
        MOV   C,ADC_DO 
        RRC    A 
        DJNZ   R2,DRCR1 
        CJNE  A,B,ADC_CH1 
        SETB  ADC_CS 
        CLR   ADC_CLK 
        SETB  ADC_DO 
        SETB  ADC_DI 
        RETI
PULSE:     
        SETB   ADC_CLK            
        MOV    R3,#2 
        DJNZ   R3,$           
        CLR    ADC_CLK     
        MOV    R3,#2 
        DJNZ   R3,$ 
        RET 
BIN_BCD:CLR C
        MOV B,#10
        DIV AB
        MOV BUFF_BCD_L,B
        MOV B,#10
	ADD A,#7
        DIV AB
        MOV BUFF_BCD_M,B       
        ADD A,#1
        MOV BUFF_BCD_H,A
        RET 
T0_INT: PUSH ACC
        PUSH PSW
        PUSH B           
        MOV TH0,#240
	MOV TL0,#240
        MOV R6,#07FH
SCAN1:  MOV R7,#07FH
SCAN:	LCALL SHOW
	DJNZ R7,SCAN	
        POP B
        POP PSW
        POP ACC
        RET
SHOW:   MOV P2,#0FFH
        CLR P2.4
	MOV A,BUFF_BCD_H       
	MOV DPTR,#TABLE2
        MOVC A,@A+DPTR
	MOV P0,A
        CALL DEL2
        MOV P2,#0FFH
	CLR P2.3
	MOV A,BUFF_BCD_M
	MOV DPTR,#TABLE2
        MOVC A,@A+DPTR
	MOV P0,A
	CALL DEL2
	MOV P0,#7FH
        CALL DEL2
        MOV P2,#0FFH
	CLR P2.2
	MOV A,BUFF_BCD_L
	MOV DPTR,#TABLE2
        MOVC A,@A+DPTR
	MOV P0,A
        CALL DEL2
	MOV P0,#0FFH
        RET
PLUS:MOV B,#02H
     DIV AB
     MOV R0,A
     MOV B,#02H
     MOV A,#170
     DIV AB
     ADD A,R0   
TABLE2:
DB  0C0H,0F9H,0A4H,0B0H
DB  99H,92H,82H,0F8H
DB  80H,90H 
DEL:     MOV   R5,#02      ;人为加入的延时子程序
DEL01:   MOV   R6,#200 
DEL02:   MOV   R7,#200 
         DJNZ  R7,$ 
         DJNZ  R6,DEL02 
         DJNZ  R5,DEL01 
         RET 
DEL2:MOV R2,#03FH
DEL3:MOV R3,#10H
DJNZ R3,$
DJNZ R2,DEL3
RET
END

⌨️ 快捷键说明

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