基本信息
文件名称:NXP 系列:LPC1100 系列_(26).LPC1100系列的系统配置与初始化.docx
文件大小:23.46 KB
总页数:24 页
更新时间:2025-06-18
总字数:约1.03万字
文档摘要

PAGE1

PAGE1

LPC1100系列的系统配置与初始化

系统时钟配置

LPC1100系列单片机的系统时钟配置是初始化过程中的重要步骤。系统时钟决定了单片机的工作频率,从而影响到性能和功耗。LPC1100系列支持多种时钟源,包括内部RC振荡器、外部晶振和PLL(锁相环)。

内部RC振荡器

内部RC振荡器是LPC1100系列的默认时钟源,提供4MHz的时钟频率。内部RC振荡器的频率可以通过寄存器进行微调,以确保其在不同环境温度下的稳定性和准确性。

代码示例

以下代码示例展示了如何配置内部RC振荡器:

#includeLPC11xx.h

//配置内部RC振荡器

voidConfigureInternalRC(void){

//选择内部RC振荡器作为系统时钟源

LPC_SC-SYSCLKSEL=0x00;//0x00选择内部RC振荡器

LPC_SC-SYSAHBCLKCTRL|=(10);//使能内部RC振荡器时钟

//微调内部RC振荡器频率

LPC_SC-IRCCTRL=0x00;//0x00选择默认的4MHz频率

}

intmain(void){

//配置内部RC振荡器

ConfigureInternalRC();

//初始化其他外设

//...

while(1){

//主循环

}

}

外部晶振

外部晶振可以提供更精确的时钟频率,通常用于需要高精度时钟的应用场景。LPC1100系列支持多种外部晶振频率,具体频率范围请参考数据手册。

代码示例

以下代码示例展示了如何配置外部晶振:

#includeLPC11xx.h

//配置外部晶振

voidConfigureExternalCrystal(void){

//使能外部晶振时钟

LPC_SC-EXTOSCCTRL=(11);//选择外部晶振频率范围

LPC_SC-SYSAHBCLKCTRL|=(11);//使能外部晶振时钟

//选择外部晶振作为系统时钟源

LPC_SC-SYSCLKSEL=0x01;//0x01选择外部晶振

}

intmain(void){

//配置外部晶振

ConfigureExternalCrystal();

//初始化其他外设

//...

while(1){

//主循环

}

}

PLL配置

PLL(锁相环)可以将外部晶振或内部RC振荡器的频率倍频到更高的频率,从而提高单片机的性能。LPC1100系列的PLL配置涉及多个寄存器,包括PLL控制寄存器和PLL状态寄存器。

代码示例

以下代码示例展示了如何配置PLL:

#includeLPC11xx.h

//配置PLL

voidConfigurePLL(void){

//使能PLL时钟源

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

LPC_SC-SYSAHBCLKCTRL|=(12);//使能PLL时钟

//配置PLL参数

LPC_SC-PLL0CFG=(0x250)|(0x018);//设置M和N值,M=37,N=1

//使能PLL

LPC_SC-PLL0CON=(10);//使能PLL

LPC_SC-PLL0FEED=0xAA;//写入喂狗值

LPC_SC-PLL0FEED=0x55;//写入喂狗值

//锁定PLL

LPC_SC-PLL0CON=(11);//将PLL置于锁定状态

LPC_SC-PLL0FEED=0xAA;//写入喂狗值

LPC_SC-PLL0FEED=0x55;//写入喂狗值

//等待PLL锁定

while(!(LPC_SC-PLL0STAT(125))){

//PLL锁定状态

}

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

LPC_SC-SYSCLKSEL=0x02;//0x02选择PLL输出

}

intmain(void){