搜档网
当前位置:搜档网 › STC12C5A60S2的AD采样程序

STC12C5A60S2的AD采样程序

STC12C5A60S2的AD采样程序
STC12C5A60S2的AD采样程序

#include

#include

#define FOSC 18432000L

#define BAUD 9600

/*Declare SFR associate with the ADC*/

sfr ADC_CONTR =0xBC;

sfr ADC_RES=0xBD;

sfr ADC_RESL=0xBE;

sfr AUXR1=0xA2;

sfr P1ASF=0x9D;

void delay();

unsigned Get_ADC () ;

#include

#include

void delay()

{

unsigned char i,j;

for(i=0;i<90;i++)

for(j=0;j<33;j++);

}

unsigned Get_ADC () //AD转换

{

unsigned int ADC_Result;

unsigned int ADC_Result1;

IE=IE|0xA0;

ADC_CONTR=ADC_CONTR|0x80; //开启AD电源delay(); //延时,使电源稳定

P1ASF=0x01; //设置ADC通道为模拟模式

ADC_CONTR=0xC0; //设置ADC转换通道

ADC_RES=0x00;ADC_RESL=0x00; //清零结果寄存器ADC_CONTR=ADC_CONTR|0x08; //开启AD转换while(!(ADC_CONTR&0x10)); //等待转换完成

ADC_CONTR=ADC_CONTR&0x80; //清标志ADC_Result1=ADC_RES;

ADC_Result=ADC_RESL;

ADC_Result=ADC_Result1<<2|ADC_Result; return ADC_Result;

}

相关主题