如何在keil中快速配置lpc1114主頻
這里以KEIL 4.60版本為例進(jìn)行說明,低于此版本,可能不適合現(xiàn)在我所講的內(nèi)容。
打開啟動代碼文件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ù)開始執(zhí)行,而是先執(zhí)行SystemInit函數(shù),之后才進(jìn)入main函數(shù)。SystemInit函數(shù)即時鐘配置函數(shù),此函數(shù)已經(jīng)在KEIL自帶的system_LPC11xx.c文件中定義好,打開system_LPC11xx.c文件,翻到此文件的最后面,就可以看見這個函數(shù)了。
打開system_LPC11xx.c文件后,在KEIL編輯器狀態(tài)欄的上面,可以看到兩個sheet,第一個是Text Editor,第二個是Configuration Wizard。如下圖所示:
用鼠標(biāo)左鍵單擊Configuration Wizard,在頁標(biāo)簽的下面,找到Expand All按鈕,單擊此按鈕,出現(xiàn)如下圖所示畫面:
從上圖中可以看到,在我們面前出現(xiàn)了6個常用時鐘配置寄存器,它們分別是:
系統(tǒng)振蕩器配置寄存器(SYSOSCCTRL);
看門狗振蕩器配置寄存器(WDTOSCCTRL);
系統(tǒng)PLL控制寄存器(SYSPLLCTRL);
系統(tǒng)PLL時鐘源選擇寄存器(SYSPLLCLKSEL);
主時鐘源選擇寄存器(MAINCLKSEL);
系統(tǒng)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)