我正在编写代码延迟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振荡器?
答案 0 :(得分:1)
PIC18F4550的内部振荡器固定为8 MHz。要使用校准为20 MHz的延迟程序,您必须使用外部振荡器。因此,您必须编写8 MHz的例程或设置外部振荡器。
datasheet的第2节描述了时钟的功能和设置,包括如何为外部振荡器配置芯片。