PAGE1
PAGE1
系统控制与配置寄存器
系统控制与配置寄存器(SystemControlandConfigurationRegisters)是LPC1100系列单片机中的一个关键部分,它们用于控制和配置系统的各种功能和参数。通过这些寄存器,开发者可以对单片机的时钟、复位、电源管理、中断控制等进行精细的控制。本节将详细介绍这些寄存器的功能、用途以及如何通过编程进行配置。
1.系统控制寄存器(SystemControlRegister)
系统控制寄存器(SYSCON)提供了一系列的寄存器,用于控制单片机的时钟、电源管理、复位和中断等功能。这些寄存器通常位于单片机的内存映射区域,可以通过内存地址直接访问。
1.1时钟控制寄存器(ClockControlRegister)
时钟控制寄存器(CLKCTRL)用于配置单片机的主时钟源和分频器。通过这些寄存器,可以设置系统时钟的速度,选择不同的时钟源,如内部振荡器、外部晶振或PLL等。
1.1.1主时钟源选择寄存器(MAINCLKSEL)
主时钟源选择寄存器(MAINCLKSEL)用于选择主时钟源。寄存器的位定义如下:
位|名称|描述|
|—|—|—|
[1:0]|SEL|选择主时钟源|
0|选择内部振荡器|
1|选择外部晶振|
2|选择PLL输出|
3|保留|
示例代码:
//选择外部晶振作为主时钟源
voidselect_ext_osc_as_main_clk(void){
//设置MAINCLKSEL寄存器
LPC_SYSCON-MAINCLKSEL=1;//选择外部晶振
}
1.2电源管理寄存器(PowerManagementRegister)
电源管理寄存器(PDRUNCFG)用于控制单片机的电源管理功能,包括各个外设的电源控制和省电模式的配置。
1.2.1外设电源控制寄存器(PDRUNCFG)
外设电源控制寄存器(PDRUNCFG)用于控制各个外设的电源状态。寄存器的位定义如下:
位|名称|描述|
|—|—|—|
[7:0]|PD|外设电源控制位|
0|保留|
1|保留|
2|保留|
3|保留|
4|保留|
5|保留|
6|保留|
7|保留|
8|USB_REG|USB电源控制|
9|ADC_PD|ADC电源控制|
10|DAC_PD|DAC电源控制|
11|I2C0_PD|I2C0电源控制|
12|I2C1_PD|I2C1电源控制|
13|UART0_PD|UART0电源控制|
14|UART1_PD|UART1电源控制|
15|SPI0_PD|SPI0电源控制|
16|SPI1_PD|SPI1电源控制|
17|I2S_PD|I2S电源控制|
18|CRC_PD|CRC电源控制|
19|WWDT_PD|WWDT电源控制|
20|Reserved|保留|
21|Reserved|保留|
22|Reserved|保留|
23|Reserved|保留|
24|Reserved|保留|
25|Reserved|保留|
26|Reserved|保留|
27|Reserved|保留|
28|Reserved|保留|
29|Reserved|保留|
30|Reserved|保留|
31|Reserved|保留|
示例代码:
//关闭UART0的电源
voidpower_down_uart0(void){
//设置PDRUNCFG寄存器
LPC_SYSCON-PDRUNCFG|=(113);//设置UART0_PD位为1
}
//打开UART0的电源
voidpower_up_uart0(void){
//清除PDRUNCFG寄存器
LPC_SYSCON-PDRUNCFG=~(113);//清除UART0_PD位
}
1.3复位控制寄存器(ResetControlRegister)
复位控制寄存器(RSTCTRL)用于控制单片机的复位功能,包括系统复位和外设复位。
1.3.1系统复位控制寄存器(SYSRSTCTL)
系统复位控制寄存器(SYSRSTCTL)用于配置系统的复位源。寄存器