




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MSP430G2系列Launchpad开发板应用实例作品基于MSP430G2553实现的电子秤设计李弘祖西安邮电大学2015年12月第一章 作品概述第一节 系统概述本设计以MSP430G2553作为核心,由压力传感器和数码管显示器共同实现对物体质量的测量显示功能,最小分辨率1克,系统框图和各部分简介如图1.1所示。中央控制器显示电路信号调理电路压力传感器图1.1 系统组成框图1)压力传感器:在直流激励下,受到压力形变,产生电压信号。压力信号以差分电压的形式通过绿色(数据)和白色(数据地)连根引线与PCB上的端子相连。2)信号调理电路:传感器信号由于幅度较小,噪音较大,不能直接由AD采集,经过放大(AD623)滤波电路,得到合适频带幅度的信号送往中央控制器(MSP430G2231) 。由接线端子上引入的数据+和数据地差分信号分别接仪表运放的正端输入和负端输入,在反馈电阻的作用下,实现高共模抑制的差分放大。后接RC滤波电路,将低频可用信号取出,输出至MSP430的ADC10模块入口。3)中央控制器:由G2的AD模块通道0采集前级电压信号,转换为数字量后,保存在CPU内存中,然后通过统计算法和传感器线性参数修正,得到被测压力数值参数,再将这些数据发往LED显示电路。4)显示电路:由数码管驱动芯片(74LS48)根据CPU发来的显示数据点亮LED,显示出数值。第二节 器件概述1)MSP430G2553MSP430是美国德州仪器公司自1996推出以来一直主打的一个低功耗系列,包含1至5五个系列,每个系列都各自有各自的特点 ,适用于各种不同场合的不同应用。其中最近2系列添新面孔G2超值系列。本设计采用的MSP430G2553就是MSP430超低功耗系列中G2超值子系列的一款16位处理器。通过引入 MSP430G2xx3 系列,MSP430 超值系列继续扩展了产品系列。由于具有低成本和超低功耗,G2xx3 系列适用于电容触摸应用,并可集成诸如 UART、SPI 和 I2C 等通信外设。MSP430 G2xx3 系列与 8 位微处理器相比,具有绝对优势。 G2xx3 系列的主要特性包括:1.与其他430器件相同的超低功耗 2.闪存高达 16KB 3.512B SRAM 4.通用串行通信接口 (USCI) 5.具有 3 个捕捉/比较寄存器的 2 个 16 位 Timer_A 6.10 位 ADC、比较器外设选项 7.启用创新电容式触摸感应设计的 IO 在此类应用中可降低系统成本。 8.提供 20/28 引脚 TSSOP、32 引脚 QFN 和 20 引脚 DIP 封装本次设计采用的就是DIP14的封装(如图2.1所示)图1.2 MSP430G2231DIP引脚图2)AD623 AD623是一个集成单电源仪表放大器,它能在单电源(+3V到+12V)下提供满电源幅度的输出。它允许使用单个增益设置电阻进行增益编程,以得到更好的灵活性。符合8引脚的工业标准配置。在无外接电阻条件下,AD623被设置为单增益(G=1)。在外接电阻后,AD623可编程设置增益,增益最高可达1000倍。 AD623通过提供极好的随增益增大而增大的交流共模抑制比(AC CMRR)而保持最小的误差。线路噪声及谐波将由于CMRR在高达200HZ时仍保持恒定。它有较宽的共模输入范围,可以放大具有低于地电平150mv共模电压信号。它在双电源(2.5至6V)仍能提供优良性能。低功耗,宽电源电压范围,满电源幅度输出,使AD623成为电池供电的理想选择。在低电源电压下工作时,满电源幅度输出级使动态范围达最大。它可以取代分立的仪表放大器设计,且在最小的空间提供很好的线性度,温度稳定性很可靠性。图1.3 AD623引脚图3)74LS48 74LS47是一个TTL高电平数码管驱动驱动缓冲器件。可以将BCD输入数据在LED上显示出来,当BCD输入大于9时,将显示一些特殊字符用以区别不同的输入状态。可以有效的减少显示电路对数码管IO资源的占用,同时还增加了一定的驱动能力。图1.4 74LS47引脚图第二章 硬件设计第一节 MSP430G2/Launchpad图2.1 MSP430G2系列Launchpad开发板实物图基于名为LaunchPad,MSP-EXP430G2低成本实验板是一款适用于TI最新MSP430G2XXX犀利产品的完整开发解决方案。基于USB的集成型仿真器可提供全系列MSP430G2XX器件开发应用所必备的所有软件、硬件。Lunch Pad具有集成的DIP目标插座,可支持多达20个引脚,从而使MSP430Value Line器件能够轻松插入LaunchPad实验板电路。此外,其还可支持板上FLASH仿真工具,以直接连接至PC轻松进行编程、调试和评估。LunchPad实验板还能够对eZ430-RF2500T目标板、eZ430-Chronos手表模块或eZ430-F2012T/F2013T目标板进行编程。此外,他还提供了从MSP430G2XX器件到主机PC或者相连目标板的9600波特UART串联连接。MSP-EXP430G2采用 IAR Embedded Workbench集成开发环境或者Code Comeposer Studio下编写、下载、调试应用。调试器是非侵入式的,这使用户能够借助可用的硬件断点和单步操作全速运行应用,而不消耗其他硬件资源。MSP-EXP430G2 LauchPad特性USB调试与编程接口无驱动可安装使用,具备9600波特率的UART串行通信速度支持所有采用DIP14和DIP20封装的MSP430G2XX和MSP430F20器件分别连接到绿光和红光LED的两个通用数字I/O引脚可以提供视觉反馈两个按钮可以实现用回反馈和芯片复位器件引脚可以通过插座引出,即可方便用于调试,也可用添加定制的扩展板该质量的20引脚DIP插座,可以轻松的插入或者拔出目标器件第二节 传感器原理及选型1)电阻式压力应变传感器半导体或者金属材料在收到外界压力或拉力作用时发生机械形变,导致其阻值发生变化,这种因为形变造成的阻值变化称为“应变效应”。根据这一效应制作的,以测量压力为目的传感器称为电阻式应变传感器。电阻应变片种类繁多,但其基本构造都是覆盖层+敏感栅+基盘的模式(如图2.2),其中敏感栅有引线接出,作为应变片的输出端子。图2.2 电阻式压力应变结构图2)悬臂梁式压力传感器 悬臂梁式压力传感器一端固定,一端加载,利用臂梁上应变片拉伸的压缩的变化而发生的应变效应,从而测得压力的一种压力传感器。臂梁上方的应变片称为工作片,当臂梁受到正向压力时该应变片被拉伸。臂梁的反面的应变片称为补偿片,当臂梁受到正向压力时该应变片被挤压。因为臂梁本身一般选择刚性较好的材料,工作片和补偿片的形变引起的电阻变化大小正好等大反向,如果因为温度、气压等环境因素造成应变片灵敏度变化,两个应变片正反两种变化刚好相互补偿。当然两个应变片一定要是同批次,特性相同的。3)电桥式传感器对于电阻式传感器,需要借助适当的电路,将电阻的变化转化为电压或者电流信号,以供后续电路使用。最常用的办法是惠斯顿电桥(如图2.3)。图2.3 惠斯顿电桥假定相等的4个电阻分为两组,串联构成两个电阻串,由于是等值电阻,因而两电阻间的节点电压是电阻串电压的一半,电表V上没有变化。假如一个电阻值增长1%,另一个电阻减小1%,那么两个电阻节点处的电压将改动1%。假如将两个电阻串实行并联,如图1所示,右边下方的电阻和左边上方的电阻阻值均减小1%,另外两个电阻增长1%,那么两个“中”点间的电压将从零差值变为改动2%。两个并行分支的这种配置就被称为惠斯顿桥。其中涉及计算的步骤,已经有无数前人予以证实,这里不庸赘述。但是,特别提出,这个电路将电阻变化转化为电压信号的同时还能对信号予以4倍放大。由前例可以看出,R1和R4阻值的增大、与R2、R3的减小会增大V的示数。若将R1、R4固定在悬臂的工作面,R2、R3固定在补偿面,四个电阻阻值的变化就能全部转化为电压信号,同时还能完成温度补偿的功能。图2.4 悬臂梁式/电桥式受力示意图4)浙江三科LDH001型压力传感器工作原理:电阻式 电桥式 悬臂梁式项目数值单位额定负载5kg输出电压2.00mV/V供电电压215V迟滞性0.02%F.S重复性0.02%F.S零点平衡2.00%F.S安全负载150%工作温度-1040图2.5 LDH001型传感器参数图图2.6 传感器实物及支架第三节 信号调理电路图3.1 信号调理部分原理图P1为传感器信号线的正极和地接口。R3、R2是反馈电阻,用于调节放大倍数,反馈电阻和放大倍数的关系如图3.2,其中R2是一个电位器,用于校准R3本身的误差。C3、C6作为滤波电容,滤除噪音。R4和C7构成一个低通滤波器。图3.2 AD623反馈电阻阻值与放大倍数关系由于电阻型传感器对于供电纹波敏感,所以其输出信号中存在明显的50Hz类似正弦波,在干扰环境较强的时候,正弦波幅度大于20mV,完全淹没了传感器的信号,必须信号调理,后级的低通滤波器可以滤除大部分的纹波,但是剩余的干扰仍然对AD的采样有很大地干扰,在单片机程序中还要通过数学方法消除。运算放大电路,不仅可以放大信,提高测量精度还能起到阻抗变换的作用,也是信号调理、传感器测量的必要一环。第四节 LED显示电路图3.3 显示电路部分原理图74LS47中的A B C D分别链接IO口,作为BCD数据输入端,abcdefg分别接数码管对应的段码,对应ADCD输入和abcdefg输出关系如图3.4。LT、RBI、BL分别为调试功能用,没有用到,LT和BI接电源,RBI接地。图3.4 74LS47译码器真值表第四节 器件清单CommentDesignatorFootprintQuantityAD623AD1DIP-81CAP-TANC1, C2 ,C612063RES R4, R5, RA, RB, RC, RD08056CAPC4, C5C3, C7,08054C612061DiodeD1080514Segmet Digtal LED low comD4SMG41Res2R1, R308052Res Adj2R2SFM-T3/A2.4V1AMS1117_3.3U1SOT-223174HC48U2DIP-16174F04U3SO-14174HC139U4SOL-161第三章 软件系统设计第一节 程序流程本软件实现了将由传感器的发送的模拟信号采集后,通过ADC中断方式,由AD转换的数据读取至单片机内存,然后通过数代数法和统计方法进行电压和压力的比例计算,得出压力值。同时定时器中断下定时刷新数码管显示器。程序可以大致分为初始化、ADC和显示三部分。1)初始化开启ADC块处理器上电设置ADC块设置TIMER块开启TIMER块空载校准设置看门狗初始化完毕图3.1 系统初始化程序流程图在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在系统正式启动前需要对看门狗进行设置。MSP单片机内部有着丰富的片上资源,如ADC、定时器、比较器、DMA、FLASH等,如并非全部使用而一直启动着,则造成无谓的电损耗,显然不利于低功耗设计,430特殊寄存器中就设置了相应的寄存器用于控制这些模块的开启和关闭,这些模块默认都是关闭的,所以在初始化系统的时候需要开启这些模块。ADC开启后还不能直接工作,为了适应不同情况下的测试要求,还要进行一些细化的设置,需要设置采样周期、采样通道、采样方式(单次、或者连续)、正负模式,TIMER模块也是如此,需要设置计数方式、触发方式、计数周期等。2)ADC中断图3.2 ADC中断流程图当MSP430ADC模块启动后,ADC定时采样转换出数字信号,每次转换完毕后触发一次ADC中断,进入中断后开始,将转换的数据存入缓存数组,然后数组计数器加一,然后判断数组计数器是否满,若满对整个数组求和换算,送入显示缓存,清空数组计数器,清除中断标志位,方能退出中断。若计数器没满,则直接清空标志位,退出中断。3)定时器中断图3.3 定时器流程图当计数器计时满时(设计为21000即为2ms),进入定时器中断服务子程序。进入中断后,判断周期数是否满足(设计为周期数达到25个周期,即每50ms刷新一次,数码管刷新频率一般为25至75Hz),如果不满足则周期数加一,中断返回;如果满足刷新条件,则执行刷新显示子程序,然后清零周期数,中断返回。第二节 源程序#include#define VCC 5const unsigned char decoder_seg718 = 0xee, 0x82, 0xdc, 0xd6, 0xb2, 0x76, 0x7e,0xc2, 0xfe, 0xf6, 0xde,0x3e,0x6c,0x9e,0x7c,0x78,0x00,0xff;void delay_1s(void); /延迟1s函数void seg7_1ms(unsigned char seg7_data); /声明驱动一位数码管的驱动函数void adc10_begin(void); /声明ADC10配置函数void seg7_3ms(unsigned char seg7_data2, unsigned char seg7_data1, unsigned char seg7_data0); /声明三位数码管驱动函数void seg7_3ms(unsigned char seg7_data2, unsigned char seg7_data1, unsigned char seg7_data0) seg7_1ms(seg7_data0); /调用一位数码管的同步串行数据接口驱动函数 seg7_1ms(seg7_data1); seg7_1ms(seg7_data2);void adc10_begin(void) /ADC10配置函数 / 配置 ADC10 模块模拟电压输入管脚 P1SEL|=BIT0; / 设置 P1.0 管脚为外围模块输入 / 输出管脚 P1SEL2|=BIT0; P1DIR&=BIT0; / 设置 P1.0 管脚为输入管脚 / ADC10 模块相关寄存器配置 ADC10CTL0&=ENC; / 调整 ADC10CTL0 和 ADC10CTL1 位 ENC 必须清零 ADC10AE0|=BIT0; / 使能 A0 通道转换 ADC10CTL0&=SREF2; / 参考电压选择:VR+ = VCC and VR- = VSS ADC10CTL0&=SREF1; ADC10CTL0&=SREF0; ADC10CTL0&=ADC10SHT1; / 采样-保持时间选择:4 ADC10CLK ADC10CTL0&=ADC10SHT0; ADC10CTL0|=ADC10SR; / 采样速率选择:50ksps ADC10CTL0|=REFOUT; / 参考电源输出打开 ADC10CTL0&=REFBURST; / 参考电源连续工作 ADC10CTL0&=MSC; / 每次转换都需要触发 ADC10CTL0|=REF2_5V; / 内部参考电压选择:2.5V ADC10CTL0|=REFON; / 内部参考电源打开 ADC10CTL0|=ADC10ON; / ADC10 模块打开 ADC10CTL0&=ADC10IE; / 不使能 ADC10 模块中断 ADC10CTL1&=INCH3; / 模拟电压输入通道选择:A0 ADC10CTL1&=INCH2; ADC10CTL1&=INCH1; ADC10CTL1&=INCH0; ADC10CTL1&=SHS1; / 采样触发信号选择:ADC10SC/ADC10CTL0 ADC10CTL1&=SHS0; ADC10CTL1&=ADC10DF; / ADC10 模块输出数据格式选择:线性二进制 ADC10CTL1&=ISSH; / 采样-保持电路触发信号不反相 ADC10CTL1&=ADC10DIV2; / ADC10CLK 时钟源分频选择:1 ADC10CTL1&=ADC10DIV1; ADC10CTL1&=ADC10DIV0; ADC10CTL1|=ADC10SSEL1; / ADC10CLK 时钟源选择:MCLK ADC10CTL1&=ADC10SSEL0; ADC10CTL1&=CONSEQ1; / 转换模式选择:单通道,单次 ADC10CTL1&=CONSEQ0; ADC10CTL0|=ENC; / ADC10 模块使能void seg7_1ms(unsigned char seg7_data) unsigned char code_seg7; /声明显示代码变量 unsigned char serial_number; /声明循环变量 unsigned char serial_shift; /声明串行数据位存储变量 code_seg7 = decoder_seg7seg7_data;/显示数据译码 /同步串行接口初始化 P1OUT &= BIT6; /P1.6输出低电平 P1OUT &= BIT7; /P1.7输出高电平 serial_shift = 0x80; /串行数据指向八位数据的最高位 for(serial_number = 0; serial_number = 1; /串行数据位指向数据位右移位 void delay_1s(void) unsigned long data_delay; /声明循环次数变量 for(data_delay = 0; data_delay 126654; data_delay+) /利用循环语句实现时间延迟 ; void main(void) float data_adc10; /声明模拟/数字转换结果储存变量 unsigned char data_seg7_2, data_seg7_1, data_seg7_0; /声明每一位数据显示变量 unsigned char number; /声明循环变量 unsigned char data_seg7_temp; WDTCTL = WDTPW +WDTHOLD; /关看门狗 P1SEL &= 0x3f; /设置P1.7和P1.6引脚为数字输入/输出引脚 P1DIR |= 0xc0;/设置P1.7和P1.6引脚为输出引脚 seg7_3ms(1, 1, 1); adc10_begin(); /ADC10配置 while(1) ADC10CTL0 |= ADC10SC; /ADC转换软件启动控制位功能 /for(number = 0; number 5; number+) /连续采集5次,稳定数据 / while(ADC10CTL1 & 0x01) = 1); /等待模拟/数字转换结束 data_adc10 = ADC10MEM; /读取转换结果 / data_adc10=data_adc10*2.5/ 1023; /转化为已V为单位的电压量 data_seg7_temp = data_adc10 * 100; data_seg7_2 = data_seg7_temp / 100; data_seg7_temp %= 100; data_seg7_1 = data_seg7_temp / 10; data
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国航空工业集团庆安校园招聘笔试参考题库附答案解析
- 2025年实验室医学血常规检查与结果分析模拟测试卷答案及解析
- 2025湖北图书档案与文博部校内招聘1人笔试模拟试题及答案解析
- 2025陕西秦川格兰德机床有限公司招聘笔试备考题库及答案解析
- 2025年放射治疗学放疗计划设计模拟试卷答案及解析
- 2025山西阳泉市晋泉水务有限责任公司社会招聘1人笔试备考题库及答案解析
- 2025杭州淳安县总工会公开招聘工会社会工作者2人笔试备考试题及答案解析
- 2025年儿科感染性疾病诊疗综合能力评估模拟考试卷答案及解析
- 节后复工安全生产培训课件
- 绥化市中石化2025秋招笔试模拟题含答案机械与动力工程岗
- 新产品APQP开发计划表
- ICU患者的早期活动
- 型钢混凝土结构钢筋施工
- 石群邱关源电路(第1至7单元)白底课件
- GB/T 40529-2021船舶与海洋技术起货绞车
- GB 31603-2015食品安全国家标准食品接触材料及制品生产通用卫生规范
- 关于公布2016年度中国电力优质工程奖评审结果的通知
- 港口集团绩效考核方案
- 送达地址确认书(诉讼类范本)
- 三坐标测量基础知识(基础教育)
- 宜家战略分析(课堂PPT)
评论
0/150
提交评论