Dear 版友們, 想請問一下關於C8051 MCU在ADC的設定,
我目前設定為:
初始設定:
ADC0CN = 0x00;
AMX0P = 0x08; //P to P2.0
AMX0N = 0x1F; //N to GND
ADC0CF = 0xC0; //SAR CLOCK: 11000
ADC0CN = 0x40; //Track mode, white 1 to BUSY;
AD0EN = 1;
執行ADC時的副程式:
void ADC_Function()
{
AD0BUSY = 1; // set 1
while(AD0BUSY)
{
Delay();
}
i = ADC0L;數據暫存
j = ADC0H;數據暫存
AD0INT = 0;
===========================================
以上是我的程式, 但使用時發現, 如果不在AD0BUSY = 1; 加上Delay的話,
得到的數據就會不對或為零.
但我原程式是想用while()那段程式來確定ADC轉換是否完成,
請問是不是不能直接用AD0BUSY來判斷是否換完成呢?
謝謝喔~~^^"