MSP430单片机实验板设计
2013-05-17邬丽娜
邬丽娜
(苏州市职业大学 电子信息工程学院,江苏 苏州 215104)
随着单片机实验板的功能越来越全面,其相应仿真器和配置的价格也节节攀升.考虑经济性和实用性,设计了这款供初学者入门使用的MSP430单片机实验板,可进行多种常见单片机实验,同时还可在其他应用系统中进行一些开发应用.此外,还提供了更为方便、经济的编程接口.本文分析了单片机实验板设计的基本理念以及线路板完整电路,并描述了硬件仿真调试以及运行效果等问题.
1 系统结构
单片机实验板在设计中考虑硬件和软件两个方面.硬件电路的设计包括MSP430最小系统电路、流水灯电路、数码管电路、按键电路、JTAG接口电路等的设计[1].软件调试方面考虑采用IAR公司专为MSP430系列单片机制作的集成开发调试环境IAR Embedded Workbench V5.1.通过该仿真软件来调试电路的C语言程序[2].其系统结构图如图1所示.
图1 系统结构图
2 系统硬件设计
硬件电路的设计包括MSP430最小系统电路、流水灯电路、数码管电路、按键电路、JTAG接口电路等的设计.其硬件电路图如图2所示.
图2 硬件申路图
最小系统电路是由保证处理器可靠工作所必须的基本电路组成,主要包括电源电路、时钟晶振电路、复位电路等组成[3].本实验板在仿真调试时可采用JTAG电路提供的3.3 V电源,而MSP430芯片在不仿真正常工作情况或外接其他电路时可采用此电源电路.本电源电路以220~5 V适配器为输入电压,通过AMS1117线性稳压器,调整AMS1117输入和输出端对地滤波电容,即可实现输出3.3 V电压[4].
MSP430系列单片机时钟模块包括数控振荡器(DCO)、高速晶体振荡器和低速晶体振荡器3个时钟源.这是为了解决系统的快速处理数据要求和低功耗要求的矛盾,通过设计多个时钟源或为时钟设计各种不同工作模式,才能解决某些外围部件实时应用时钟要求[5].在本电路中使用低频模式,即32.768 kHz晶振外接2个22 pF的电容经过XIN和XOUT连接到MCU.在系统中高速晶振采用8 MHz的晶体,并外接2个33 pF的电容经过XIN和XOUT连接到MCU,具体时钟晶振电路如图2所示[6].复位电路采用简单手动复位按钮S1来实现[7].
采用八进制三态非反转锁存器74HC573和330 Ω上拉电阻与8个LED灯构成的流水灯电路,通过MSP430F149的P2口来实现相应的控制.
6位数码管电路的设计在此采用2块三位一体的共阴型数码管和2片74HC573锁存器来组成.其中一片74HC573专门用来控制C1—C6的位码的选择,另一片74HC573则专门用来控制a—dot段码的选择[8].MSP430F149的P4和P5口分别来控制数码管的段码和位码的输出.MSP430F149的P1口来实现4×4的16位矩阵式键盘的设计.
MSP430系列单片机支持先进的JTAG调试,简单的硬件仿真工具只是一个14位的并口转换器,可和USB型全能仿真器配合来完成调试.
综合以上的实验板功能描述,可见其有价格低廉、使用简单方便、具备3.3 V稳压等优势,但还存在如数模转换、液晶模块、无线遥控等功能尚未考虑的缺陷.
3 软件调试
IAR Embedded Workbench V5.1是IAR公司专为MSP430系列单片机制作的集成开发调试环境.打开IAR软件,来实现C语言程序对硬件实验板的控制[9].
流水灯的相关程序设计了2个.程序一在定时器A设定的0.5 s周期中,使P2口的输出每次与1相异或,从而使P2口相连的灯状态每隔0.5 s变换一次.程序二的功能是实现流水灯以3种流动方式和4种流动速度的不同组合而进行点亮,从而实现灯的流动,其效果就如同路边常见的霓虹灯.
6位数码管电路的相关程序也设计了2个.程序一功能是在6位数码管上从左至右依次显示6个数字012345.在此采用看门狗中断服务函数来实现P4、P5口先后输出数码管的段选和位选信号;程序二的功能是在6位数码管上每隔1 s逐次显示数字0—9和字母A—F.
4×1按键电路的相关程序共设计了3个.程序一和程序二效果表面上等同,都是按动K1—K4按键,该键值在数码管C4控制位上显示出来.不同的是:程序一采用扫描方式读取这4个按键的键值,程序二采用P1端口的中断来实现.程序三功能是用中断方式来读取4个独立式按键的K1—K4键值,同时用D1—D4个LED的点亮来指示k1—K4个按键的被按下状态.4×4按键电路的程序只设计了一个.
最终在实验板上运行的部分效果如图3所示.图3(a)是6位数码管上从左至右依次显示6个数字012345.图3(b)是4×4按键电路的程序,效果是按动K16按键,可观察到数码管上会显示对应的“16”的键值.
图3(b)主程序为
图3 运行效果图
此外还考虑了看门狗中断函数、延时子程序、按键检测子程序、键值判断子程序等的编写调试.
4 结论
将MSP430系列单片机实验板引入课程教学,可以使教师在单片机理论教学的同时,进行硬件仿真和调试,使学生消除“抽象感”,激发学生学习的兴趣.还对全面提高工科学生实际动手能力、强化学生工程实践素质、有效培养学生创新意识和综合能力有积极的作用.符合高校培养"应用型、开发型"人才的目标,符合市场的人才需求.
[1]谢楷,赵建. MSP430 系列单片机系统工程设计与实践[M]. 北京:机械工业出版社,2009.
[2]梁源,贾灵. 大学生嵌入式学习实践——基于MSP430 系列[M]. 北京:航空航天大学出版社,2010.
[3]彭伟. 单片机C语言程序设计实训100例[ M]. 北京:电子工业出版社,2011.
[4]赵亮. 单片机从入门到精通系列讲座——单片机最小系统及I/O应用[J]. 电子制作,2008(2):15-17.
[5]杨平,王威. MSP430系列超低功耗单片机及应用[ J]. 国外电子测量技术, 2008(12):48-50.
[6]李彬,王朝阳. 基于MSP430F149的最小系统设计[J]. 应用天地,2009(28):74-75.
[7]邵婷婷,董军堂. KT800综合系统实验板在单片机教学中的应用研究[J]. 延安大学学报:自然科学版,2011,30(3):43-45.
[8]韩勇鹏,崔利峰. 基于MSP430F169的最小系统设计[J]. 山西农业大学学报,2007(6):216-218.
[9]陈忠平. 卓越工程师培养计划:51单片机C语言程序设计经典实例[M]. 北京:电子工业出版社,2012.