作为想学MSP430单片机的初学者,或者,你是刚转到电子硬件嵌入式开发,如果你的电子基础课程已经完成,想尽快掌握MSP430单片机,又纠结于怎样尽快闯入MSP430学习过程的问题,现总结整理出新手开始学习MSP430的一些问题,和学习中有关注意事项和方法。 供有心学习MSP430单片机的童鞋参考吧。
当然,闯入MSP430学习,你需要有一些单片机的理论基础,和比较强的C语言功底,学习MSP430单片机最好的方法是文武并进:“文”指学好片内模块的资源知识;“武”则指动手能能力。基础知识+动手实操,是一个非常有效的学习方法。文武并进必能学有所成。
进入各个电子产品公司的网站,招聘里面嵌入式占据了大半工程师职位。 广义的嵌入式无非几种:传统的什么51单片机、 MSP430称做嵌入式微控制器;ARM是嵌入式微处理器;当然还有DSP;FPGA。我们现在就不说别的,就说MSP430单片机,多数想学MSP430的童鞋,对89C51内核系列的单片机是很熟悉的,为了加深对MSP430 系列单片机的认识吗,迅速闯入MSP430学习过程,就必须彻底了解MSP430单片机,我们不妨将51单片机和MSP430两者进行一下比较。
第一点, 51内核单片机是8 位单片机。其指令是采用的被称为“ CISC ”的复杂指令集,共具有111 条指令。而MSP430 单片机是16 位的单片机,采用了精简指令集( RISC )结构,只有简洁的27 条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据存储器都可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快。
第二点,MCU主要分为两种工作模式:待机与执行。51内核单片机正常情况下消耗的电流为mA级 ,在掉电状态下,其耗电电流仍约为3mA左右 ;即使在掉电方式下,电源电压可以下降到2V ,但是为了保存内部RAM 中的数据,还需要提供约50uA的电流。
而430单片机功耗是在uA级的,工作电流极小,并且超低功耗,关断状态下的电流仅为0.1μA,待机电流为0.8μA,常规模式下的(250μA/1MIPS@3V),端口漏电流不足50 nA,并可零功耗掉电复位(BOR)。另外,该芯片属低电器件,仅需1.8~3.6V电压供电,因而可有效降低系统功耗。MSP430将低功耗模式扩展为7种,分别对应不同应用场合及任务的低功耗方式。以睡眠模式为例,包括深度睡眠模式RTC:只有时钟在跑而其他都不动,目前,TI宣布其MSP430在RTC模式下最低功耗仅为360nA。同时也包括诸如液晶显示驱动等需要几十毫秒刷新一次的间歇性睡眠模式。所以,MSP430 的超低功耗更适合应用于使用电池供电的仪器、仪表类产品中。
第三点, 51内核单片机由于其内部总线是8 位的,受其结构本身的限制很大,模拟功能控制功能受限制。MSP430 系列其基本架构是16 位的,同时在其内部的数据总线经过转换还存在8 位的总线,在加上本身就是混合型的结构,因而对它这样的开放型的架构来说,无论扩展8 位的功能模块,还是16 位的功能模块,即使扩展模/ 数转换或数/ 模转换这类的功能模块也是很方便的。
第四点,典型MCU的存储结构有两种,冯。诺依曼结构——程序存储器和数据存储器统一编码;哈佛结构——程序存储器和数据存储器;MSP430系列单片机属于前者,而常用的51内核单片机系列属于后者。
第五点,就是在开发工具上面。对51内核 单片机来说,不少适合我们使用的开发工具。但是如何实现在线编程还是一个很大的问题。对于MSP430 系列而言,由于引进了Flash 型程序存储器和JTAG 技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程。
那么说了以上这些,作为新手,到底怎么学习430这种16位低功耗的单片机呢?或者说有什么有什么效果比较好的方法吗,答案是肯定。
网上有很多介绍MSP430单片机学习的方法,一定要结合自己的学习特点,集百家之长,善于总结别人的、自己的学习方法和效果,积极实践。当然学习的方法都是相通的。大概对这些方法简单总结,也就是下面几点:
②IO模块:对于IO模块可分为初级与提高两阶段,可以不必同一时段内进行理解。
a初学者必需了解几个常用寄存器使用如P1OUT,P1IN,P1DIR,P1SEL寄存器。
b理解MSP430 IO口常用编程语法,这些都可以查看参考例程。
c结合书本介绍和个人理解,然后在开发板上进行实验。例如比如LED、响声之类的 初级实验。
d对于IO模块:了解如何使用IO中断,和IO中断相关寄存器的使用。如果不太必要,可以跳过IO中断的使用,而是去学习其他章节的基础部分;当其他章节基础学习到一定程序时回过头再来学习这部分。另外,我们需要搞清楚IO模块在什么时候为高阻状态?高阻状态时的漏电流为多少?IO驱动电流能力如何?等等一些常关注的参数时,我们都需要养成主动查看器件手册的习惯。
⑵.DCO,SMCLK,MCLK,ACLK各个时钟有什么优点和点。
⑶.4个时钟信号中,每个时钟的通常频率范围是多少。
⑷.常规的时基控制寄存器设置和时钟如何从引脚输出等等。
④TimaA模块:⑴.初学者需要搞清TimerA的三个不同工作模式中TA、CCR1、CCR2与CCR0之间的关系。⑵.搞清楚TA、CCR1、CCR2与CCR0之间的中断向量关系。⑶.综合上面的理解,我们可以结合TimerA的例程来进行相关验证,只有通过亲自的操作才能有效地记住。⑷.利用TimerA实现PWM信号输出、利用捕获/比较功能实现捕获信号等等。
可以说,只要经过上述方面认真折腾学习的话,其实MSP430单片机编程应用就有了基本入门阶段,可以说已经闯入MSP430单片机有效学习过程,接下要继续学习其他相关的模块应用也不难了。那么剩下的一些模块可以按需而用,按需而学。 但前提的就是需要熟悉几个常用模块基础应用,以使用量最多的14x系列为例,初学者入门必学有IO模块、时基模块、定时器模块等,以后可继续强化学习如ADC12模数转换、UART串行异步通讯模块、比较器A模块等等。
用户987110 2015-1-25 10:00
用户427466 2014-7-15 22:00
用户795862 2014-7-9 12:53
用户427466 2013-12-14 15:16
用户439399 2013-12-14 13:27
用户1605818 2013-12-11 09:22
用户441184 2013-12-5 22:37
用户1619789 2013-12-5 20:52
用户116683 2013-12-5 15:39
用户377235 2013-12-5 15:00