⑴ 单片机AD转换用的这段程序意思是什么
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | ch ;//开始转换
这是用STC单片机内部A/D转换电路进行A/D转换时,要给A/D控制寄存器ADC_CONTR写启动转换命令,ADC_CONTR是ADC控制寄存器,其中的每一位的作用见下图,而这行语句前面肯定要有定义每一位状态的语句,或用#define宏定义了各位的值。
⑵ 单片机AD和DA转换具体过程是怎么样的
单片机的AD转换过程是将模拟信号转换为数字信号。比如,以8位的AD转换为例,假设输入范围为0~5V,那么这5V会被划分为256份,每份的电压值为5/256V,大约为0.0195V。这也就是AD转换的精度。因此,最小一份的电压为0.0195V左右。如果输入信号为5V,那么它将占据256份中的全部份额,AD转换后输出的数字信号为16进制的0xff。
如果输入信号为3.1V,那么它将占据的份数为3.1除以每份5/256,结果大约为158.72份。由于AD转换器只能输出整数,因此输出结果为158份,即0x9e。由此产生的误差约为0.72份,即0.72*5/256V,大约为0.014V左右。
当AD转换器的位数增加至10位时,每份的电压值将变为5/1024V,精度大幅提高。DA转换过程则是将数字信号转换为模拟信号。其原理与AD转换类似,只是方向相反。不明白的地方可以继续提问。