基于MSP430G2553的超声波测距讲解.docx |
您所在的位置:网站首页 › msp430G2553单片机LCD › 基于MSP430G2553的超声波测距讲解.docx |
基于MSP430G2553的超声波测距讲解.docx 《基于MSP430G2553的超声波测距讲解.docx》由会员分享,可在线阅读,更多相关《基于MSP430G2553的超声波测距讲解.docx(13页珍藏版)》请在冰豆网上搜索。 基于MSP430G2553的超声波测距讲解 本科自主创新设计 题目: 基于MSP430launchpad超声波测距系统 姓 名 孙尚威 学 院 电子工程学院 专 业 电子信息科学与技术 班 级 2013211202 学 号 2013210849 班内序号 04 指导教师 赵同刚 2015年5月 第1章绪论3 1.1项目简介3 1.2项目功能目标3 第2章超声波测距原理3 2.1超声波简介3 2.2超声波测距原理4 第3章方案论证4 3.1设计思路4 3.2硬件系统结构设计4 第4章主要元件介绍5 4.1单片机MSP430LAUNCHPADM430G25535 4.2超声波传感器HC-SR046 4.35110LCD液晶显示屏6 第5章软件设计7 5.1主程序流程7 5.2子程序设计8 5.2.1超声波发送子程序及超声波接收中断子程序8 5.2.2距离计算子程序8 5.2.3液晶显示程序9 第6章系统调试及误差分析10 6.1系统焊接10 6.2误差及特性分析10 附录一: 主要程序12 第1章绪论 1.1项目简介 本设计介绍了基于单片机控制的超声测距仪的原理: 由MSP430单片机控制定时器 产生超声波脉冲并计时,计算超声波自发射至接收的往返时间,从而得到实测距离。 用四位LCD液晶屏显示距离。 整个硬件电路由超声波发射模块、超声波接收模块、单片机控制模块、显示模块组成。 在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。 相关部分附有硬件电路图、程序流程图,给出了系统构成、电路原理及程序设计。 此系统具有易控制、可读性强和流程清晰等优点。 但稳定性有待提高,后续有待实现显示数据实时刷新的功能 1.2项目功能目标 采用单片机作为主控制器,可实现低成本、高精度、微型化测距系统。 实现50cm-300cm的基本指标的障碍物距离测试,能够实现障碍物距离的实时显示,精确到厘米。 当被测距离小于预设报警值是,红灯亮起,提示距离过近。 在测距系统中加入蜂鸣器后可以实现预设的距离报警功能,进一步改进成为智能车倒车报警系统。 第2章超声波测距原理 2.1超声波简介 我们知道,当物体振动时会发出声音。 科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹。 我们人类耳朵能听到的声波频率为20~20000赫兹。 当声波的振动频率大于20000赫兹或小于20赫兹时,我们便听不见了。 因此,我们把频率高于20000赫兹的声波称为“超声波”。 通常用于医学诊断的超声波频率为1~5兆赫。 超声波具有方向性好,穿透能力强,易于获得较集中的声能,在水中传播距离远等特点。 可用于测距,测速,清洗,焊接,碎石等。 在医学,军事,工业,农业上有明显的作用。 2.2超声波测距原理 超声波是利用反射的原理测量距离的,被测距离一端为超声波传感器,另一端必须有能反射超声波的物体。 测量距离时,将超声波传感器对准反射物发射超声波,并开始计时,超声波在空气中传播到达障碍物后被反射回来,传感器接收到反射脉冲后立即停止计时,然后根据超声波的传播速度和计时时间就能计算出两端的距离。 测量距离D为 1 Dct 2 式中c——超声波的传播速度; 1t 2——超声波发射到接收所需时间的一半,也就是单程传播时间。 第3章方案论证 3.1设计思路 超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。 由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,超声波测距仪可应用于倒车提醒、建筑工地、工业现场等的距离测量。 本实验设计并制作了了一款基于单片机的低成本、高精度、微型化的超声波测距仪。 采用单片机作为主控制器,控制发射触发脉冲的开始时间及脉宽,响应回波时刻并测量、计数发射至往返的时间差。 控制产生超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动生超声波;一旦探头接到回波,则其输出引脚的电平将从“1”变为“0”,这种 电平变化可以作为单片机对接收探头的接收情况进行实时监控。 同时还控制显示电路,实现数字显示。 3.2硬件系统结构设计 超声波测距仪系统结构如下图所示。 它主要由单片机、超声波发射及接收模块、LCD显示电路及电源电路组成。 系统主要功能包括: 1)超声波的发射、接收,并根据计时时间计算测量距离; 2)LED显示器显示距离; 3)当系统运行不正常时,用复位电路复位
第4章主要元件介绍 4.1单片机MSP430launchpadM430G2553 MSP430LaunchPad是一款易于使用的闪存编程器和调试工具,它提供了在 MSP430超值系列器件上进行开发所需的一切内容。 它提供了具有集成仿真功能的 用14或20引脚DIP封装(TI封装代码: N)的MSP430G2xx闪存器件。 LaunchPad还采用用于定制项目和应用的板载可编程LED和按钮! 10引脚PCB连 接器还可用于连接LaunchPad和附加器件。 实现在采用14或20引脚DIP(N)封装的所有MSP430超值系列器件上的开发。 LaunchPad的集成仿真器接口将基于闪存的MSP430超值系列器件与PC相连接,可通过USB实现实时系统内编程和调试。 4.2 超声波传感器HC-SR04 模块工作原理: (1)采用IO触发测距,给至少10us的高电平信号; (2)模块自动发送8个40khz的方波,自动检测是否有信号返回; (3)有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2; 4.35110LCD液晶显示屏 NOKIA公司生产的可用于其5110、6150,6100等系列移动电话的液晶显示模块。 该产品除应用于移动电话外,也可广泛应用于各类便携式设备的显示系统。 Nokia5110是一款经典机型,可能由于经典的缘故,旧机器很多,所以很多电子工程师就把旧机器的屏幕拆下来,自己驱动Nokia5110,用于开发的设备显示 1)性价比高,Nokia5110可以显示15个汉字,30个字符。 2) 接口简单,仅四根I/O线即可驱动,LCD1602需11根I/O线,LCD12864需12根。 3)速度快,是LCD12864的20倍,是LCD1602的40倍。 4)Nokia5110工作电压3.3V,正常显示时工作电流200uA以下,具有掉电模式,适合电池供电的便携式移动设备 第5章软件设计 5.1主程序流程 系统上电后,首先系统初始化,定时器开始定时,控制超声波传感器发出超声波,同时使定时器开始定时。 当出发管脚为低电平时接收到回波,立即使定时器停止工作,保存定时器的计数值。 然后根据传输时间计算距离计算出距离后调用距离显示子程序,LCD显示距离。
5.2子程序设计 5.2.1超声波发送子程序及超声波接收中断子程序 超声波发生子程序的作用是通过P2.2端口发送超声波脉冲信号(频率约40kHz的方波),脉冲宽度为12μs左右,同时把计数器T1打开进行计时。 voidsend_15us()//超声波发送15us的高电平 { P2OUT&=~BIT0; delay_us(20); P2OUT|=BIT0; delay_us(20); P2OUT&=~BIT0; } while (1) { send_15us(); delay(100); } 5.2.2距离计算子程序 当前温度和超声波往返时间均测量出来后,用C语言根据公式计算距离来编程是比较简单的算法。 TIME1=TA1CCR0; if(TIME1>TIME0){ TIME1=TIME1-TIME0; } else { TIME1=TIME1+(65535-TIME0); } Distance0=TIME1*170; Distancetest=(Distance0/10000)-7; ge=Distance_test%10+48;shi=(Distance_test/10)%10+48;bai=(Distance_test/100)%10+48;qian=(Distancetest/1000)%10+48; 5.2.3 液晶显示程序 第6章系统调试及误差分析 6.1系统焊接 以万用板做载板,将LCD显示模块,单片机控制模块以及超声波发射接收模块组合在一起。 用杜邦线连接各模块的管脚。 6.2误差及特性分析 根据超声波的特性,距离测量时必须满足条件: 1被测目标必须垂直于超声波测距仪。 2被测目标表面必须平坦。 3测量时在超声波测距仪周围没有其他可反射超声波的物体。 因此在测量过程中稍不小心就会接收不到超声波,而导致没有测量结果。 由于超声波的往返时间由单片机msp430的定时器T1来记,定时器T1工作在方式1,其最大定时时间为65.536ms,可得出最大的测量距离在10m以内。 且因为发射功率有限,测距仪也无法测量10m外的物体。 在实际的测试中3m之内有较高的测量精度。 由于程序设计的问题,在移动测距装置的过程中,LCD液晶屏上显示的数据无法实时刷新,需要在测试时按下复位按键实现距离数据的刷新。 附录一: 主要程序 #include #include"header.h"charflag_time=0;longTIME0=0,TIME1=0;longDistance_test=0;longDistance0=0;charge,shi,bai,qian; //时钟初始化voidCLK_Init(void) { if(CALBC1_1MHZ==0xFF||CALDCO_1MHZ==0xFF){ while (1); } BCSCTL1=CALBC1_1MHZ;DCOCTL=CALDCO_1MHZ; } //端口初始化 voidGPIO_Init(void) { P1DIR|=BIT4+BIT5+BIT6+BIT7; //P2.3作为捕获输入//主功能模块触发//P2.2作为触发端,设为输出 //P2.2输出低电平 //启用P1.3内部上下拉电阻//设置为上拉电阻 //P1.3为下降沿触发中断 //P1.3中断允许 P2DIR|=BIT0+BIT1;P2DIR&=~BIT3;P2SEL|=BIT3; P2DIR|=BIT2;P2OUT&=~BIT2;P1REN|=BIT3;P1OUT|=BIT3; P1IES|BIT3;P1IE|BIT3; } //定时器TIME1_A3初始化函数voidTIME1_A3_Init(void) { CCI0B, TA1CTL|=TASSEL1+ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |