MSP430单片机学习笔记:从存储器到中断

需积分: 10 1 下载量 113 浏览量 更新于2024-10-31 收藏 49KB DOC 举报
"MSP430学习笔记" MSP430是由TI(Texas Instruments)公司推出的16位超低功耗单片机,适用于各种需要高效能与节能特性的应用,如传感器节点、便携式设备等。本文将探讨MSP430的基本结构、存储器配置、复位机制、时钟系统以及中断处理。 1. 存储器结构: MSP430采用了冯·诺依曼结构,即程序存储器和数据存储器共享同一地址空间。它的内存布局包括: - 0-0xF:特殊功能寄存器(SFRs),用于控制和状态信息。 - 0x10-0x1FF:外围模块寄存器,用于访问各种外设。 - 0x200-?:根据具体型号,地址空间会从低地址向高地址扩展。 - 0x1000-0x107F:seg_b区域,用于存储Flash信息。 - 0x1080-0x10FF:seg_a区域,同样用于Flash信息。 - 剩余部分:根据单片机容量不同,地址从0xFFFF开始向下扩展,例如MSP430F149的Flash大小为60KB,地址范围到0x11002。 2. 复位机制: MSP430有两种复位方式:上电复位(POR)和上电清除(PUC)。POR仅在电源上电或RST/NMI引脚设置为复位状态并检测到低电平时触发。PUC则在POR、看门狗定时器溢出或安全密钥错误时激活。无论哪种复位,CPU都会从0xFFFF地址读取复位中断向量,并从此地址开始执行程序。 3. 时钟系统: MSP430具有三个振荡器:DCO(内部振荡器)、LFXT1(低频外部振荡器)和XT2(高频外部振荡器)。LFXT1通常用于32768Hz的低频应用,而XT2和DCO可以支持更高的频率。MSP430提供三种时钟信号: - MCLK:主时钟,可分频,供CPU和其他模块(在配置允许的情况下)使用。 - SMCLK:子时钟,供外围模块使用,可以选择不同的振荡器源。 - ACLK:辅助时钟,只能由LFXT1产生,专供外围模块使用。 4. 中断系统: MSP430的中断功能强大,几乎每个外围模块都能生成中断请求。中断处理流程大致如下: - 当发生中断请求时,如果CPU处于活动状态,会立即停止当前指令的执行。 - CPU保存当前状态(如寄存器值),然后跳转到中断向量表中的相应地址。 - 在中断服务例程中,CPU处理中断事件。 - 完成处理后,CPU恢复先前保存的状态,并返回到中断前的指令地址,继续执行程序。 - 如果CPU在低功耗模式下,中断可以唤醒CPU,执行完处理后再回到低功耗状态。 通过这些基础知识,你可以更好地理解和使用MSP430单片机,进行高效的嵌入式系统设计。在实际应用中,还需要深入研究各个外围模块的特性和编程接口,以充分发挥MSP430的潜能。