NXP 系列:LPC11xx 系列 (基于 ARM Cortex-M0)_(8).LPC11xx系列时钟与复位管理.docx

NXP 系列:LPC11xx 系列 (基于 ARM Cortex-M0)_(8).LPC11xx系列时钟与复位管理.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE1

PAGE1

LPC11xx系列时钟与复位管理

时钟源

LPC11xx系列单片机提供了多种时钟源,以满足不同应用的需求。这些时钟源包括:

1.内部RC振荡器(IRC)

内部RC振荡器(IRC)是一种低功耗、固定频率的振荡器,通常用于系统初始化阶段。LPC11xx系列单片机的IRC振荡器频率为12MHz,可以通过寄存器配置进行微调。

//配置IRC振荡器

voidconfigureIRC(void){

//使能IRC振荡器

LPC_SYSCON-SYSAHBCLKCTRL|=(124);//使能SYSCON时钟

LPC_SYSCON-SYSOSCCTRL=0x01;//使能内部RC振荡器

LPC_SYSCON-SYSAHBCLKCTRL=~(124);//禁用SYSCON时钟

}

2.外部晶振(XTAL)

外部晶振(XTAL)可以提供更高精度和更稳定的时钟源。LPC11xx系列单片机支持4至24MHz的外部晶振。外部晶振的配置需要通过系统控制寄存器(SYSCON)进行。

//配置外部晶振

voidconfigureXTAL(uint32_tfreq){

LPC_SYSCON-SYSAHBCLKCTRL|=(118);//使能晶振时钟

LPC_SYSCON-SYSOSCCTRL=0x03;//使能外部晶振

LPC_SYSCON-SYSPLLCLKSEL=0x01;//选择外部晶振作为PLL时钟源

LPC_SYSCON-SYSPLLCLKUEN=0x01;//更新PLL时钟源

LPC_SYSCON-SYSPLLCLKUEN=0x00;//确认更新

//配置PLL

LPC_SYSCON-SYSPLLCFG=(freq/1000000)-1;//设置PLL乘法因子

LPC_SYSCON-PDRUNCFG=~(17);//使能PLL

while(!(LPC_SYSCON-SYSPLLSTAT0x01));//等待PLL锁定

//选择PLL输出作为系统时钟源

LPC_SYSCON-MAINCLKSEL=0x03;//选择PLL输出

LPC_SYSCON-MAINCLKUEN=0x01;//更新系统时钟源

LPC_SYSCON-MAINCLKUEN=0x00;//确认更新

}

3.低频内部RC振荡器(LFACLK)

低频内部RC振荡器(LFACLK)提供一个低功耗的时钟源,通常用于实时时钟(RTC)和低功耗模式下的定时器。LFACLK的频率为32.768kHz。

//配置低频内部RC振荡器

voidconfigureLFA(void){

LPC_SYSCON-SYSAHBCLKCTRL|=(119);//使能LFA时钟

LPC_SYSCON-RTCOSCCTRL=0x01;//使能低频内部RC振荡器

LPC_SYSCON-SYSAHBCLKCTRL=~(119);//禁用LFA时钟

}

时钟树

LPC11xx系列单片机的时钟树结构决定了时钟信号在系统中的分配和使用。时钟树的配置通过一系列寄存器进行,主要包括系统控制寄存器(SYSCON)、电源管理寄存器(PDRUNCFG)等。

1.主时钟源选择

主时钟源可以通过MAINCLKSEL寄存器选择,支持的时钟源包括IRC、外部晶振、PLL输出等。

//选择主时钟源

voidselectMainClockSource(uint32_tsource){

LPC_SYSCON-MAINCLKSEL=source;//选择时钟源

LPC_SYSCON-MAINCLKUEN=0x01;//更新时钟源

LPC_SYSCON-MAINCLKUEN=0x00;//确认更新

}

2.系统时钟分频

系统时钟可以通过SYSAHBCCLKDIV寄存器进行分频,以满足不同模块的时钟需求。

//配置系统时钟分频

voidconfigureSystemClockDiv(uint32_tdiv){

LPC_SYSCON-SYSAHBCCLKDIV=div;//设置分频因子

}

3.各模块时钟配置

各个外设模块的时钟可以通过SYSAHBCLKCTRL寄存器进行配置,以使能

文档评论(0)

找工业软件教程找老陈 + 关注
实名认证
服务提供商

寻找教程;翻译教程;题库提供;教程发布;计算机技术答疑;行业分析报告提供;

1亿VIP精品文档

相关文档