3924|6

1144

帖子

17

TA的资源

纯净的硅(高级)

楼主
 

LPC1500体验+@5系统PLL配置【系列教程】 [复制链接]

我前边发了4篇文章,时钟全部为默认时钟RC 12Mhz
这次发表怎么启用PLL到最高72Mhz
教程全部由我手工打造,一边学习一学发教程
全部写寄存器操作,便于理解,没有使用库。
  1. #include "lpc15xx.h"
  2. int main(void){
  3.         LPC_SYSCON->SYSAHBCLKCTRL0|=1<<12|1<<13|1<<14|1<<15|1<<16;                //开启swm,iocon,p0,p1,p2时钟
  4.        
  5.         SysTick_Config(6000000);                                        //12mhz 0.5s,没有启用PLL,时钟默认是RC,12MHZ,
  6.         LPC_GPIO_PORT->DIR[1]|=2;                                        //p1.1紫色灯指示,设置为输出
  7.         while(1);

  8. }

  9. void SysTick_Handler(){
  10.         LPC_GPIO_PORT->NOT[1]=1<<1;                        //0.5s反向一次,即以1HZ频率闪烁。
  11. }

  12. void SystemInit(void){
  13.         LPC_SYSCON->PDRUNCFG&=~(1<<21);                //osc上电
  14.         LPC_SYSCON->PDRUNCFG&=~(1<<22);                //PLL上电
  15.         LPC_SYSCON->SYSOSCCTRL=0;                                        //主振荡器上电 1-20M范围输入
  16.         LPC_SYSCON->SYSPLLCLKSEL=1;                                //PLL输入为外部晶振 Crystal Oscillator
  17.         LPC_SYSCON->SYSPLLCTRL=5|(1<<6);                //p76  12mhz*6
  18.         while(!LPC_SYSCON->SYSPLLSTAT);        //等待PLL锁定完成
  19.         LPC_SYSCON->MAINCLKSELB=2;                                //pll out sel
  20.        
  21. }

  22. //end
复制代码
这次代码我用了上次的LED的示例,如果在12MHZ时钟下是一秒闪一次,在本例72MHZ时钟下,1秒闪6次,
前几次例程中SystemInit该函数都是空的,不能删,必须要,
因为在startup_lpc15xx.h中要调用该函数以及MAIN函数,
启用PLL中,首先要相关模块上电,默认PLL及外部晶振掉电,需上电,LPC_SYSCON->PDRUNCFG&=~(1<<21)
时钟图见下图


然后选择振荡器晶振输入范围,LPC_SYSCON->SYSOSCCTRL=0;         //主振荡器上电 1-20M范围输入
选择PLL时钟为外部晶振输入,LPC_SYSCON->SYSPLLCLKSEL=1;
选择倍频,见手册76页,如图 LPC_SYSCON->SYSPLLCTRL=5|(1<<6);         //p76 12mhz*6


等待PLL稳定,while(!LPC_SYSCON->SYSPLLSTAT);
切换时钟,LPC_SYSCON->MAINCLKSELB=2,
其实例程前2天就写好了,可就在这一句,LPC_SYSCON->MAINCLKSELB=2,,调试的时候鼠标不小心移动到前边几句了,然后编译,下载,结果下载不了啦,也不能擦除,今天才通过ISP擦除才成功。
再说一句,一定要等PLL稳定完成,所有时钟就绪,才能将系统主时钟切换至PLL输出,否则就死锁了,
如不小心锁住可下载ISP软件,通过串口擦除FLASH,软件如图



然后开启SYSTICK定时器,LED指示,
pll.zip (137.72 KB, 下载次数: 10) 下载演示工程,
此系列教程全部由我原创
可在论坛搜索 LPC1500体验+@ 来查找我的其它教程

我的其它教程
1 LPC1500体验+@1-入门环境熟悉【系列教程】
2 LPC1500体验+@2-点亮LED【系列教程】
3 LPC1500体验+@3-GPIO中断【系列教程】
4.LPC1500体验+@4-systick系统滴达定时器【系列教程】

大家互相学习,如有问题可发表互相交流,
如果支持就多多回复,让我更有信心再继续发表。谢谢大家。



此帖出自NXP MCU论坛

最新回复

楼主怎么不更新啦,正在跟着楼主xiao习那,期盼楼主现身。。。  详情 回复 发表于 2014-8-9 13:17
点赞 关注
 

回复
举报

5263

帖子

239

TA的资源

管理员

沙发
 
帖子好棒,顶
此帖出自NXP MCU论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

谢谢管理员支持,后续还有贴子,坚持三天一贴,关于LPC1500的贴子,  详情 回复 发表于 2014-7-11 15:06
 
 
 

回复

1144

帖子

17

TA的资源

纯净的硅(高级)

板凳
 

谢谢管理员支持,后续还有贴子,坚持三天一贴,关于LPC1500的贴子,
此帖出自NXP MCU论坛

点评

nmg
嗯哪,前面的感觉是玩的很基础,越来越感觉你的贴子往高处走啊~~ 期待期待  详情 回复 发表于 2014-7-15 11:42
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

4
 
顶,楼主好人。
此帖出自NXP MCU论坛
 
 
 

回复

5263

帖子

239

TA的资源

管理员

5
 
fxyc87 发表于 2014-7-11 15:06
谢谢管理员支持,后续还有贴子,坚持三天一贴,关于LPC1500的贴子,

嗯哪,前面的感觉是玩的很基础,越来越感觉你的贴子往高处走啊~~
期待期待
此帖出自NXP MCU论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

6
 
楼主怎么不更新啦,正在跟着楼主xiao习那,期盼楼主现身。。。
此帖出自NXP MCU论坛

点评

最近工作实在太忙了,分不了心啊,没空搞啊, 过几天闲一点了再更新吧, 谢谢支持  详情 回复 发表于 2014-8-9 18:26
 
 
 

回复

1144

帖子

17

TA的资源

纯净的硅(高级)

7
 
空山鸟语 发表于 2014-8-9 13:17
楼主怎么不更新啦,正在跟着楼主xiao习那,期盼楼主现身。。。

最近工作实在太忙了,分不了心啊,没空搞啊,
过几天闲一点了再更新吧,

谢谢支持
此帖出自NXP MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表