如何在keil中快速配置lpc1114主频
扫描二维码
随时随地手机看文章
这里以KEIL 4.60版本为例进行说明,低于此版本,可能不适合现在我所讲的内容。
打开启动代码文件startup_LPC11xx.s,从第122行看起,代码如下所示:
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT SystemInit
IMPORT __main
LDR R0, =SystemInit
BLX R0
LDR R0, =__main
BX R0
ENDP
这是单片机复位以后执行的源头,可以看到,程序并不是先从main函数开始执行,而是先执行SystemInit函数,之后才进入main函数。SystemInit函数即时钟配置函数,此函数已经在KEIL自带的system_LPC11xx.c文件中定义好,打开system_LPC11xx.c文件,翻到此文件的最后面,就可以看见这个函数了。
打开system_LPC11xx.c文件后,在KEIL编辑器状态栏的上面,可以看到两个sheet,第一个是Text Editor,第二个是Configuration Wizard。如下图所示:
用鼠标左键单击Configuration Wizard,在页标签的下面,找到Expand All按钮,单击此按钮,出现如下图所示画面:
从上图中可以看到,在我们面前出现了6个常用时钟配置寄存器,它们分别是:
系统振荡器配置寄存器(SYSOSCCTRL);
看门狗振荡器配置寄存器(WDTOSCCTRL);
系统PLL控制寄存器(SYSPLLCTRL);
系统PLL时钟源选择寄存器(SYSPLLCLKSEL);
主时钟源选择寄存器(MAINCLKSEL);
系统AHB分频寄存器(SYSAHBCLKDIV)。
例如:我们选择IRC作为PLL时钟输入,并用PLL倍频四倍后作为主时钟。
配置步骤为,首先,点击SYSPLLCLKSEL右边的项目,点击下拉菜单,从中选择IRC Oscillator,即把IRC振荡器时钟作为PLL的时钟输入。然后,在SYSPLLCTRL右边的项目中,选择MSEL = 3,PSEL = 2。最后,在MAINCLKSEL的项目中,选择System PLL Clock Out,即把PLL倍频后的时钟作为主时钟源。
(有的童鞋可能对这里的MSEL值有疑惑,那么详见SYSPLLCTRL寄存器定义,M = MSEL + 1)