欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    《遥控遥测技术》课程论文基于单片机的超声波测距系统的设计.doc

    • 资源ID:4142927       资源大小:10.29MB        全文页数:22页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《遥控遥测技术》课程论文基于单片机的超声波测距系统的设计.doc

    南京信息工程大学南京信息工程大学 遥控遥测技术课程论文遥控遥测技术课程论文 题 目:基于单片机的超声波测距系统的设计 学生姓名:学生姓名:*学学 号号:2009*学学 院院:*专专 业业:*指导教师指导教师:*2012 年年 05 月月 20 日日 1 摘要:超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,所以,在利用传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍的一种,它广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。本设计详细介绍了超声波传感器的原理和特性,分析了超声波测距的原理的基础上,指出了设计测距系统的思路和所需考虑的问题,给出了以 STC89c52 单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。该系统电路设计合理、工作稳定、性能良好、检测速度快、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。关键词:超声波 单片机 测距 STC89c52 Abstract Ultrasonic wave has strong pointing to nature,slowly energy consumption,propagating distance farther,so,in utilizing the scheme of distance finding that sensor technology and automatic control technology combine together,ultrasonic wave finds range to use the most general one at present,it applies to guard against theft,move backward the radar,water level measuring,building construction site and some industrial scenes extensively。This subject has introduced principle and characteristic of the ultrasonic sensor in detail,on the basis of analyzing principle that ultrasonic wave finds range,the systematic thinking and questions needed to consider that have pointed out that designs and finds range,provide low cost,the hardware circuit of high accuracy,ultrasonic range finder of miniature digital display and software design method taking STC89c52 as the core,this circuit of system is reasonable in design,working stability,performance good measuring speeding soon,calculating simple,apt to accomplish real-time control,and can reach industrys practical demand in measuring the precision。Key Words:Ultrasonic wave;One-chip computer;Range finding;STC89c52 1 引言:测量距离的方法有很多种,短距离的可以用米尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为 331.45 米/秒,由单片机负责计时,系统的测量精度理论上可以达到毫米级。2 系统设计方案 2.1超声波测距的原理 超声波测距的原理一般采用渡越时间法 TOF(time of flight),也可以称为回波探测法,如图所示。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在介质中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。根据传声介质的不同,可分为液介式、气介式和固介式三种。根据所用探头的工作方式,又可分为自发自收单探头方式和一发一收双探头方式。而倒车雷达一般是装在车尾,超声波在空气中传播,超声波在空气中(20)的传播速度为 340m/s(实际速度为 344m/s 这里取整数),根据计时器记录的时间就可以计算出发射点距障碍物的距离,公式340*/2St。图 1 超声波测距原理 由于超声波也是一种声波,其声速 c 与温度有关,表 1 列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。表 1 声速与温度的关系 温度()30 20 10 0 10 20 30 100 声速(m/s)313 319 325 323 338 344 349 386 2.2设计框图 本研究设计的超声波测距仪框图如图所示。US-100超声波收发模块触发电路中断接收计算距离模拟电压信号LCD距离显示STC89C52单片机声光报警 超声波测距仪方框图 2.3 US-100 超声波收发模块 该超声波收发模块可自己产生 40kHz 的方波,并经放大电路驱动超声波发射探头发射超声波,发射出去的超声波经障碍物反射后由超声波接收探头接收。经接收电路的检波放大,积分整形,在 ECHO 引脚上产生方波脉冲,该脉冲宽度与被测距离成线性关系。具体过程如图 3 所示。US-100 超声波收发模块工作时序图 上图表明:只需要在 Trig/TX 管脚输入一个 10us 以上的高电平,系统便可发出 8 个 40KHZ 的超声波脉冲,然后检测回波信号,当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过 Echo/RX 管脚输出。在此模式下,模块将距离值转化为 340m/s 时的时间值的 2 倍,通过 Echo端输出一个高电平,可根据此高电平的持续时间来计算距离值。即距离值为:(高电平时间*340m/s)/2 注:因为距离值已经经过温度校正,此时无需再根据环境温度对超声波声速进行校正,也就是不管温度多少,声速选择 340m/s 即可。使用 US-100 超声波收发模块进行距离测量测量时,单片机只需要输出触发信号,并监视回响引脚,通过定时器计算回响信号宽度,并换算成距离即可。该模块简化了发送和接收的模拟电路,工作稳定可靠,其参数指标如表 2 所示。表 2 US-100 模块电气参数 应注意测量周期必须在 60 毫秒以上,防止发射信号对回响信号的影响。US-100 超声波模块外形图 2.4 2.4 单片机电路 本设计选用单片机 STC89C52,其管脚如图所示。STC89C52 单片机管脚图 该芯片为 52 内核 8 位单片机,兼容 Intel 等 52 内核单片机,支持 ISP 下载,适用于常用检测控制电路。由 STC89C52 组成的单片机系统原理图如图 6 所示。图中 TRIG 引脚为单片机发送触发信号的引脚,ECHO 引脚为 US-100 模块送回回响信号的引脚,接至单片机外部中断 P3.2 脚上,可以利用外部中断测量回响信号宽度。当测量距离小于阈值 20cm 时,单片机通过管脚 P3.6 发出灯光报警信号,触发 LED 报警灯亮,同时通过管脚 P3.7 发出声音报警信号 beep,该信号用以触发蜂鸣器鸣响报警。图 6 单片机系统及超声波模块接口原理图 2.5 蜂鸣器报警电路 图 7 所示为蜂鸣器报警电路。由于单片机管脚的灌电流比拉电流容量大,因此电路设计为低电平输出时蜂鸣器响,高电平关闭。当 P3.7 脚输出低电平时,PNP 型三极管 8550 导通,有集电极电流通过,蜂鸣器鸣响。当 P3.7 脚输出高电平时,三极管截止,蜂鸣器关闭。图 7 蜂鸣器报警电路 5 显示电路 显示部分采用 SMC 1602 液晶屏进行数据显示,其主要技术参数为:表 3 液晶屏技术指标 接口信号说明如表 4 所示。表 4 液晶屏接口信号说明 与单片机接口电路如图 8 所示。图 8 LCD 与单片机接口电路 6 供电及程序下载电路 本设计采用 USB 接口供电,电源电压 5V。同时,USB 接口通过内含 PL2303芯片的转换电路对单片机进行程序编写。其电路原理如图 9 所示。图 9 供电及程序下载电路 3 软件编程 3.1软件流程图 本设计软件主程序流程图如图 10 所示,(a)为主程序流程图,(b)为定时中断子程序流程图,(c)为外部中断子程序流程图。数据初始化定时器初始化显示初始化进入后台while循环超声波测量触发有回波否?延时60ms外部中断子程序有无计算距离并显示距离小于20cm否?声光报警是否 外部中断入口读取定时器当前值置测量成功标志返回 (a)主程序流程图 (b)外部中断流程图 图 10 程序流程图 3.2主程序 (1)头文件和一些宏定义/*/*超声波测距仪*/*(液晶屏显示)*/*晶振 11.0592MHz*/#include#include 1602.h typedef unsigned char U8;/*defined for unsigned 8-bits integer variable 无符号 8 位整型*/typedef signed char S8;/*defined for signed 8-bits integer variable 有符号 8 位整型*/typedef unsigned int U16;/*defined for unsigned 16-bits integer variable 无符号 16 位整型*/typedef signed int S16;/*defined for signed 16-bits integer variable 有符号 16 位整型*/typedef unsigned long U32;/*defined for unsigned 32-bits integer variable 无符号 32 位整型*/typedef signed long S32;/*defined for signed 32-bits integer variable 有符号 32 位整型*/typedef float F32;/*single precision floating point variable(32bits)单精度浮点数 32 位长度*/typedef double F64;/*double precision floating point variable(64bits)双精度浮点数 64 位*/定时器 0 的定时值为 1mS,即 11059/12=922 个时钟脉冲,其补为 65536-922=64614#define SYSTEMCLK 921600 /11059200/12#define T0CLK 921600 /11059200/12#define T1CLK 921600 /11059200/12#define T1PERIOD 1000000/921600 /T1 周期时间,以微秒为单位,约为 1.085uS#define TIMER0H 0 xFC /64614/256=252#define TIMER0L 0 x66 /54447%256=102 (2)管脚、常量、变量定义和函数声明/管脚定义 sbit Trig=P13;sbit Echo=P32;/回波必须接在外部中断引脚上 sbit LedAlarm=P36;/报警灯,低电平亮 sbit Beep=P37;/报警蜂鸣器 /定义标志 volatile bit FlagSucceed=0;/测量成功标志 volatile bit FlagDisplay=0;/显示标志 /定义全局变量 U16 DisplayCount=0;U16 time=0;U32 distance=0;/函数声明 void delay_20us();void Start_Module();void INT0_Init(void);void Data_Init();void Timer0_Init();void Timer1_Init();(3)各子程序/20us 延时程序,不一定很准 void delay_20us()U16 bt;for(bt=0;bt=1000)/1 秒钟显示一次 FlagDisplay=1;DisplayCount=0;/定时器 1 初始化,16 位计数模式,时钟为 11059200/12=921600Hz/60ms 计数为 55296,即 0 xD800 void Timer1_Init()TMOD=0 x11;/定时器 0 和 1 工作在 16 位方式 TH1=0;TL1=0;ET1=1;/启动模块,Trig 管脚 20us 正脉冲 void Start_Module()/启动模块 Trig=1;/启动一次模块 delay_20us();Trig=0;/*名称:Main()*功能:主函数*/void main()U16 i,j;EA=0;INT0_Init();Timer0_Init();/定时器 0 初始化 Timer1_Init();/定时器 1 初始化 Data_Init();EA=1;L1602_init();L1602_string(1,1,Welcome to my );L1602_string(2,1,distance meter!);/延时 for(i=0;i1000;i+)for(j=0;j1000;j+);while(1)EA=0;/以下为一次检测过程:先发出 Trig 电平,打开外部中断,清零 T1,/最后在外部中断下降沿触发时取出 T1 当前值,计算出 Trig 脉冲宽度。Start_Module();while(Echo=0);/等待 Echo 回波引脚变高电平 FlagSucceed=0;EX0=1;TH1=0;TL1=0;TF1=0;TR1=1;/启动定时器 1 开始计数 EA=1;while(TH180);/盲区 TR1=0;/关闭定时器 1 EX0=0;/关闭外部中断 if(FlagSucceed=1)/一次测试成功,则计算距离,单位为厘米 distance=time*1.085;/计算得到脉冲时间(以微秒为单位)/将微秒时间转变成厘米距离的算法:Y 米=(X 秒*344)/2 /X 秒=(2*Y 米)/344=X 秒=0.0058*Y 米=厘米=微秒/58 distance/=58;/如果距离小于 20cm,则声光报警 if(FlagSucceed=1)&(distance 20)LedAlarm=0;Beep=0;else LedAlarm=1;Beep=1;if(FlagDisplay=1)/1 秒显示时间到 if(FlagSucceed=0)/LCD 提示无回波 L1602_string(1,1,OutOfRange(0-4m);L1602_string(2,1,-);else /LCD 显示数据 L1602_string(1,1,Distance Result:);L1602_string(2,1,cm );L1602_int(2,5,distance);FlagDisplay=0;3.3 显示程序/*文件名 :液晶 1602 显示.c*描述 :该程序实现了对液晶 1602 的控制。*/#include 1602.h#include math.h /*名称:delay()*功能:延时,延时时间大概为 140US。*输入:无*输出:无*/void delay()int i,j;for(i=0;i=10;i+)for(j=0;j=2;j+);/*名称:Convert(uchar In_Date)*功能:因为电路设计时,P0.0-P0.7 接法刚好与资料中的相反,所以设计该函数。*输入:1602 资料上的值*输出:送到 1602 的值*/uchar Convert(uchar In_Date)/*uchar i,Out_Date=0,temp=0;for(i=0;i i)&0 x01;Out_Date|=(temp=0)sign=0;else sign=1;temp=abs(num);baiwei=temp/100;temp=temp-baiwei*100;shiwei=temp/10;gewei=temp-shiwei*10;num=abs(num);if(num=100)if(sign=1)/负数 L1602_char(hang,lie,-);L1602_char(hang,lie+1,baiwei+48);L1602_char(hang,lie+2,shiwei+48);L1602_char(hang,lie+3,gewei+48);else if(num=10)if(sign=1)L1602_char(hang,lie+1,-);L1602_char(hang,lie+2,shiwei+48);L1602_char(hang,lie+3,gewei+48);else if(sign=1)L1602_char(hang,lie+2,-);L1602_char(hang,lie+3,gewei+48);4 下载调试 当程序在 uVision 环境下编写完成,并编译生成.hex 文件后,就可以下载并进行调试了。若无法写入程序,要检查下载器是否安装正确,若无误就检查电路是否有漏焊虚焊元件是否正常等问题 5 实物图 6 元件选择 超声波测距仪超声波测距仪(报警报警)元器件清单元器件清单 元件名 标称值 说明 单价 数量 合计 C1 10uF/16V 电解电容 1 C2 20pF 1 C3 20pF 1 C4 0.1uF 1 C5 22uF/16V 电解电容 1 R1 1k 1 R2 10k 1 R3 1k 1 R4 10k 1 R5 1k 1 R6 1k 1 L1 绿色 发光管 1 L2 红色 发光管 1 K1 电源按钮 1 D1 1N4148 1 Y1 11.0572M 晶振 1 U1 STC89C52 单片机 1 U2 US-100 超声波模块 1 液晶屏 LCD1602 1 J1 USB 插座 4 脚插针 1 J2 显示接口 16 脚插座 1 B1 蜂鸣器 1 V1 三极管 8550 单片机插座 1 LCD 转接插座 16 脚插针 2 USB 下载线 1 连接导线 1 电路板 1 7 总结 超声波测距是工业上用的比较多的一种技术,廉价,精度高,适合于人员无法实地测量的场合,缺点是对环境要求非常高,非常容易受到干扰。在调试过程中需要非常大的耐心,因为有些很细小的问题是很难发现的,比如调试时就出现了一个引脚虚焊和最小系统接错的情况,用万用表找了好久才找到问题。7 参考文献 1 邹应全 51 单片机原理与实验教程 西安电子科技大学出版社 2 郭天祥 51 单片机 C 语言教程北京:电子工业出版社 3 韩久强 现代遥控遥测技术与系统 清华大学出版社

    注意事项

    本文(《遥控遥测技术》课程论文基于单片机的超声波测距系统的设计.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开