现有一个stc14w401as单片机,片内支持ad转换,请问输入模拟信号如何赋值给变量a? 这个程序如何写?

如题所述

是STC15W401AS,没有14W的。
模拟信号加到输入端后,需要启动转换,由内部的AD电路转换成数字量,才能赋值给变量。
模拟信号是不能赋值的,也不需要赋值的。去STC官网上,去下载有关STC单片机的技术资料,就有详细的说明了,也有相应的例子程序。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-03-22
uchar get_AD_result(uchar channel) { uchar AD_finished=0; ADC_RES = 0; channel &= 0x07; ADC_CONTR = AD_SPEED; _nop_(); ADC_CONTR |= channel; _nop_(); ADC_CONTR |= 0x80; delay(1); ADC_CONTR |= 0x08; AD_finished = 0; while (AD_finished ==0 ) { AD_finished = (ADC_CONTR & 0x10); } ADC_CONTR &= 0xE7; return (ADC_RES); } 把AD的结果通过IO口输出就可以了 这个程序P1.7做AD脚的,你稍微小改下,有什么迷糊的,直接搬下来用就OK了追问

你好那么我怎么确定ad电压呢?比如变量x代表ad电压,x怎么计算