ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:1.97MB ,
资源ID:19891332      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19891332.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MSPEXP430G2入门Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MSPEXP430G2入门Word格式文档下载.docx

1、板上材料清单 开发板指示图(2)主要功能模块:复位模块时钟模块I/O端口模块;WDT看门狗模块;Timer A定时器模块比较器A模块ADC10数模转换模块USART串行异步通讯模块CPU模块实验班成本低、低功耗USB调试与编程接口无需驱动即可安装使用,且具备高达9600波特的UART串行通信速度支持所有采用PDIP14或PDIP20封装的MSP430G2XX和MSP430F20XX器件分别连接至绿光和红光LED的两个通用数字I/O口引脚可提供视觉反馈两个按钮可实现用户反馈和芯片复位器件引脚可通过插座引出,既可以方便的用于调试,也可用来添加定制的扩展板高质量的20引脚DIP插座,可轻松简便地插入

2、目标器件或将其移除(三)LaunchPad电路图LaunchPad原理图见“【LaunchPad】开发板介绍.pdf”。3.MSP430G2553数据资料G2553是LaunchPad的主要芯片,其数据资料详见“G2553中文资料.pdf”。安装MSP-EXP430G2 LaunchPad包含三个步骤:(1)下载所需软件:通常选IAR或者CCS。(2)安装选定的IDE:下载一个集成开发环境(IDE),IAR或者CCS,安装(编译部分有详细介绍)。(3)将LaunchPad连接至PC:将附带USB线缆的EXP430G2 LaunchPad目标板连接至PC。如果出现提示,要求提供软件,则允许Win

3、dows自动安装该软件。注意,仅当已经安装了IAR KickStart或Code Composer Studio后才能这样做。开发LaunchPad通常选用CCS(Code Composer Studio)或者IAR(IAR Embedded Workbench IDE)作为编译软件。前者是TI DSP的官方软件,功能强大;后者在论坛的人气更高。选择IAR作为编译软件 操作系统:Windows 7 开发环境:IAR FOR MSP430 V5.30.1第一步:驱动安装。IAR FOR MSP430 V5.30.1软件已集成LaunchPad驱动,安装好IAR再将LaunchPad 与电脑连接,

4、等待驱动安装完毕即可。如果不成功通常是电脑与板子连接不好。第二步:建立工程。双击图标打开工程,点击工具栏上方的File-New-Workspace,新建工作组,再点击工具栏Project-Creat New Project,转到如图接着点击如图所示然后会提示你保存工程文件,存在事先建好的文件夹内。选择C main,这里也可选择Empty project,选择前者则会自动新建一个main.c文件,并且把它加入到工程中。给指定一个文件 ,并且把它加入到工程中,给指定的工程名称msp430中。点击make编译,确认无错误。第三步:配置。上面无错误的话,在 工程名msp430上右键选择第一项,Opti

5、ons General Options Targets Device,如图芯片类型选择msp430g2553(视开发板上的主芯片定)。再选择Link Output,勾上如图所示,再选择Debugger Setup Driver,选择FET Debugger,再点击下面的FET Debugger,设置成如下图所示,点击OK完成。第四步:编译下载。接着上面的步骤点击工具栏中间Download and Debug,这样就可以将程序下载到班子上了,同时软件也进入了仿真界面。若最后如图所示,则说明板子未连接好。4.编程规则 (MSP430 编程规则.pdf)2.基础应用程序 (历程代码文件夹)首次使用:

6、首次使用MSP-EXP430G2 LaunchPad实验板时,演示应用将在该板从USB主机获得供电时立即自动启动。使用自带的Mini USB线缆将MSP-EXP430G2 LaunchPad连接至空闲的USB端口。演示应用启动后,LED将交替变亮以指明器件启动。演示应用内部温度测量:LaunchPad实验板包括一个预烧录程序的MSP430G2553器件。实验板启动后,按下P1.3可将应用切换到温度测量模式。此模式开始会显示一个参考温度,LaunchPad信号的LED分别通过板上红或绿光LED的亮度变化来指示温度的升或降。通过再次按P1.3来重新对参考温度进行校准。所收集的温度数据还可经由反向通

7、道UART通过USB仿真电路传回PC。传输的值表示使用MSP430G2553内部温度传感器测量的华氏温度值。PC上的串行通信端口必须设置为2400bps、一个停止位且无控制流,才能正确显示值。该演示应用使用了G2553器件的片上外设,例如10位ADC用于对内部温度传感器进行采样,而16位定时器用于驱动PWM以改变LED亮度并启动软件UART以与PC进行通信。这一预加载的演示应用源代码可从MSP430 LaunchPad wiki页面的“项目”板块进行下载。由于MSP EXP430G2套件有两个单片机G2553和G2452,其中,G2452没有预烧录程序,所以此处的应用举例部分以G2452单片机

8、为例。(一)实验准备: 基于MSP430G2452内置温度传感器的温度检测程序(见附录); 搭建编译环境、用USB将LaunchPad与PC连接安装相关驱动程序; 由于显示温度的GUI要求PC安装JAVA的一个组件,所以要保证PC上有JAVA程序安装JAVA程序; 获得温度显示GUI官网下载或者光盘自带或者网上查找下载等方式获得。(二)程序编译、烧录,参照第二部分第3步。注意将温度检测程序添加到项目里面。(三)演示: 用USB将LaunchPad与PC相连,查看实验板分配串口。此处分配串口为COM8; 若实验板的LED1和LED2分别闪烁红、绿光,则开发板启动正常,此时打开MSP430温度检测

9、GUI:由于此次示例实验板分配的串口为COM8,所以输入数字1选择串口,回车,温度检测显示界面如图:所示温度是华氏度。摄氏度=(华氏度-32)*5/9。MSP-EXP430G2实验板可通过仿真器的J4中插入1.27毫米间距的排针与eZ430目标板进行连接MSP-EXP430G2仿真器与相连目标器件(eZ430目标板)的连接可用跳线组J3断开通过断开Spi-Bi-Wire JTAG线路RST和TEST,可以很方便地把JTAG线路用于其它应用,方便连接其它eZ430目标板。MSP-EXP430G2 LaunchPad可对eZ430-RF2500T目标板、eZ430-Chronos手表模块、eZ43

10、0-F2012T/F2013T进行编程要在不干扰LaunchPad目标板的情况下为相连的目标板进行编程,则必须断开J3的跳线连接的RST和TEST,将eZ430目标板的接口与MSP-EXP430G2仿真器相连接只有在未同时连接eZ430目标板的情况下才能对连接的LaunchPad目标器件进行编程和调试将UART直接连接到LaunchPad目标器件,闭合跳线J3,可以监控从LaunchPad目标到所连接eZ430的传输情况。通过这种方法,可以在不更改UART引脚方向的情况下建立两种可能的连接,即从器件到PC以及从器件到eZ430调试接口J4的引脚分配LaunchPad的J1/J2和J6处预留了2

11、.54毫米(0.1英寸)的排针焊接脚位,能够以极低成本实现电路实验板的扩展卫星电路板可通过J1、J2和J6访问LaunchPad目标器件的所有引脚信号卫星板既可以自带芯片且将LaunchPad用作纯粹的编程接口,也可与插入到LaunchPad插座中的芯片协同工作LaunchPad和eZ430目标板之间连接器的器件型号:排针:Mill-Max 850-10-006-20-001000插座:Mill-Max 851-93-006-20-001000TI可提供多种采用PDIP封装且与LaunchPad兼容的MSP430器件:附录基于MSP430G2452内置温度传感器的温度检测程序:#include

12、 msp430g2452.h”#define LED1 BIT0 /绿灯,BIT0,BIT6之类的是宏定义,请在头文件msp430g2452.h中查看#define LED2 BIT6 /红灯,参见MSP-EXP430G2 LaunchPad Experimenter Board Users Guide#define LED_DIR P1DIR#define LED_OUT P1OUT#define BUTTON BIT3 /P1.3为板上按键S2#define BUTTON_OUT P1OUT /端口输出寄存器#define BUTTON_DIR P1DIR /端口方向控制寄存器#defin

13、e BUTTON_IN P1IN /端口输入寄存器#define BUTTON_IE P1IE /端口中断允许寄存器#define BUTTON_IES P1IES /端口中断触发沿控制寄存器#define BUTTON_IFG P1IFG /端口中断标志寄存器#define BUTTON_REN P1REN /端口上下拉电阻使能控制寄存器#define TXD BIT1 / TXD on P1.1#define RXD BIT2 / RXD on P1.2#define APP_STANDBY_MODE 0 /待机模式标志,也就是接上电源(或USB)后红绿灯交替闪的状态#define APP

14、_APPLICATION_MODE 1 /应用模式标志,也就是待机模式时按按键后进入的状态,也就是测量温度#define TIMER_PWM_MODE 0#define TIMER_UART_MODE 1 /串口模式状态#define TIMER_PWM_PERIOD 2000 #define TIMER_PWM_OFFSET 20#define TEMP_SAME 0#define TEMP_HOT 1#define TEMP_COLD 2#define TEMP_THRESHOLD 5 / Conditions for 9600/4=2400 Baud SW UART, SMCLK = 1

15、MHz#define Bitime_5 0x05*4 / 0.5 bit length + small adjustment#define Bitime 13*4/0x0D #define UART_UPDATE_INTERVAL 1000 /主循环次数进行一次串口发送温度值unsigned char BitCnt;unsigned char applicationMode = APP_STANDBY_MODE; /功能模式标志,初始值为待机模式unsigned char timerMode = TIMER_PWM_MODE;unsigned char tempMode;unsigned ch

16、ar calibrateUpdate = 0;unsigned char tempPolarity = TEMP_SAME;unsigned int TXByte;/* Using an 8-value moving average filter on sampled ADC values */ long tempMeasured8; /定义数组以计算8次10位ADC温度采样的平均值unsigned char tempMeasuredPosition=0; /温度测量值数组索引long tempAverage; /8次10位ADC温度采样的平均值long tempCalibrated, tem

17、pDifference;void InitializeLeds(void); /IO端口初始化,设置两颗LED对应的端口并两设置为熄灭初始状态void InitializeButton(void); /IO端口初始化,配置按键void PreApplicationMode(void); /进入待机模式,红绿灯交替闪,等待按键 Blinks LED, waits for button pressvoid ConfigureAdcTempSensor(void); /配置温度传感器模数转换void ConfigureTimerPwm(void); /配置定位器为PWM模式void Configur

18、eTimerUart(void); /配置定时器为Uart模式void Transmit(void); /串口发送子程序void InitializeClocks(void); /初始化时钟系统void main(void) unsigned int uartUpdateTimer = UART_UPDATE_INTERVAL; /主循环次数进行一次串口发送温度值 unsigned char i; WDTCTL = WDTPW + WDTHOLD; / 停止看门狗 Stop WDT InitializeClocks(); InitializeButton(); /配置按键 Initialize

19、Leds(); /设置端口并两设置两颗LED对应为熄灭初始状态 PreApplicationMode(); /进入待机模式,红绿灯交替闪,等待按键 Blinks LEDs, waits for button press /执行PreApplicationMode()将进入低功耗模式,程序停止在此,直到有按键按下 /* 进入应用模式 Application Mode begins */ applicationMode = APP_APPLICATION_MODE; /功能模式标志变成应用模式 ConfigureAdcTempSensor(); ConfigureTimerPwm(); /配置定位

20、器PWM模式 _enable_interrupt(); /使能全局中断 Enable interrupts. /* Main Application Loop */ while(1) ADC10CTL0 |= ENC + ADC10SC; /ADC使能,ADC开始转换一次 Sampling and conversion start _bis_SR_register(CPUOFF + GIE); /进入省电模式LPM0,等待AD转换完成中断 LPM0 with interrupts enabled /* Moving average filter out of 8 values to somew

21、hat stabilize sampled ADC */ tempMeasuredtempMeasuredPosition+ = ADC10MEM; /将温度采样值存入温度值数组下一位 if (tempMeasuredPosition = 8) tempMeasuredPosition = 0; 复位温度采样值数组索引 tempAverage = 0; for (i = 0; i = 3; /除以8得到平均值 Divide by 8 to get average if (-uartUpdateTimer = 0) | calibrateUpdate ) /如果主循环了UART_UPDATE_I

22、NTERVAL次或者参考温度按键按过 ConfigureTimerUart(); if (calibrateUpdate) TXByte = 248; / A character with high value, outside of temp range Transmit(); /串口发送值248表示按键按下进行了校准参考 calibrateUpdate = 0; /复位参考温度校准标志变量 TXByte = (unsigned char)( (tempAverage - 630) * 761) / 1024 ); /计算温度华氏值 /串口发送华氏温度值 uartUpdateTimer =

23、UART_UPDATE_INTERVAL; /复位循环计数变量 /配置定时器回PWM模式 tempDifference = tempAverage - tempCalibrated; /计算相对于参考温度的差值 if (tempDifference TEMP_THRESHOLD) /如果采样温度值高于参考温度值差值TEMP_THRESHOLD tempPolarity = TEMP_HOT;= LED2; /LED2红灯置灭 else /如果相对于参考温度值偏差没有超过阈值TEMP_THRESHOLD tempPolarity = TEMP_SAME; /性变量设为值TEMP_SAME TAC

24、CTL0 &= CCIE; /关TACCTL0中断使能 TACCTL1 & /关TACCTL1中断使能= (LED1 + LED2); /置两灯皆灭 if (tempPolarity != TEMP_SAME) /如果相对于参考温度值偏差超过阈值TEMP_THRESHOLD tempDifference /温度偏差值乘以8 tempDifference += TIMER_PWM_OFFSET; /加上一个偏置值 TACCR1 = ( (tempDifference) (TIMER_PWM_PERIOD-1) ? (tempDifference) : (TIMER_PWM_PERIOD-1) )

25、; /置TACCR1,最大为TIMER_PWM_PERIOD-1。 /TACCR1值控制亮的时间,定时器计数到TACCR1在中断中将关闭灯,在TACCR0中断中亮灯 TACCTL0 |= CCIE; /开TACCTL0中断使能 TACCTL1 |= CCIE; /开TACCTL1中断使能 /返回主循环/进入待机模式,红绿灯交替闪,等待按键void PreApplicationMode(void) LED_DIR |= LED1 + LED2; /p1.0和P1.6口为输出 LED_OUT |= LED1; /绿灯亮 To enable the LED toggling effect= LED2

26、; /红灯灭 BCSCTL1 |= DIVA_1; /辅助时钟分频设置为2 ,ACLK=6KHz BCSCTL3 |= LFXT1S_2; /辅助时钟源选择VLOCLK,12KHz /ACLK = VLO TACCR0 = 1200; / TACTL = TASSEL_1 | MC_1; /定时器时钟源选择辅助时钟ACLK,增计数模式 / TACLK = SMCLK, Up mode. TACCTL1 = CCIE + OUTMOD_3; /捕获/比较控制寄存器1设置为比较模式,输出模式为“置位/复位” ,中断允许 / TACCTL1 Capture Compare TACCR1 = 600; _bis_SR_register(LPM3_bits + GIE); / LPM0 with interrupts enabled ?低功耗模式LPM3 /此时cpu停止,等待中

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1