while(ADGO) ;
adres=( ((unsigned int)ADRESH) << 8)+ADRESL;
adres=((long)adres*5000/1023);
DisplayData(adres); // 显示一次的时间远远大于25us
ADGO=1;
这是8位pic的AD转换部分程序。我想问的是ADRESH不是8位的吗?怎么还能左移8位?假如ADRESH的低两位保存AD转换的高两位,这样的话意思就是讲ADRESH转成10位的,但是ADRESH本身是8位的,怎么还能左移8位得到想要的数值呢? |