【LPC1752寄存器】是嵌入式微控制器LPC1752中的关键组成部分,它们是芯片内部进行数据处理、中断管理、系统控制等操作的基础。了解和掌握这些寄存器的使用对于开发基于LPC17XX系列的嵌入式系统至关重要。
1. **应用程序中断及复位控制寄存器 (AIRCR)**:地址为0XE000ED0C。该寄存器用于控制系统的中断和复位行为,包括以下几个关键字段:
- **VECTKEY**:写入此字段时,必须填入0x5FA以确认对寄存器的修改,否则写操作将被忽略。
- **ENDIANESS**:确定数据的字节顺序,1表示大端模式(高位字节在前),0表示小端模式(低位字节在前)。
- **PRIGROUP**:用于设置中断优先级分组,决定抢占式优先级和子优先级的分配方式。
- **SYSRESETREQ**:写入1会触发系统复位信号,但不复位调试元件。
- **VECTCLRACTIVE**:清除有效向量位,写入1会清除所有NMI、故障和中断的状态信息。
- **VECTRESET**:系统复位位,写入1会触发系统复位,除了调试元件。
2. **LR异常返回值**:在Cortex-M3处理器中,LR寄存器包含EXC_RETURN字段,用于控制异常返回时的模式、堆栈和处理器状态:
- **处理模式**:决定了返回后进入的模式,0为Handler模式,1为线程模式。
- **堆栈标志位**:0使用主堆栈(MSP),1使用进程堆栈(PSP)。
- **处理器状态位**:0返回ARM状态,1返回Thumb状态。
3. **复位源标识寄存器 (RSID)**:地址0x400FC180,记录了系统复位的原因:
- **POR**:上电复位标志,当电源电压超过阈值时置位。
- **EXTRRESET**:外部复位标志,外部复位信号有效时置位。
- **WDTR**:看门狗定时器溢出时置位,可由其他复位源清除。
- **BODR**:掉电检测复位标志,电压低于阈值时置位。
4. **系统控制和状态寄存器 (SCS)**:地址0x400FC1A0,用于系统时钟和状态监控:
- **OSCRANGE**:选择主振荡器的频率范围。
- **OSCEN**:控制主振荡器的启用,1为启用,0为禁用。
- **OSCSTAT**:显示主振荡器的稳定性,1表示稳定,可用于时钟源。
这些寄存器的设置和操作对于微控制器的性能和功能有着直接影响,例如中断优先级的设定可以优化中断响应,而系统控制寄存器则决定了系统时钟的来源和稳定性,这些都是在设计和调试嵌入式系统时需要重点关注的方面。在使用LPC1752时,理解并正确配置这些寄存器是确保系统正常运行的关键步骤。