打印
[PIC®/AVR®/dsPIC®产品]

24F单片机如何使能PLL成为32MHz的时钟

[复制链接]
1708|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
为啥我试了带后分频器和PLL 模块的8 MHz FRC 振荡器(FRCPLL),和FRC的时钟速度一样,而且改了后分频倍数也没用,换了带后分频器的8 MHz 快速RC 振荡器(FRCDIV)改后分频倍数就有用了,怀疑是FRCPLL没使能上PLL,求助
沙发
kfawj| | 2016-3-28 11:31 | 只看该作者
都8MHz还用RC电路?为什么不用晶振呢?我用晶振工作的很好!

使用特权

评论回复
板凳
suicune66|  楼主 | 2016-3-28 12:15 | 只看该作者
kfawj 发表于 2016-3-28 11:31
都8MHz还用RC电路?为什么不用晶振呢?我用晶振工作的很好!

额,我这不是想让他工作在32MHz,用内部的不是省事么,但是不知道为什么仿真的时候选择FRCPLL和FRC,执行一条命令的时间居然是一样的……特来求助,能指点下么

使用特权

评论回复
地板
suicune66|  楼主 | 2016-3-28 17:38 | 只看该作者
本帖最后由 suicune66 于 2016-3-28 18:47 编辑

#include <p24F04KA201.h>
_FOSCSEL(FNOSC_FRCDIV_PLL&IESO_OFF)
_FOSC(FCKSM_CSDCMD&POSCFREQ_8MHZ&OSCIOFNC_OFF&POSCMOD_NONE&IOL1WAY_ON)
_FPOR(MCLRE_OFF&BORV_ZERO_POWER&PWRTEN_OFF&BOREN_BOR0&AI2C1SEL_SEC)           
_FICD(BKBUG_OFF&COE_OFF&ICS_PGx1)
_FWDT(FWDTEN_OFF&WINDIS_OFF&FWPSA_PR32&WDTPS_PS1)     

void delay_130us()
{
  unsigned int m;
  for(m=0;m<78;m++);
}

void init_IO()
{
    OSCCON = 0x1122;        
    CLKDIV = 0x0000;
    OSCTUN = 0x001f;           
    TRISBbits.TRISB0 = 0;                          
    LATBbits.LATB0 = 0;
}
int main (void)
{
   init_IO();
   while (1)
   {  
      LATBbits.LATB0=~LATBbits.LATB0;
      delay_130us();
   }
   return 0;
}   
这是我写的测试程序,但是不管是选择FRC还是带PLL的FRC,其proteus输出波形如图所示,delay函数一直是这样占2个格子,按理说PLL使能前后频率变化了4倍,应该会发生变化吧,另外他说能N分频,我改了寄存器依然是这个波形,但是换了振荡器换成其他的能N分频的,改了就可以,怪纳闷的,特此前来求助

使用特权

评论回复
5
suicune66|  楼主 | 2016-3-28 19:08 | 只看该作者
另外我也是按照这个配置的

使用特权

评论回复
6
suicune66|  楼主 | 2016-3-29 21:17 | 只看该作者
kfawj 发表于 2016-3-29 10:03
https://bbs.21ic.com/forum.php?mod=attachment&aid=NjIwODM2fGM5Y2I0YjRiMjQ4ZmU4N2M3ZGEyZDFjZGQ5ZWVjZWJkfDE3MzE2NTI1OTU%3D&request=yes&_f=.bmp
仔细看一下时序图就明白了。

对呀,我在配置字和振荡器选了FRC带后分频和PLL的,应该就是中间那个FRC,然后后分频位我选择的1:1,从图出来就是8MHz,然后我前面选择了PLL,也就是FRCPLL那个地方,按流程是没问题,不知道卡在哪了,我看之前咱们论坛也有个人用的24也有一样的问题,但是没人解答……

使用特权

评论回复
7
suicune66|  楼主 | 2016-3-29 21:18 | 只看该作者
kfawj 发表于 2016-3-29 10:03
https://bbs.21ic.com/forum.php?mod=attachment&aid=NjIwODM2fGM5Y2I0YjRiMjQ4ZmU4N2M3ZGEyZDFjZGQ5ZWVjZWJkfDE3MzE2NTI1OTU%3D&request=yes&_f=.bmp
仔细看一下时序图就明白了。

这是那位朋友的链接,https://bbs.21ic.com/forum.php?mo ... mp;highlight=pic24f,虽然型号不完全一样,但问题一样,都是没使能上PLL

使用特权

评论回复
8
kfawj| | 2016-5-4 14:39 | 只看该作者
可通过仿真看一下相关寄存器的是不是真的改了过来!别的,一时也想不起来了什么了……

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

109

帖子

2

粉丝