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

📄 ad.txt

📁 stc12c2052单片机有关ad转换的一些代码
💻 TXT
字号:
    Led_mcu_start equ  p3.7
ADC_CONTR EQU 0C5H
ADC_DATA EQU 0C6H
ADC_LOW2 EQU 0BEH

P1M0 EQU 91H
P1M1 EQU 92H

ADC_POWER_ON_SPEED_CHANNEL_0 EQU 11100000B
ADC_POWER_ON_SPEED_CHANNEL_1 EQU 11100001B
ADC_POWER_ON_SPEED_CHANNEL_2 EQU 11100010B
ADC_POWER_ON_SPEED_CHANNEL_3 EQU 11100011B
ADC_POWER_ON_SPEED_CHANNEL_4 EQU 11100100B
ADC_POWER_ON_SPEED_CHANNEL_5 EQU 11100101B
ADC_POWER_ON_SPEED_CHANNEL_6 EQU 11100110B
ADC_POWER_ON_SPEED_CHANNEL_7 EQU 11100111B

ADC_CHANNEL_0_RESULT EQU 30H
ADC_CHANNEL_1_RESULT EQU 31H
ADC_CHANNEL_2_RESULT EQU 32H
ADC_CHANNEL_3_RESULT EQU 33H
ADC_CHANNEL_4_RESULT EQU 34H
ADC_CHANNEL_5_RESULT EQU 35H
ADC_CHANNEL_6_RESULT EQU 36H
ADC_CHANNEL_7_RESULT EQU 37H


   ORG 0000H

  LJMP MAIN

    ORG 0050H
MAIN:
 CLR   LED_MCU_START
 MOV  SP,#7FH

 ACALL  Initiate_RS232
 ACALL  ADC_POWER_ON
 
 ACALL  SET_P12_OPEN_drain
 ACALL  SET_ADC_Channel_2

 ACALL  GET_AD_RESULT
 ACALL  SEND_AD_RESULT
 
ACALL  SET_P12_Normal_io

MOV   A,ADC_CHANNEL_2_RESULT
CPL A
MOV P1,A

WAIT_LOOP:
   JMP WAIT_LOOP
INITIATE_RS232:
   CLR ES
MOV  TMOD,#20H
MOV  SCON,#50H
MOV  TH1,#0FBH
MOV  TL1,#0FBH
SETB TR1
RET
 SEND_BYTE:
   CLR  TI
   MOV  SBUF,A
SEND_BYTE_WAIT_FINISH:
   JNB TI,SEND_BYTE_WAIT_FINISH
   CLR TI
   RET
ADC_POWER_ON:
   PUSH ACC
   ORL ADC_CONTR,#80H
MOV A,#20H
   ACALL  Delay
POP    ACC
RET

SET_P12_OPEN_DRAIN:
   PUSH ACC
   MOV A,#00000100B
   ORL  P1M0,A
   ORL  P1M0,A
   POP ACC
RET

SET_P12_NORMAL_IO:
PUSH  ACC
MOV A,#11111011B
ANL  P1M0,A
 ANL  P1M0,A
       POP  ACC
RET

SET_ADC_CHANNEL_2:
   MOV ADC_CONTR,#ADC_POWER_ON_SPEED_CHANNEL_2
   MOV A,#05H
ACALL  DELAY
    
RET
SEND_AD_RESULT:
  PUSH  ACC
  MOV A,ADC_CHANNEL_2_RESULT
  ACALL send_byte
  POP ACC
RET

GET_AD_RESULT:
  PUSH ACC
MOV ADC_DATA,#0
ORL ADC_CONTR,#00001000B

Wait_AD_Finshe:
    MOV A,#00010000B
    ANL  A,ADC_CONTR
    JZ Wait_AD_Finshe
  
   ANL  ADC_CONTR,#11100111B

   MOV   A,ADC_DATA
   MOV  ADC_CHANNEL_2_RESULT,A
   POP ACC
   RET

   DELAY:
    PUSH  02
    PUSH  03
    PUSH  04
    MOV   R4,A


  DELAY_LOOP0:
     MOV   R3,#200
  DELAY_LOOP1:
     MOV  R2,#249

 DELAY_LOOP:
     DJNZ  R2,DELAY_LOOP
     DJNZ  R2,DELAY_LOOP1
     DJNZ  R2,DELAY_LOOP0

    POP  04
    POP  03
    POP  02
    RET
    end

⌨️ 快捷键说明

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