1MSP430G2系列Launchpad开发板应用实例作品基于MSP430G2211实现的家用窗帘自动开关控制器朱晓香德州仪器半导体技术上海(有限)公司西安电子科技大学MSP430单片机联合实验室2011年12月2目录第一章作品概述....................................................................................1第一节作品功能和单片机介绍...........................................................................................1第二节设计方案...................................................................................................................1第二章硬件系统设计............................................................................3第一节MSP430G2系列Launchpad开发板介绍...............................................................3第二节传感器介绍...............................................................................................................4第三节各单元电路的介绍...................................................................................................5第四节系统原理图及元器件清单.......................................................................................7第五节PCB板设计注意事项..............................................................................................9第六节硬件安装调试注意事项及方法.............................................................................10第三章软件系统设计..........................................................................12第一节程序总体状态转移图.............................................................................................12第二节子程序API介绍......................................................................................................12第三节软件程序的调试方法.............................................................................................15第四章总结与思考..............................................................................161第一章作品概述第一节作品功能和单片机介绍该作品的主要功能是:当外界光照度高于某一参考值时窗帘自动打开,低于该参考值是窗帘自动关闭。用线程的方法来控制电机的停转,即在窗帘的顶部和底部分别安装一个微动开关S1和S2,当窗帘正转到顶部时,碰触微动开关S1,在按键被按下时,在单片机P1.6口产生一个下降沿中断,在中断内单片机向P1.2和P1.3口输出低电平,则电机停止转动;当窗帘反转到底部时,碰触微动开关S2,在按键被按下时,在单片机P1.4口产生一个下降沿中断,在中断内单片机向P1.2和P1.3口输出低电平电机停止转动。所选用的芯片型号是TI公司的MSP430G2211。本作品选用MSP430G2211单片机,该单片机超低功耗,具有5种节电模式,1us内便可从待机模式唤醒,并具有一个强大的16位RISCCPU、16位寄存器和常数发生器,有助于最大限度的发挥代码效率。此单片机还具有丰富的时钟源,包括LF、OSC和VLO。它可通过串行口系统编程,无需外部编程电压,具有可编程的保密熔丝代码保护,它具有Spy-Bi-Wire仿真逻辑接口。另外它还有10位IO口、8个比较器通道和16位的Timer_A定时器,带2路捕获和比较寄存器。此单片机的IO口和Timer_A定时器都具有强大的中断能力。第二节设计方案图1.1系统组成结构框图光敏传感器G2211单片机电机控制电路2用光敏传感器(具体为硅光电池)将外界的光照度转换成电压信号,并将该电压信号经过一级跟随器电路输入到G2211模拟比较器的正输入端,在硬件上的具体连接就是将27L2的7脚连接至单片机的P1.1口。并通过与负输入端的内部参考电压作比较,使得比较模块寄存器的CAOUT端置“1”或清零来控制单片机的P1.2和P1.3口输出高低电平,进而控制电机的正反转,实现窗帘的打开与关闭,在硬件上的具体连接就是将单片机的P1.2和P1.3口分别连接至电机驱动芯片L298n的12脚和10脚。利用按键S1和S2触发I/O口中断来控制电机转到窗帘的顶部或是窗帘的底部停止转动。直流电机连接至电机驱动芯片L298n的13脚和14脚。3第二章硬件系统设计第一节MSP430G2系列Launchpad开发板介绍基于LaunchPad的MSP-EXP430G2低成本实验板是一款适用于TI最新MSP430G2xx系列产品的完整开发解决方案。其基于USB的集成型仿真器可提供为全系列MSP430G2xx器件开发应用所必需的所有软、硬件。LaunchPad具有集成的DIP目标插座,可支持多达20个引脚,从而使MSP430ValueLine器件能够简便地插入LaunchPad电路板中。此外,还可提供板上Flash仿真工具,以直接连接至PC轻松进行编程、调试和评估。LaunchPad实验板还能够对eZ430-RF2500T目标板、eZ430-Chronos手表模块或eZ430-F2012T/F2013T目标板进行编程。此外,它还提供了从MSP430G2xx器件到主机PC或相连目标板的9600波特UART串行连接。其实物图如图2.1所示。图2.1MSP430G2系列Launchpad开发板实物图MSP-EXP430G2采用IAREmbeddedWorkbench集成开发环境(IDE)或CodeComposerStudio(CCS)编写、下载和调试应用。调试器是非侵入式的,这使用户能够借助可用的硬件断点和单步操作全速运行应用,而不耗用任何其他硬件资源。4MSP-EXP430G2LaunchPad特性:•USB调试与编程接口无需驱动即可安装使用,且具备高达9600波特的UART串行通信速度•支持所有采用PDIP14或PDIP20封装的MSP430G2xx和MSP430F20xx器件•分别连接至绿光和红光LED的两个通用数字I/O引脚可提供视觉反馈•两个按钮可实现用户反馈和芯片复位•器件引脚可通过插座引出,既可以方便的用于调试,也可用来添加定制的扩展板•高质量的20引脚DIP插座,可轻松简便地插入目标器件或将其移除图2.1MSP430G2211硬件资源框图第二节传感器介绍这里介绍一下型号2DU5的硅光电池,之所以选择它,原因有两个:(1)在可见光范围内,该器件能使光照度与其输出电流有一个良好的线性关系,这样我们就可通过一个运放将其转换成电压信号;(2)具有较好的灵敏度,当你用手去遮住光源或者光照度稍微有点变化时,运放的输出电压也随之改变。图2.2硅光电池2DU5实物图5其实,只要是硅光电池就行,不同型号只是输出电流(一般为微安或毫安)的大小不同,当然必须保证所选型号能感应你要控制的窗帘所处环境的光(比如,可见光)。由于该方案采用的是硬件校准,即通过调节运放反馈的电阻值的大小来调节输入单片机模拟器正端的电压值,所以当你所选的硅光电池输出电流比较小时,可将反馈电阻调大来提高输出电压值,反之亦然。图2.3为硅光电池2DU5参数信息。图2.3为硅光电池2DU5参数信息图第三节各单元电路的介绍第一部分:光电转换电路1OUT11IN-21IN+3GND42IN+52IN-62OUT7VDD827L2C1GNDVCC1OUT1OUTBTBATTERYGND光电转化P1.1312RP1312RP2R5R6图2.4光电转换电路6这里需要注意的是,在实际的电路实现中RP2,R6和RP1,R5只需任选一路即可,之所以这样连是为了在画板子时多一路备用,6和7脚连接构成一个电压跟随器,作用是将光电转换电路与单片机隔离开来。最终的输出电压为硅光电池电流与所选一路电阻之积。第二部分:电源电路Vin1GND2+5V3LM2940C2C3GNDVCC12V转5V+3.3V3GND1+5V21117C7C6GND+5V3V35V转3.3V图2.5电源电路由于电机和运放(27L2)的供电电压均选择为12V,所以将交流电通过适配器直接转换成了12V,而电机驱动芯片(L298n)的逻辑供电电压Vss(9脚)最大值为7V,典型值为5V,而且使能高电平Ven(11脚)的取值大于2.3V小于Vss,故选择5V给9脚和11脚供电,本方案用LM2940将12V转化为5V,用GM1117将5V转换为3.3V,给按键提供高电平接到单片机I/O口(其实也可以直接用单片的电源给按键供电)。第三部分:电机驱动电路IN15IN27IN310IN412ENA6ENB11SENSEA1SENSEB15VSS9GND8VS4OUT12OUT23OUT313OUT414L298N12D212D412D312D1GND12JMVCCGNDC4GNDC5GNDGND+5V+5V图2.6电机驱动电路7采用的是L298n芯片对电机进行驱动,其集成了两个H桥电路,10和12脚接单片机的I/O口,13和14脚接电机的两端,4脚接电源,该芯片的最大输入电压为46V,该方案采用的是12V,8脚接地,11脚为第二个H桥工作的使能端,高电平(2.3V到Vss,本方案选取Vss为5V)有效,具体的功能实现见下表:表2-1电机状态表输入功能Venb(即11脚)=110脚=“1”;12脚=“0”正转10脚=“0”;12脚=“1”反转10脚=12脚电机停转Venb(即11脚)=010脚=X;12脚=X电机停转说明:(1)“1”表示电压范围在2.3V到Vss的值之间;(2)“0”表示-0.3V到1.5V之间;(3)X表示为“0”,“1”任何一状态。第四节系统原理图及元器件清单1OUT11IN-21IN+3GND42IN+52IN-62OUT7VDD827L2C1GNDVCC1OUT1OUTBTBATTERYGND光电转化Vin1GND2+5V3LM2940C2C3GNDVCC12V转5VIN15IN27IN310IN412ENA6ENB11SENSEA1SENSEB15VSS9GND8VS4OUT12OUT23OUT313OUT414L298N12D212D412D312D1GNDJMVCCGNDC4GNDC5GNDGND+5V+5V+5V电机驱动123J1DVCC1P1.0/TA0CLK/AC