本帖最后由 dianzihan 于 2010-4-18 22:13 编辑
以前为了监测MEGA8 MCU的供电电压是否正常,总是占用一条模拟输入口,参考电压选择为2.56v片内基准,通过片上的AD转换器得到MEGA8 MCU的供电电压。
其实我们可以把参考电压选择为AVCC,模拟通道选择为1.23V (VBG)得到MEGA8 MCU的供电电压AVCC:
ADMUX = 0x4E; //AVCC参考电压,1.23v(VBG)通道
AVCC = 1024 * 1230 / AD转换读数,
所得结果的单位为mV.
这样不用占用IO资源。
以上只是说明,实际使用时要考虑变量是否溢出:例如GCC的int变量是16位的。 |