如何在keil中快速配置lpc1114主頻
這里以KEIL 4.60版本為例進(jìn)行說(shuō)明,低于此版本,可能不適合現(xiàn)在我所講的內(nèi)容。
打開(kāi)啟動(dòng)代碼文件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
這是單片機(jī)復(fù)位以后執(zhí)行的源頭,可以看到,程序并不是先從main函數(shù)開(kāi)始執(zhí)行,而是先執(zhí)行SystemInit函數(shù),之后才進(jìn)入main函數(shù)。SystemInit函數(shù)即時(shí)鐘配置函數(shù),此函數(shù)已經(jīng)在KEIL自帶的system_LPC11xx.c文件中定義好,打開(kāi)system_LPC11xx.c文件,翻到此文件的最后面,就可以看見(jiàn)這個(gè)函數(shù)了。
打開(kāi)system_LPC11xx.c文件后,在KEIL編輯器狀態(tài)欄的上面,可以看到兩個(gè)sheet,第一個(gè)是Text Editor,第二個(gè)是Configuration Wizard。如下圖所示:
用鼠標(biāo)左鍵單擊Configuration Wizard,在頁(yè)標(biāo)簽的下面,找到Expand All按鈕,單擊此按鈕,出現(xiàn)如下圖所示畫(huà)面:
從上圖中可以看到,在我們面前出現(xiàn)了6個(gè)常用時(shí)鐘配置寄存器,它們分別是:
系統(tǒng)振蕩器配置寄存器(SYSOSCCTRL);
看門狗振蕩器配置寄存器(WDTOSCCTRL);
系統(tǒng)PLL控制寄存器(SYSPLLCTRL);
系統(tǒng)PLL時(shí)鐘源選擇寄存器(SYSPLLCLKSEL);
主時(shí)鐘源選擇寄存器(MAINCLKSEL);
系統(tǒng)AHB分頻寄存器(SYSAHBCLKDIV)。
例如:我們選擇IRC作為PLL時(shí)鐘輸入,并用PLL倍頻四倍后作為主時(shí)鐘。
配置步驟為,首先,點(diǎn)擊SYSPLLCLKSEL右邊的項(xiàng)目,點(diǎn)擊下拉菜單,從中選擇IRC Oscillator,即把IRC振蕩器時(shí)鐘作為PLL的時(shí)鐘輸入。然后,在SYSPLLCTRL右邊的項(xiàng)目中,選擇MSEL = 3,PSEL = 2。最后,在MAINCLKSEL的項(xiàng)目中,選擇System PLL Clock Out,即把PLL倍頻后的時(shí)鐘作為主時(shí)鐘源。
(有的童鞋可能對(duì)這里的MSEL值有疑惑,那么詳見(jiàn)SYSPLLCTRL寄存器定義,M = MSEL + 1)