静下心来教书,潜下心来育人,专注电子入门技术,打造电子入门教学启蒙网,提供一站式服务!--刘昆山
科教电子制作
下载中心
电阻
电容
二极管
三极管
集成电路
电工基础
模拟电路
数字电路
高频电路
电子制作工具
芯片资料
电子实验
教学问答
PCB设计
PLC教程
家用电器
电子工艺
电视技术
书籍推荐
电子英语
电子视频教程
教育心理学
教学论文
教研论文
教学理论
教学管理
评语大全
职业教育
教育政策
名家思想
人际关系学
科教电子制作
您的位置网站首页>>经验杂谈>>《教师吧》讲堂:MSP430学习体会及新手建议
责任编辑:刘昆山

  燕山大学 研究生学院_电气工程学院
  我是21ic的常客,几天前看到网站倡导大家分享和TI的校园经历,在此我作为一个新手,分享下我对TI产品MSP430F413的一些见解,主要是关于I/O口应用方面,和论坛喜欢MSP430的网友相互学习。
  以前接触最多的MCU是51,这也是全中国学生学习单片机的启蒙老师,可以说本科时期对51的应用得心应手。今年小弟读研,研究方向是医疗电子仪器,在上课的时候金教授一直在讲授的是MSP430,我当时一头雾水,当时的不懂更加激发了我的求知欲望,再加上我相信金教授的眼光,他的很多设计都是基于MSP430的,因此在他的鼓励下我下定决心一定要要把MSP430搞明白。正好他的实验室是TI的联合实验室,趁着这个有利条件我申请了MSP430的开发板,由此进入了MSP430的内心世界,我真的很感激老师给我们提供的实验条件,感谢TI联合实验室。
  我拿着老师给的开发板爱不释手,虽然有了以前学习51的基础,但对这个16位的单片机还是怀着一种神圣的心情,我想这也是热爱单片机开发人员的心境。根据以往的经验学习单片机要从其功能寄存器入手,在现在看来我的想法是正确的。我去图书馆借了一本沈建华的关于MSP430原理的书,这本书是TI大学计划的教材很经典,按照书上的介绍,渐渐进入MSP430的内心世界。下面是我的一些体会:
  首先,我们要对MSP430总体有个了解,就拿MSP430F413这个名称来说我们就能得到很多信息:‘MSP’是混合信号处理器的意思,‘F’代表是FLASH型存储器,‘41’代表41系列,‘3’说明内部ROM是8KB的。为什么说是混合信号处理器呢?我们要从其时钟模块入手,其时钟的丰富性是其他单片机无法比拟的,它有3个时钟源分别是低频时钟源(LFXTICLK)、高频时钟源(XT2CLK)(注:MSP430F413没有高频时钟源其型号有无参考具体资料)、数控时钟源(DCOCLK),三个时钟源产生了单片机需要的4个时钟信号:辅助时钟(ACLK)、系统主时钟(MCLK)、子系统时钟(SMCLK)和供外部电路使用的由P1.5输出的ACLK/n。这些时钟信号为单片机的低功耗、系统运行和外围扩展提供了强大的支持,由此可见其强大性。时钟的控制以及是否分频可有其时钟模块的功能寄存器控制。这里只起到抛砖引玉的作用其他的模块例如看门狗模块、基本定时器模块、定时器A模块、比较器A模块、LCD模块和6个I/O模块均可按照此方法学习,只要感兴趣,肯钻研我们一定能把它学好。
  其次,我们入手时一般要先拿I/O口来做实验,在做/O口实验时要注意P1和P2不仅可以做普通I/O口还可做为中断来用,其他的4个I/O模块只作为普通输入输出口。这里面要用到几个重要的功能寄存器PXDIR、PXOUT、PXIN、PXIFG、PXIES、PXIE和PXSEL,其中PXIFG、PXIES和PXIE为P1和P2特有。编写程序时要考虑这几个寄存器的上电状态,是否上电清零和上电保持原来状态不变,这样编写程序时才会得心应手。下面就是小弟做的一个I/O口控制数码管的实验,其中用到连接芯片MAX7219,以供参考。
数码管显示“21-430”:


#include<msp430f413.h>
/*7219控制寄存器地址宏定义*/
#define Decode_mode 0x09 //译码模式控制寄存器
#define Intensity 0x0A //亮度控制寄存器
#define Scan_limit 0x0B //扫描控制寄存器
#define Shut_down 0x0C //掉电模式寄存器
#define Display_test 0x0F //显示检测控制寄存器
/*IO 配 置 */
#define DIN_0 P2OUT&=~BIT0
#define DIN_1 P2OUT|=BIT0
#define CLK_0 P2OUT&=~BIT1
#define CLK_1 P2OUT|=BIT1
#define LOAD_0 P2OUT&=~BIT2
#define LOAD_1 P2OUT|=BIT2
/*写7219 子函数*/
void Write_7219(unsigned char add,unsigned char dat)
{
unsigned char i,j;
LOAD_0;
for(i=0;i<8;i++)
{
CLK_0;
if(add&0x80)
DIN_1;
else
DIN_0;
add<<=1;
CLK_1;
}
for(j=0;j<8;j++)
{
CLK_0;
if(dat&0x80)
DIN_1;
else
DIN_0;
dat<<=1;
CLK_1;
}

LOAD_1;
i=0;j=0;
}
/*控制寄存器初始化*/
void Init(void)
{
Write_7219(Shut_down,0x01);//开启正常工作模式
Write_7219(Display_test,0x00);//选择工作模式
Write_7219(Decode_mode,0xff);//选用全译码模式
Write_7219(Scan_limit,0x07);//8个数码管都用
Write_7219(Intensity,0x04);//初始亮度
}
void Clear_7219(void)
{
unsigned char k;
for(k=1;k<9;k++)
{
Write_7219(k,0x7f);
}
}
void main(void)
{
WDTCTL=WDTPW+WDTHOLD; //关闭看门狗
P2DIR|=0x07;
Init();
Clear_7219();
while(1)
{
Write_7219(6,2);
Write_7219(5,1);
Write_7219(4,10);
Write_7219(3,4);
Write_7219(2,3);
Write_7219(1,0);

}
}

实验结果图片:

  以上就是我的一点感悟,对于初学者也是一种帮助,作为一个初学者,我只希望更多的人都能热爱这款单片机,特别是在在便携仪器这块,以为它的低功耗特性是很多单片机所无法比拟的。另外介绍下实验平台:

1.MSP430最小系统板
2.编译环境IAR Embedded Workbench 5.30.1
3.ISP下载软件SF_BSL430

  另外附加基本学习MSP430不可少的书籍:
1.MSP430X41X用户指南

2.张晞编著的《MSP430系列单片机实用C语言程序设计》

上一页: 《教师吧》讲堂:我的大学都是和430一起度过
下 一页:
《教师吧》讲堂:清华大学校长留给电子系毕业生的一段话
邮购指南 教师吧淘宝店关于站长关于教师吧免责声明常见问题招聘人才友情链接给我留言
《教师吧》是一家帮助电子初学者快速入门电子技术的公益性教学网站,专门提供电子技术和单片机技术等入门型学习视频教程和电子制作套件。
我们主张电子初学者采用万能板焊接电子制作产品,因为这种“边学边做”的自学模式,不仅能锻炼焊接技术,还能提高识别电路图和分析原理图的能力。
辅以电子视频教程同步学习,必将为日后维修、设计电子产品打下坚实的基础,帮助您快速跨越电子入门者到电子工程师的门槛。
本站已经获得国家部门认证 国家ICP备案序号: 赣ICP备06004613号 本站业务客服QQ:56943772 E-mail:56943772@qq.com
电子爱好者群(1):66585281电子爱好者群(2):197874883电子爱好者群(3):29019650 电子爱好者群(4):14454755
版权归刘昆山所有©2005-2025 转载须经本人同意,否则后果自负!本站网址:http://www.jiaoshi8.com
站长:刘昆山 手机:13217080719(刘昆山)副站长:刘星慧  13755545457(刘星慧
欢迎您为本站提供资料,本站资料有的来自网络,如有版权争议,请通知本人,本人将删除之!