STC12C5A60S2的AD采样程序
#include<reg51.h> #include<intrins.h> #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<reg51.h>#include<ad.h>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;