| 
 
| void main(void) { <br />unsigned char number;<br />char AD_value;<br /><br />Mark=0;<br />Content=0;//这两位是串口显示函数里的标志位<br />SCI0Init();<br /><br />ATD0CTL2=0xC0;<br />ATD0CTL3=0x08;<br />ATD0CTL4=0x07;<br />ATD0CTL5=0xB0;<br />ATD0DIEN=0x00;<br /><br />EnableInterrupts;<br />  <br />DDRB=0XFF;<br />while(1){<br />  while(!(ATD0STAT1 & 0x01));   //等待转换结束<br />  AD_value=ATD0DR0;//读取转换结果<br />  PORTB_BIT3=!PORTB_BIT3;<br />  delay_ms(10);<br />  WritedataToSCI0(100.3456,4);<br />  WritestrToSCI0(" ");<br />  WritedataToSCI0(AD_value*0.0037,6);<br />  WritestrToSCI0("
 “)<br />}<br />参考电压是3.84V。因为串口能正常显示100.3456,所以我认为串口显示函数没有问题。但是串口显示的AD值不正常,比如给测的是在参考电压范围之内的电压值,但是它显示的是负值,而且值也不对。请各位路过的大虾指点指点。
 | 
 |