单片机AD转换用的这段程序意思是什么

单片机AD转换用的这段程序意思是什么,第1张

ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | ch ;//开始转换

这是用STC单片机内部A/D转换电路进行A/D转换时,要给A/D控制寄存器ADC_CONTR写启动转换命令,ADC_CONTR是ADC控制寄存器,其中的每一位的作用见下图,而这行语句前面肯定要有定义每一位状态的语句,或用#define宏定义了各位的值。

简单点,建立32位变量A,每采样一次就加到A,采样完8次再除以8就好了,

u16 ADC_ZKB(u8 Channel)

{

u32 value1=0;

u16 value;

u8 i;

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

{

ADC_CSR = Channel & 0x0F; // 选择AD转换通道

ADC_CR1 |= 0x01; // 启动AD转换

while(!(ADC_CSR & 0x80)); // 等待AD转换完成

value = ADC_DRL;

value |=((ADC_DRH<<8)&0X0300);

value1+=value;

ADC_CSR = 0x00;

}

return (value1/8);

}

大概这意思,怎么定义32位数,这个自己去查,因为AD采样时间比较久,估计这样FOR可能不合适,自己可以改改。

以上就是关于单片机AD转换用的这段程序意思是什么全部的内容,包括:单片机AD转换用的这段程序意思是什么、求修改单片机AD口多次采样求平均值的程序、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10209613.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存