用于PIC18f4550的时钟频率

时间:2014-02-24 04:10:38

标签: timer pic

我正在编写代码延迟2分钟。我使用Mikro C pro进行PIC编译。我正在使用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有内部时钟吗?

我将在PIC开发板上实现这个功能,该开发板上包含20 MHz振荡器?

1 个答案:

答案 0 :(得分:1)

PIC18F4550的内部振荡器固定为8 MHz。要使用校准为20 MHz的延迟程序,您必须使用外部振荡器。因此,您必须编写8 MHz的例程或设置外部振荡器。

datasheet的第2节描述了时钟的功能和设置,包括如何为外部振荡器配置芯片。