S12XE系列---锁相环倍频

从MC9S12XET256MMA的手册上可以看到系统时钟发生器,如下图
在这里插入图片描述
在这里插入图片描述
手册上提供了锁相环倍频计算公式:
在这里插入图片描述
手册中提供了一些性能比较稳定的频率设置,如下表所示:
在这里插入图片描述
MC9S12XET256MMA在未设置时钟且使用外部晶振的情况下,默认总线频率为外部晶振频率的1/2。
这里使用的外部晶振为8M,因此在未进行倍频的情况下默认总线频率为4M。
通过锁相环倍频可以使锁相环频率达到100M,总线频率达到50M;
通过锁相环可以加快总线的频率,使计算速度加快,但也会导致稳定性下降

1、打开上次的LED和按键的工程,打开main.c文件,如下图所示:
在这里插入图片描述
2、按照手册中提供的稳定性较好的频率进行锁相环的配置,这里配置总线频率为50M。
在这里插入图片描述
在MC9S12XET256.h文件中都能够相关寄存器的定义,如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//PLL初始化:
/*************************************************************/
/*                      初始化锁相环                         */
/*************************************************************/
void init_PLL(void) 
{
    CLKSEL &= 0x7f;       //设置OSCCLK作为系统时钟
    PLLCTL &= 0x8F;       //禁止锁相环
 
    //PLLCLK=2×OSCCLK×(SYNR+1)/(REFDV+1), fbus=PLLCLK/2    设定50M总线,100M pll
    SYNR = 0xd8;
    REFDV = 0x43;
    POSTDIV = 0x00;
    PLLCTL |=0x70;  //使能锁相环
    asm NOP;
    asm NOP;
    while(!(CRGFLG&0x08)); //PLLCLK锁定
    CLKSEL |= 0x80;        //设置PLLCLK为系统时钟
}

3、在main.c文件中进行调用观察现象,这里我们增加一个软件延时来使LED闪烁,如下图所示:
在这里插入图片描述
4、下载程序并运行后发现LED闪烁频率很快,然后我们取消PLL的初始化,如下图:
在这里插入图片描述
5、最后再下载运行后发现LED的闪烁频率变得很慢,说明PLL倍频成功,软件运行速度加快。
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小吴同学啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值