请教关于PIC18FXXJ60的系统时钟的问题?
|
||||
---|---|---|---|---|
新會員
|
大家好,我使用的是PIC18F97J60带以太网模块的单片机,主晶振使用的是25M的高速晶体振荡器,Timer1使用的是32.768K晶振。其中在电路初始化时,我将OSCTUNE 配置为 0x40; (将25M晶振先3分频,然后再5倍频,系统时钟最终为41.667Mhz)。
在main函数的死循环中我加入了以下一个语句 while(1) { delay_10us(); LATGbits.LATG3^=1; //RG3以为置为输出 delay_10us(); } 其中,delay_10us()定义为 { unsigned char i; for(i=2;i>0;i--); } 随后,在Debug期间,我使用示波器观察RG3引脚看到RG3已经产生了20us的方波,可是我试想,PIC处理速度应该是非常快的,尤其是我使用了41.667M的高速系统时钟后,delay_10us()函数里的 i 取值因该比2要大的多,可是根据目前的情况看,这个系统的时钟好像没有运行在很高的频率下?但是我通过修改OSCTUNE的值发现这个值是有用处的,例如我将OSCTUNE=0x40修改为0x20后,就会发现delay_10us的延时时间会增至150us左右,请问版主,是PIC的正常运行速度就是这样还是我的哪里没有设置正确呢?谢谢您的回答。
發表於: 2009/1/5 14:07
|
|||
|