本实验基于Blue博文与部分代码。
http://www.cnblogs.com/BlueMountain-HaggenDazs/p/4298381.html
没有测试原博主的代码,但原博主的代码在我这里使用AIN0通道时读取数据有错误,原因是原博主忽视了ADCH的符号位(因ADCL与ACDH合起来为一个signed int,详情看下图,手册p135)
问题出在Oops处:
uint GetAdcValue(void)
{
uint AdValue=0;
ADCCON1 |= 0x40;
while(!(ADCCON1 & 0x80