您的位置 首页 资料

STM8S103F AD收集

AD初始化ADC_CR1=0x60;//设置AD转换时钟1/12,单次转换模式ADC_CR2=0x08;//设置数据为右对齐ADC_CR3=0x00;//…

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

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/267114.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部