值得注意的几点:
1.复位信号是MCU工作的起点,430的复位信号有两种:上电复位信号POR和上电清除信号PUC。POR信号只在上电和RST/NMI复位管脚被设置为复位功能,且低电平时系统复位。而PUC信号是POR信号产生,以及其他如看门狗定时溢出、安全键值出现错误是产生。但是,无论那种信号触发的复位,都会使msp430在地址0xffff处读取复位中断向量,然后程序从中断向量所指的地址开始执行。
2.系统时钟是一个程序运行的指挥官,时序和中断也是整个程序的核心和中轴线。430最多有三个振荡器,DCO内部振荡器;LFXT1外接低频振荡器,常见的32768HZ,不用外接负载电容;也可接高频450KHZ- 8M,需接负载电容;XT2接高频450KHZ-8M,加外接电容。(经验中发现,接XT2时,需要注意自己开启XT2,并延时50us等待XT2起振,然后手工清除IFG1中的OFIFG位,其操作顺序为:打开XT2->等待XT2稳定->切换系统时钟为XT2)
430有三种时钟信号:MCLK系统主时钟,可分频1 2 4 8,供cpu使用,其他外围模块在有选择情况下也可使用;SMCLK系统子时钟,供外围模块使用,可选则不同振荡器产生的时钟信号;ACLK辅助时钟,只能由LFXT1产生,供外围模块。
3.中断是430处理器的一大特色,因为几乎每个外围模块都能产生,430可以在没有任务时进入低功耗状态,有事件时中断唤醒cpu,处理完毕再次进入低功耗状态。
整个中断的响应过程是这样的,当有中断请求时,如果cpu处于活动状态,先完成当前命令;如果处于低功耗,先退出,将下一条指令的pc值压入堆栈;如果有多个中断请求,先响应优先级高的;执行完后,等待中断请求标志位复位,要注意,单中断源的中断请求标志位自动复位,而多中断的标志位需要软件复位;然后系统总中断允许位SR.GIE复位,相应的中断向量值装入pc,程序从这个地址继续执行。
这里要注意,中断允许位SR.GIE和中断嵌套问题。如果当你执行中断程序过程中,希望可以响应更高级别的中断请求时,必须在进入第一个中断时把SR.GIE置位。
引用地址:
MSP430入门:硬件初步
推荐阅读最新更新时间:2024-03-16 14:39
MSP430F249GPIO控制入门
#include MSP430x24x.h void main(void) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; //关狗 P4DIR = BIT0|BIT1|BIT2|BIT3; //设置为输出 P4SEL = 0; while(1) { volatile unsigned int i; P4OUT ^= 0x0F; //电平翻转 i = 50000; // Dela
[单片机]
MSP430入门---总算读懂例程中的用调节DCO频率
//****************************************************************************** // MSP-FET430P140 Demo - Basic Clock, Implement Auto RSEL SW FLL // // Description: Set DCO clock to (Delta)*(4096) using software FLL. DCO clock // is output on P5.5 as SMCLK. DCO clock, which is the selected SMCLK source // for timer_A
[单片机]