基于msp430g2211实现的自行车里程表_第1页
基于msp430g2211实现的自行车里程表_第2页
基于msp430g2211实现的自行车里程表_第3页
基于msp430g2211实现的自行车里程表_第4页
基于msp430g2211实现的自行车里程表_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目目 录录 第一章 作品概述.- 2 - 第一节 作品功能和单片机介绍.- 2 - 第二节 设计方案.- 2 - 第二章 硬件系统设计.- 3 - 第一节 MSP430G2 系列 Launchpad 开发板介绍- 3 - 第二节 传感器介绍.- 4 - 第三节 显示部分电路.- 6 - 第四节 硬件装配调试说明.- 7 - 第三章 软件系统设计.- 9 - 第一节 程序流程图.- 9 - 第二节 子程序 API 介绍.- 12 - 第三节 程序调试.- 13 - 第四节 程序调试注意事项.- 14 - 第四章 总结与思考.- 15 - - 1 - 第一章第一章 作品概述作品概述 第一节第一节 作品功能和单片机介绍作品功能和单片机介绍 本作品以 MSP430G2211 单片机为核心,通过安装在车轮支架上的干簧管感应车轮转过 的圈数,由 MSP430 单片机测出车轮转过每圈所需的时间及圈数,计算出速度和里程等结果 数据,并通过点阵 LCD 进行显示。 本作品选用 MSP430G2211 单片机,该单片机超低功耗,具有 5 种节电模式,1us 内便 可从待机模式唤醒,并具有一个强大的 16 位 RISC CPU、16 位寄存器和常数发生器,有助 于最大限度的发挥代码效率。此单片机还具有丰富的时钟源,包括 LF、OSC 和 VLO。它可 通过串行口系统编程,无需外部编程电压,具有可编程的保密熔丝代码保护,它具有 Spy- Bi-Wire 仿真逻辑接口。另外它还有 10 位 IO 口、8 个比较器通道和 16 位的 Timer_A 定时 器,带 2 路捕获和比较寄存器。此单片机的 IO 口和 Timer_A 定时器都具有强大的中断能 力。 第二节第二节 设计方案设计方案 干簧管是一种磁敏的特殊开关。它的两个触点由特殊材料制成,被封装在真空 的玻璃 管里。只要用磁铁接近它,干簧管两个节点就会吸合在一起,使电路导通;无磁铁靠近时 干簧管就断开。 本作品主要是利用了干簧管的这一磁效应,让干簧管一端接高电平,一端接单片机 IO 口。首先自行车车轮转动带动干簧管的交替的开闭,这样干簧管就会输出一个与自行车车 轮转动频率相同的脉冲信号;然后单片机 IO 口接收到脉冲信号,利用 MSP430G2211 单片机 的 IO 中断和 TA 定时,适当的数据处理便可测得此脉冲信号的频率,从而计算出自行车的 速度和里程;最后由单片机控制液晶显示模块,将速度和里程信息在液晶上显示。系统组 成结构图如图 1.1 所示。 干簧管检测器MSP430G2211液晶显示模块 图 1.1 系统组成结构框图 第二章第二章 硬件系统设计硬件系统设计 第一节第一节 MSP430G2MSP430G2 系列系列 LaunchpadLaunchpad 开发板介绍开发板介绍 基于 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.1 MSP430G2 系列 Launchpad 开发板实物图 MSP-EXP430G2 采用 IAR EmbeddedWorkbench 集成开发环境(IDE)或 CodeComposerStudio(CCS)编写、下载和调试应用。调试器是非侵入式的,这使用户能够借 助可用的硬件断点和单步操作全速运行应用,而不耗用任何其他硬件资源。 MSP-EXP430G2LaunchPad 特性: USB 调试与编程接口无需驱动即可安装使用,且具备高达 9600 波特的 UART 串行通信速 - 3 - 度 支持所有采用 PDIP14 或 PDIP20 封装的 MSP430G2xx 和 MSP430F20xx 器件 分别连接至绿光和红光 LED 的两个通用数字 I/O 引脚可提供视觉反馈 两个按钮可实现用户反馈和芯片复位 器件引脚可通过插座引出,既可以方便的用于调试,也可用来添加定制的扩展板 高质量的 20 引脚 DIP 插座,可轻松简便地插入目标器件或将其移除 第二节第二节 传感器介绍传感器介绍 干簧管由玻璃外壳和软磁性材料制成的簧片组成,平时两端绝缘,当有磁体接近时, 在磁场作用下,两簧片磁化为 N 极和 S 极,两者相互吸合,于是电路接通。 虽然红外传感器和霍尔传感器也可用于测速,且能保证不错的精度,但是本作品选用 的是干簧管传感器。干簧管传感器相比于红外传感器和霍尔传感器,有很多优点,如: 1. 体积小,结构简单 2. 低功耗 3. 超长的使用寿命 4.优越的电性能 以本作品选用干簧管为例,其参数如表 2.1。 Sensor Body Material 本体材质ABS Filling 填充物Epoxy Max. Contact Rating 最大功率10W Max. Switching Voltage 最大开关电压100VDC Max. Switching Current 最大开关电流0.5A Min. Breakdown Voltage 最小击穿电压250VDC Max. Release Time 释放时间0.4ms Max. Operate Time 动作时间1.0ms Max. Initial Contact Resistance 最大接触电阻 100m Min. Insulation Resistance 最小绝缘电阻 1010 表 2.1 干簧管参数 其具体的有效距离依干簧管型号和磁体的强度而定。以本作品所用的干簧管和直径 15mm 的磁铁为例,在干簧管轴线周围 40mm 内都为有效范围,如图 2.2 所示。 图 2.2 干簧管结构示意图 图 2.3 干簧管实物图 可选各种直径的磁体,在干簧管管径相同的情况下,实测 10mm 磁体为 30mm,5mm 磁体 为 20mm,而管径不同的情况可能有 1020%的差距。考虑到实际应用时磁体是快速掠过,有 效半径会有所减少,但不会少于 20mm,这个距离在安装时还是可以保证的。 此外,干簧管的结构对振动不敏感,只需软件稍加延时(50 微秒) ,实测即使是骑自 行车下楼梯时的震动强度也不会导致其误触发。因此不需要外加去抖电路,仅外加一个上 拉电阻即可工作。在使用 2M 的上拉电阻时,通过电流仅为 1.5 微安,这样的微电流下,干 - 5 - 簧管寿命可达近千万次,换算成里程为上万公里。其接口连接电路如图 2.4 所示。 图 2.4 干簧管传感器接口电路 第三节第三节 显示部分电路显示部分电路 本作品选用 12864 液晶显示器进行显示,器件实物如图 2.5 所示。 图 2.5 12864 液晶显示器实物图 12864 液晶显示器是一种具有 4 位/8 位并行、2 线或 3 线串行多种接口方式,内部 含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为 12864, 内置 8192 个 16*16 点汉字,和 128 个 16*8 点 ASCII 字符集.利用该模块灵活的接口方 式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示 84 行 1616 点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显 示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得 多,且该模块的价格也略低于相同点阵的图形液晶模块。 本作品选用 12864 液晶显示器的串行接口方式,仅需 2 根 IO 口即可完成。电路如图 2.6 所示: 图 2.6 12864 液晶显示器的串行接口电路连接图 第四节第四节 硬件装配调试说明硬件装配调试说明 先将磁铁用螺钉螺帽固定在钢丝的 X 形交叉上(如只有一根钢丝,磁铁会沿钢丝晃动) , 干簧小盒用尼龙扎带绑定与前轮主支架上。磁铁的运动轨迹一定要垂直穿过干簧管,如水 平穿过会激发簧片闭合两次造成误触发。小盒与磁铁距离保持在 2cm 以内,且干簧管中线 附近感应特别迟钝,应避开,适合的安装位置范围如图 2.7 所示,具体可边调边实验。 - 7 - 图 2.7 安装位置示意图 下面是本作品安装好的照片: 图 2.8 硬件安装实物图 第三章第三章 软件系统设计软件系统设计 第一节第一节 程序流程图程序流程图 本作品软件程序通过 IO 口中断和 TA 计时方式,测得干簧管输出脉冲信号的频率,从 而计算出速度和里程。首先进行初始化,然后进入 while 循环,进入 LMP0 模式,等待 IO 口中断和 TA 定时中断响应。 1.系统初始化 在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定 的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。 所以在处理器上电以后要关闭看门狗。然后配置合适的时钟,配置 IO 口的输入输出以及中 断方式。同样也要设置 TA 模块的计数方式、时钟选择等。最后要对 LCD 进行初始化,否则 无法进行正常显示。系统初始化程序流程图如图 3.1 所示。 关闭看门狗 配置时钟 配置 IO 口 配置 TA 模块 LCD 初始化 初始化完毕 处理器上电 图 3.1 系统初始化程序流程图 2.TA 中断 首先定义一个全局变量 TA_OverflowCnt,每当 TA 溢出中断一次, TA_OverflowCnt+。当 TA_OverflowCnt 大于设定的数值 N 时,就令速度变量 Speed=0,并 - 9 - 显示,程序流程图如图 3.2 所示。 进入 TA 溢出中断 TA_OverflowCnt 加 1 TA_OverflowCntN 令 Speed=0,并显示 中断返回 Y N 图 3.2 TA 中断程序流程图 TA 中断部分的程序: #pragma vector=TIMERA1_VECTOR _interrupt void TA_ISR (void) switch(TAIV) case 2: break ; case 4: break ; case 10: TA_OverflowCnt+; /溢出中断 if(TA_OverflowCnt4) Speed=0; Write_Num(0x82,Speed,1); /显示速度为零,显示一位小数 break; 3.IO 中断 进入中断先延时判断是否是毛刺,若是毛刺则直接返回;若不是毛刺计算速度和里程, 然后进行显示,并令 TA_OverflowCnt=0,IO 中断程序流程图如图 3.3 所示。 IO 口中断 是否是毛刺 计算速度和里程 显示 Y N TA_OverflowCnt=0 中断返回 图 3.3 IO 中断程序流程图 IO 中断部分程序: #pragma vector=PORT1_VECTOR _interrupt void P1_ISR (void) int i; for(i=0;i600;i+); if(P1IN return; if(P1IFG Number+; Period=TA_OverflowCnt*65536+TAR; TA_OverflowCnt=0; / TA_OverflowCnt 清零 TACTL|=TACLR; /TA 清零,重新计数 Speed=(long)125*100*Circle/(Period);/计算速度 Mileage=(long)Circle*Number/100; /计算里程 P1OUT=BIT0; Write_Num(0x82,Speed,1); /显示速度,1 位小数 Write_Num(0x8a,Mileage,3); /显示里程,3 位小数 - 11 - P1IFG=0; 第二节第二节 子程序子程序 APIAPI 介绍介绍 (1)函数名:void clk_init(void) 输入输出变量:无 功能:时钟配置 (2)函数名:void io_init(void) 输入输出变量:无 功能:IO 口初始化 (3)函数名:void ta_init(void) 输入输出变量:无 功能:TA 模块初始化 (4)函数名:void lcd_init (void) 输入输出变量:无 功能:LCD 模块初始化 (5)函数名:void wr_lcd(uchr func,uchr data) 输入输出变量:uchr func,uchr data 功能:写入液晶显示地址或显示内容 (6)函数名:void Write_Num(int addr,int Num,int point) 输入输出变量:int addr,int Num,int point 功能:显示地址 addr,显示数字 Num,显示数字小数点以后 int point 位数字 第三节第三节 程序调试程序调试 1.在 CCS 下编写完程序后,执行编译(Build) 2.编译通过,执行 Debug 3.调试过程中,可在线查看变量和寄存器的值 Debug 窗口下,自左向右依次是去掉断点、全速运行、暂停、停止、进入、单步、汇 编进入、汇编单步、返回、同步时钟、复位。 在程序运行后,暂停时可以打开 Watch 和 Regesiter 窗口内观察寄存器和变量的变化。 - 13 - 第四节第四节 程序调试注意事项程序调试注意事项 1开启 ENC 之后任何的初始化语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论