2014-02-24 34 views
-1

我正在寫一個2分鐘延遲的代碼。我使用Mikro C pro來編譯PIC。我使用PIC18F4550哪個時鐘頻率用於PIC18f4550

要計算我用Timer-Calculator

現在計時器延遲,我懷疑是使用了延遲其時鐘頻率?內部時鐘還是應該提供一個外部時鐘?

void InitTimer0(){ 
    T0CON = 0x86; 
    TMR0H = 0x67; 
    TMR0L = 0x69; 
    GIE_bit = 1; 
    TMR0IE_bit  = 1; 
} 

void Interrupt(){ //1 Second delay 
    if (TMR0IF_bit){ 
    TMR0IF_bit = 0; 
    TMR0H = 0x67; 
    TMR0L = 0x69; 
    //Enter your code here 
    count++; 
    } 
} 
... 
void main() { 
    if(count == 120) {  //120 Seconds 
     //My Code 
    } 
} 

在此代碼中,我計算了20 MHz MCU時鐘頻率。 PIC18F4550是否有內部時鐘?

我打算在包含板上20 MHz振盪器的PIC開發板上實現這個功能。

回答

1

PIC18F4550的內部振盪器支持8 MHz。要使用爲20 MHz校準的延遲例程,您必須使用外部振盪器。所以你必須寫一個8 MHz的例程或設置一個外部振盪器。

datasheet的第2部分描述了時鐘的功能和設置,包括如何爲外部振盪器配置芯片。