昨天想了好久的AD程序,终于解决了问题所在,原来是少写了一个控制字,但是现在我还不是很清楚为什么要这样写,希望有心人能帮帮忙,O(∩_∩)O~
相关代码如下:
PCONP |= 1 <<12;
PINSEL1 |= (0x03) <<
12;
ADCR = (1 << 0) |
((Fpclk
/1000000 -1) << 8) |
(0 << 16)
|
(0 << 17) |
(1 << 21) |
(0 << 22)
|
(1 << 24) ;
//原来是这里少了这句话,我想这里没打开AD,后面开了,是没问题才对啊,但是问题却就在这里
while(1)
{
ADCR |= (1 << 24);
while ((AD0STAT & 0x01) == 0);
//AD0CR |= (1
<<24);
//while ((AD0STAT & 0x01) == 0);
delay(100);
u = ADDR;
u = (u >> 6) & 0x3FF;
u = (u
* 3300)/1024;
}