www.pudn.com > 80C552_ADC.rar > ADC.ASM


      ORG 0000H 
      LJMP MAIN 
      ORG 0053H 
      LJMP ADC 
 
ORG 500H 
MAIN:  MOV TMOD,#20H    ;定时器T1为方式2 
       MOV TL1,#0FDH 
       MOV TH1,#0FDH    ;波特率为9600 
       SETB TR1         ;启动T1 
       
       MOV IEN0,#0C0H 
       MOV IP0,#40H 
       MOV ADCON,#0FH 
       SETB EA          ;开CPU总中断 
 
WAIT:   
       CLR P1.0 
       SETB P1.0 
       LCALL DELAY1 
       CLR P1.0  
       LCALL DELAY1 
       
         NOP 
         NOP 
         NOP 
         NOP 
         NOP 
 
     
         MOV S0CON,#40H 
         MOV R0,#48H         ;发送字符的始址 
         MOV R7,#02H         ;发送字符的字节数 
         SETB TR1 
  
TXD:MOV A,@R0 
      MOV S0BUF,A 
WAIT1:JNB TI,WAIT1 
      CLR TI 
      INC R0 
      DJNZ R7,TXD 
 
       NOP 
       NOP 
       AJMP MAIN         
 
ADC:  CLR EAD 
      MOV A,ADCON           ;启动AD 
      ANL A,#0C0H 
      MOV 48H,A 
      MOV A,#00H 
      MOV ADCON,A 
      MOV A,ADCH 
      MOV 49H,A 
      RETI 
 
 
 
 
DELAY1: MOV 	R1,#0AH 
DEL11:  MOV 	R2,#0FFH 
DEL12:  MOV 	R3,#080H 
DEL13:  DJNZ 	R3,DEL13 ; 1+[1+(1+2*255+ 2)*255+2]*10+2=0.66S 
        DJNZ 	R2,DEL12 
        DJNZ 	R1,DEL11 
        RET 
 
END