×
嵌入式 > 嵌入式开发 > 详情

STM8S103F AD采集

发布时间:2020-09-01 发布时间:
|
AD初始化


ADC_CR1 = 0x60; // 设置AD转换时钟1/12,单次转换模式
ADC_CR2 = 0x08; // 设置数据为右对齐
ADC_CR3 = 0x00; // 不使用数据缓冲
ADC_CSR = 0x03; // 选择AD转换通道3
ADC_TDRL=0xff; //关闭施密特触发器

AD转换程序

void ADC_change(void)
{

ADC_CSR = 0x03; // 选择AD转换通道3
ADC_CR1 |= 0x01; // 打开AD模块电源
Delay1ms(50); // 延时至少100uS,用于等待采样保持电容充电至稳定
ADC_CR1 |= 0x01; // 启动AD转换

while(!(ADC_CSR & 0x80)); // 等待AD转换完成
AD_data[5]=ADC_DRH;
AD_data[6]=ADC_DRL;
AD_result1=(AD_data[5]*256)+AD_data[6];

ad_temp=(AD_result1*(float)3300)/(float)1024; //3.3V供电
AD_result=(uint)ad_temp;

AD_data[0]=(uchar)(AD_result/1000);
AD_data[1]=(uchar)((AD_result%1000)/100);
AD_data[2]=(uchar)(((AD_result%1000)%100)/10);
AD_data[3]=(uchar)(((AD_result%1000)/100)%10);

ADC_CSR &= 0x7f; //EOC软件清零
ADC_CR1 &= 0xFE; //关闭ADC

}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
大疆做不做军用无人机