感觉身边使用MSP430的客户特别多,网上资料多,参考书籍也很多,便开始评价MSP430系列MCU。
看到网上开发工具很多,也有免费申请的,便申请了一套学习板。开始学习使用,下载示例代码,修改测试,享受开发的乐趣。
从硬件结构上比较,51单片机和MSP430单片机都采用冯·诺依曼结构,而PIC单片机则采用哈佛结构。这两种结构各有优点,很难说出谁好谁坏。
MSP430单片机同样也有MSPX1XX、MSPX2XX、MSPX3XX、MSPX4XX等系列,且每一系列可选型号也很多。从低功耗方面比较,51 的可选型号几乎没有,PIC单片机是低功耗的最低功耗也达个位数uA级,但MSP430单片机则是超低功耗的,最低功耗可达到0.6uA。需要说明一点玻璃钢格栅的是,在执行了休眠指令后,PIC单片机每次唤醒都需要复位一次,所以在超低功耗方面MSP430单片机表现要好点。
当然MSP430单片机也有它的缺点,在我使用过程中,最大的不便就是位操作。
MSP430“系”出名门,作为一种16位混合信号处理器,其独到之处在于它的超低功耗,又由于其集成了硬件乘法器,信号处理能力比起8位机大大增强,在低功耗市场应用越来越多。尤其在中国,由于有利尔达信息技术公司的全力推广,应用范围更是越来越广,大有统治低功耗市场的架式。跳舞的人多了,本人就耐不住寂寞也想热闹一把。近来做的一个项目用了MSP430,顺便记下、抄下了一些笔记,在此与大家分享一下吧,虽然都很低级,但对于入门来说,不能说没有益处。我一向认为入门最重要,入了门想深入就靠自己造化,但是入不了门或者入错门,纵然你有万千智商也无用武之地。
1.MSP430系列并不是都有FLL、FLL+的,象X14X系列就没有。学习时要对此有个认识,如果有FLL则内部频率就比较稳定可以使用。对于14X系列DCO频率是不稳定的,误差大,所以最好是使用外部晶体
2.MSP430的端口命名从P0---P6,但不是每个器件都有这几个端口,有的器件只有P0--P4,有的只有P1--P6(msp430f147等)。P0口没有功能选择寄存器,这点要注意。
3.timer_A 的捕获/比较引脚和P1,注意是P1,复用,而P1有一个P1SELx的功能选择寄存器,用来选择其作为I/O还是作为timer_A使用
4. XT1、XT2、DCO都可以作为ACLK、 MCLK、 SCLK的时钟源,具体用哪一个可以从寄存器设置。当然你可以ACLK用XT1,MCLK用XT2,SCLK用DCO产生;也可以ACLK、MCLK都用 XT2,或者都用DCO产生也未尝不可,想怎么设置时钟都行,想到那儿就可以做到那儿呵呵
关于DCO分频控制的介绍:运用MOD参数进行调制,调制的具体含义为在32个DCO周期中插入频率为DCO+1的时钟信号,而插入的个数由MOD参数决定,其余为DCO信号,举例如下:
DCOCTL值为7AH时,DCO频率计算公式 (748×6+825×26)/32=811,748是DCO频率,825是DCO+1频率!!!!
这个算法是我的理解不知对否,还请高手指点。
5.Timer A当用作连续增计数模式时每个CCRx都可以产生中断,CCR0也没有什么特殊之处,这种方法用来产生多个定时的场合。
6. 430的RAM是个有趣的地方,它的存储一般从0200开始,字节存储没有特别的地方,而字存储就只能从偶地址开始,这点要特别注意,当进行类型变换时必须防止重要数据被覆盖。
7.我的总体感觉是搞清楚了430的时钟系统及其捕获比较的应用,基本就算入门了,其他方面无非就是寄存器设置还有技巧性的应用了,这方面只要做项目就会找到好的办法 |