ARM7 LPC22xx寄存器配置详解

需积分: 3 2 下载量 162 浏览量 更新于2024-09-19 收藏 8KB TXT 举报
本文主要介绍了基于ARM7架构的LPC22xx系列微控制器的寄存器基础知识,包括内存映射、I/O端口配置以及系统时钟频率的设定。 在ARM7的LPC22xx系列微控制器中,内存映射(MEMMAP)寄存器是一个关键设置,用于决定处理器的寻址空间如何分配。MEMMAP的值决定了系统是启动于Boot Block、Flash、RAM还是EEPROM模式。当MEMMAP设为0x00时,系统处于Boot模式,访问Boot Block区域;设为0x01时,访问Flash存储;设为0x10则访问内部RAM;而设为0x11则访问EEPROM(仅限LPC22xx)。选择正确的内存映射模式对于程序的正确执行至关重要。 在I/O端口管理方面,LPC2148具有32位的I/O端口,如PORT0和PORT1。PINSEL0、PINSEL1和PINSEL2寄存器用于配置端口功能,每2位控制一个端口引脚,确定其是作为通用输入/输出(GPIO)还是特定外设接口。例如,PINSEL0和PINSEL1分别控制PORT0的低16位和高16位,而PINSEL2则配置PORT1的低16位。IO0SET和IO1SET、IO0CLR和IO1CLR、IO0DIR和IO1DIR以及IO0PIN和IO1PIN这些寄存器则用于控制和读取PORT0和PORT1各引脚的状态,包括设置输出电平、清除输出电平、设定方向以及读取当前输入值。 系统时钟频率的设定涉及到微控制器的性能和功耗。Fosc表示外部晶体振荡器的频率,Fcclk是系统时钟频率,由Fosc和内部倍频器M的值决定。Fcclksystemclock = M * Foscint。通过PLL(锁相环)可以进一步调整系统时钟,达到更高的工作频率。PLLCON寄存器控制PLL的启用和连接状态,而PLLCFG寄存器用于设置倍频器M和预分频器P的值。PLLFEED寄存器用于确认PLL配置的写入操作。PLLSTAT寄存器显示PLL当前的状态,其中的低5位反映了PLLCFG的配置状态。 理解和熟练掌握这些寄存器对于开发基于ARM7的LPC22xx应用至关重要,它们是实现硬件功能控制、系统时钟管理以及I/O交互的基础。通过精确配置这些寄存器,开发者可以优化系统的性能,确保代码的高效运行。