微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 如何由51快速转到MSP430的学习过程

如何由51快速转到MSP430的学习过程

时间:11-27 来源:互联网 点击:

MSP430学习资料及教程,<>清华大学出版社和一本关于430C语言编程应用的书本<>。

MSP430系列中硬件源资是非常丰富的。有看门狗(WDT)、定时器A (Timer_A)、定时器B(Timer_B)、比较器、串口0(USARTO)、串口1(USART1)、硬件乘法器、液晶驱动器、10位/12位ADC, 14位ADC,数十个可实现方向设置及中断功能的并行输入输出端口、基本定时器(Basic Timer)。

以下几部分模块硬件资源是作为初学者必须要了解学习的。

①WDT看门狗定时器:新手们会看到很多编程实例中,开头都有“WDTCTL = WDTPW + WDTHOLD;”语句。这是CUP执行关闭定时器的意思。在刚开始,我们没必要关心这个,可以跳过这章节,只要大概地知道他的作用就好了。看门狗定时器一般是用于防止程序失效而存在的,一般是用于完整的程序中使用。主程序中可不断地清除看门狗定时器的计数值,以防定时器的值自动计满后使CPU复位而重新开始工作。当程序发生错误时,无法正常清除看门狗的定时值时,则看门狗定时器计数溢出而产生CPU复位。

②IO模块:对于IO模块可分为初级与提高两阶段,可以不必同一时段内进行理解。

a初学者必需了解几个常用寄存器使用如P1OUT,P1IN,P1DIR,P1SEL寄存器。

b理解MSP430 IO口常用编程语法,这些都可以查看参考例程。

c结合书本介绍和个人理解,然后在开发板上进行实验。例如比如LED、响声之类的初级实验。

d对于IO模块:了解如何使用IO中断,和IO中断相关寄存器的使用。如果不太必要,可以跳过IO中断的使用,而是去学习其他章节的基础部分;当其他章节基础学习到一定程序时回过头再来学习这部分。另外,我们需要搞清楚IO模块在什么时候为高阻状态?高阻状态时的漏电流为多少?IO驱动电流能力如何?等等一些常关注的参数时,我们都需要养成主动查看器件手册的习惯。

中断是430处理器的一大特色,因为几乎每个外围模块都能产生,430可以在没有任务时进入低功耗状态,有事件时中断唤醒cpu,处理完毕再次进入低功耗状态。整个中断的响应过程是这样的,当有中断请求时,如果cpu处于活动状态,先完成当前命令;如果处于低功耗,先退出,将下一条指令的pc值压入堆栈;如果有多个中断请求,先响应优先级高的;执行完后,等待中断请求标志位复位,要注意,单中断源的中断请求标志位自动复位,而多中断的标志位需要软件复位;然后系统总中断允许位SR.GIE复位,相应的中断向量值装入pc,程序从这个地址继续执行。这里要注意,中断允许位SR.GIE和中断嵌套问题。如果当你执行中断程序过程中,希望可以响应更高级别的中断请求时,必须在进入第一个中断时把SR.GIE置位。 其实,其他的外围模块时钟沿着时钟和中断这个核心来执行的。具体的结构我也不罗索了,可以参考430系列手册。

③时钟模块:系统时钟是一个程序运行的指挥官,时序和中断也是整个程序的核心和中轴线。430最多有三个振荡器,DCO内部振荡器;LFXT1外接低频振荡器,常见的32768HZ,不用外接负载电容;也可接高频450KHZ-8M,需接负载电容;XT2接高频450KHZ-8M,加外接电容。初学者若要使用到片中某模块时几乎都要使用不同的时钟。时钟模块是提供整个单片机中各模块的时钟发生源,所以这章节是非常强调地要去认真理解的。

⑴.必须理解430有几种时钟信号:MCLK系统主时钟,可分频1 2 4 8,供cpu使用,其他外围模块在有选择情况下也可使用;SMCLK系统子时钟,供外围模块使用,可选则不同振荡器产生的时钟信号;ACLK辅助时钟,只能由LFXT1产生,供外围模块。

⑵.DCO,SMCLK,MCLK,ACLK各个时钟有什么优点和点。

⑶.4个时钟信号中,每个时钟的通常频率范围是多少。

⑷.常规的时基控制寄存器设置和时钟如何从引脚输出等等。

④TimaA模块:⑴.初学者需要搞清TimerA的三个不同工作模式中TA、CCR1、CCR2与CCR0之间的关系。⑵.搞清楚TA、CCR1、CCR2与CCR0之间的中断向量关系。⑶.综合上面的理解,我们可以结合TimerA的例程来进行相关验证,只有通过亲自的操作才能有效地记住。⑷.利用TimerA实现PWM信号输出、利用捕获/比较功能实现捕获信号等等。

另外多大学习430学习单片机论坛上,和网友交流,咨询,多看别人出现的问题的解决方法。

可以说,只要经过上述方面认真折腾学习的话,其实MSP430单片机编程应用就有了基本入门阶段,可以说已经闯入MSP430单片机有效学习过程,接下要继续学习其他相关的模块应用也不难了。那么剩下的一些模块可以按需而用,按需而学。但前提的就是需要熟悉几个常用模块基础应用,以使用量最多的14x系列为例,初学者入门必学有IO模块、时基模块、

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top