欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于单片机的超声波测距系统 (2).doc

    • 资源ID:838636       资源大小:588.28KB        全文页数:20页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    基于单片机的超声波测距系统 (2).doc

    1、 基于单片机的超声波测距系统模块设计摘 要本文主要介绍了一种以CC2530单片机作为核心控制器,HC-SR04作为超声波模块,1602液晶作为液晶显示模块的超声波测距系统的设计方法。文章首先对单片机、超声波模块和液晶驱动模块做了简单的介绍; 然后分别从硬件方面和软件方面详细的分析介绍了该超声波测距系统。关键词:单片机CC2530;超声波模块HC-SR04;液晶模块1602The ultrasonic ranging system based on MCU module designABSTRACTThis paper introduces a CC2530MCU as the core con

    2、troller, HC-SR04 as the ultrasonic module, LCD1602 as a liquid crystal display module of ultrasonic distance measurement system design method. Based on SCM, ultrasonic moduleand LCD driver module is briefly introduced; and then respectively from hardware and software detailed analysis introduced the

    3、 ultrasonic ranging system.Key words: MCUCC2530、ultrasonic module HC-SR04、LCD moldule 1602 河北大学2012届本科生毕业论文(设计)1. 概论本设计是基于单片机的超声波测距系统设计。单片微型计算机的功能不断的增强,为先进的控制算法提供的载体,许多高性能的新型机种应运而生。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化领域和其他测控领域中广泛应用的器件,在工业生产中成为必不可少的器件。在测距系统中,单片机更是起到了不可替代的核心作用。1.1 课题的来源及意义随着科学技术的快速发展,

    4、超声波将在测距仪中的应用越来越广。但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。超声波测距技术在自动化技术和工业机器人中应用的比较多,尤其在工件生产线中的非接触环节和工业机器人的运动移位中,需要精确的距离测定。本设计以空气中超声波传播速度为确定条件,利用超声波的发射与反射时间差来测量待测距离。本文将介绍采用以CC2530单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。1.2 国内外发展状况历史上使用超声波来测量距离是从第二次世界大战时海军的声纳技术的发展开始。声纳是一种利用声波在水下测定目

    5、标距离和运动速度的仪器。经过几个世纪,科学家们对此反复研究,最终发现了超声波的原理。超声波测距应用于各种工业领域,如工业自动控制,建筑工程测量和机器人视觉识别等方面。超声波作为一种检测技术,采用的是非接触式测量,由于它具有不受外界因素影响,对环境有一定的适应能力,且操作简单、测量精度高等优点而被广泛应用。这些特点可使测量仪器不受被测介质的影响,大大解决了传统测量仪器存在的问题,比如,在粉尘多情况下对人引起的身体接触伤害,腐蚀性质的被测物对测量仪器腐蚀,触电接触不良造成的误测等。此外该技术对被测元件无磨损,使测量仪器牢固耐用,使用寿命加长,而且还降低了能量耗损,节省人力和劳动的强度。因此,利用超

    6、声波检测既迅速、方便、计算简单,又易于实时控制,在测量精度方面能达到工业实用的要求。然而超声波测距在实际应用也有很多局限性。由于超声波在传播过程中,声压会随距离的增大而呈指数规律衰减,远目标的回波信号幅度小、信噪比低,用固定阀值的比较器检测回波,可能导致越过门槛的时间前后移动,从而影响计时的准确性,这必然会影响到测距的准确度。另外就是构成超声波传感器的压电陶瓷片在压电的双向转换过程中,存在惯性、滞后等现象,以及超声波脉冲在空气中传播本身及多重的反射路径,均导致回波信号被展宽,也使测量产生较大的误差,影响了测距的分辨率。其他如温度,风速等也会对测量造成一定的影响。计量学在制造业中越来越重要。直接

    7、在机器上测量尤其能推动制造业的发展。目前为止大部分还是采用视觉的或触觉的测量方法。但是墙的厚度就不能用这些来测量,因此德国人把超声系统结合到机器设计出了测距方法。随着超声波的发展,早在2000年时英国人就设计出了可观察、识别并测距的超声波集成系统。2. 硬件模块简介2.1 CC2530单片机功能原理2.1.1 CC2530单片机描述 CC2530 是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CP

    8、U,系统内可编程闪存,8-KB RAM 和许多其他强大的功能。CC2530 有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB 的闪存。CC2530 具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短进一步确保了低能源消耗。 2.1.3 CC2530单片机结构CC2530 包括许多不同的外设,下面我将简单的介绍一下本次设计所要用到的外设设备:定时器1是一个16 位定时器,具有定时器/计数器/PWM 功能。它有一个可编程的分频器,一个16 位周期值,和五个各自可编程的计数器/捕获通道,每个都有一个16 位比较值。每个

    9、计数器/捕获通道可以用作一个PWM 输出或捕获输入信号边沿的时序。它还可以配置在IR 产生模式,计算定时器3 周期,输出和定时器3 的输出相与,用最小的CPU 互动产生调制的消费型IR 信号定时器3 和定时器4是8 位定时器,具有定时器/计数器/PWM 功能。它们有一个可编程的分频器,一个8 位的周期值,一个可编程的计数器通道,具有一个8 位的比较值。每个计数器通道可以用作一个PWM输出。I/O控制器负责所有通用I/O引脚。CPU可以配置外设模块是否控制某个引脚或它们是否受软件控制,如果是的话,每个引脚配置为一个输入还是输出,是否连接衬垫里的一个上拉或下拉电阻。CPU 中断可以分别在每个引脚上

    10、使能。每个连接到I/O 引脚的外设可以在两个不同的I/O 引脚位置之间选择,以确保在不同应用程序中的灵活性。2.2超声波模块器件原理2.2.1 超声波模块简介 本模块性能稳定,测度距离精确,模块精度高,盲区小。产品应用领域:机器人避障,物体测距,液位检测,公共安防,停车场检测。2.2.2 超声波模块原理单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差tr,然后求出距离SCt2,式中的C为超声波波速。限制该系统的最大可测距离存在4个因素:超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力

    11、将决定最小的可测距离。为了增加所测量的覆盖范围、减小测量误差 ,可采用多个超声波换能器分别作为多路超声波发射接收的设计方法。由于超声波属于声波范围,其波速C与温度有关。控制口发一个10US 以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,就可以达到移动测量的值。超声波模块工作原理:(1)采用 IO 触发测距,给至少10us 的高电平信号;(2)模块自动发送8 个40khz 的方波,自动检测是否有信号返回;(3)有信号返回,通过IO 输出一高电平,高电平持续的时间就是(4)超声波

    12、从发射到返回的时间测试距离=(高电平时间*声速(340M/S)/2;2.3液晶显示器件原理2.2.1 LCD1602描述所谓1602是指显示的内容为16*2,即可以显示两行,每行16个字符。LCD1602应用很普遍,市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。2.2.2 LCD1602 的引脚功能 HD44780内置了DDRAM、CGROM和CGRAM。 DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表: 也就是说想要在LCD1602屏幕的

    13、第一行第一列显示一个A字,就要向DDRAM的00H地址写入“A”字的代码就行了。但具体的写入是要按LCD模块的指令格式来进行的,后面我会说到的。那么一行可有40个地址呀?是的,在1602中我们就用前16个就行了。第二行也一样用前16个地址。对应如下: DDRAM地址与显示位置的对应关系 (事实上我们往DDRAM里的00H地址处送一个数据,譬如0x31(数字1的代码)并不能显示1出来。这是一个令初学者很容易出错的地方,原因就是如果你要想在DDRAM的00H地址处显示数据,则必须将00H加上80H,即80H,若要在DDRAM的01H处显示数据,则必须将01H加上80H即81H。依次类推。大家看一下

    14、控制指令的的8条:DDRAM地址的设定,即可以明白是怎么样的一回事了) 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如下表所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 上表中的字符代码与我们PC中的字符代码是基本一致的。因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1A这样的方法。PC在编译时就把“A”先转为41H代码了。 字符代码0x000x0F

    15、为用户自定义的字符图形RAM(对于5X8点阵的字符,可以存放8组,5X10点阵的字符,存放4组),就是CGRAM了。后面我会详细说的。 0x200x7F为标准的ASCII码,0xA00xFF为日文字符和希腊文字符,其余字符码(0x100x1F及0x800x9F)没有定义。 那么如何对DDRAM的内容和地址进行具体操作呢,下面先说说HD44780的指令集及其设置说明,请浏览该指令集,并找出对DDRAM的内容和地址进行操作的指令。共11条指令: 共11条指令:1.清屏指令功能: 清除液晶显示器,即将DDRAM的内容全部填入空白的ASCII码20H; 光标归位,即将光标撤回液晶显示屏的左上方; 将地

    16、址计数器(AC)的值设为0。2.光标归位指令 功能: 把光标撤回到显示器的左上方; 把地址计数器(AC)的值设置为0; 保持DDRAM的内容不变。 3.进入模式设置指令功能:设定每次定入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。参数设定的 情况如下所示: 位名 设置 I/D 0=写入新数据后光标左移 1=写入新数据后光标右移 S 0=写入新数据后显示屏不移动 1=写入新数据后显示屏整体右移1个字符4.显示开关控制指令功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数设定的情况如下: 位名 设置 D 0=显示功能关 1=显示功能开 C 0=无光标 1=有光标 B 0

    17、=光标闪烁 1=光标不闪烁5.设定显示屏或光标移动方向指令功能:使光标移位或使整个显示屏幕移位。参数设定的情况如下: S/C R/L 设定情况 0 0 光标左移1格,且AC值减1 0 1 光标右移1格,且AC值加1 1 0 显示器上字符全部左移一格,但光标不动 1 1 显示器上字符全部右移一格,但光标不动6.功能设定指令功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下: 位名 设置 DL 0=数据总线为4位 1=数据总线为8位 N 0=显示1行 1=显示2行 F 0=57点阵/每字符 1=510点阵/每字符7.设定CGRAM地址指令功能:设定下一个要存入数据的CGRAM的地址。8.

    18、设定DDRAM地址指令功能:设定下一个要存入数据的CGRAM的地址。 (注意这里我们送地址的时候应该是0x80+Address,这也是前面说到写地址命令的时候要加上0x80的原因)9.读取忙信号或AC地址指令功能: 读取忙碌信号BF的内容,BF=1表示液晶显示器忙,暂时无法接收单片机送来的数据或指令; 当BF=0时,液晶显示器可以接收单片机送来的数据或指令; 读取地址计数器(AC)的内容。10.数据写入DDRAM或CGRAM指令一览功能: 将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符; 将使用者自己设计的图形存入CGRAM。11.从CGRAM或DDRAM读出数据的指令一览功能:读取

    19、DDRAM或CGRAM中的内容。基本操作时序: 读状态 输入:RS=L,RW=H,E=H 输出:DB0DB7=状态字 写指令 输入:RS=L,RW=L,E=下降沿脉冲,DB0DB7=指令码 输出:无 读数据 输入:RS=H,RW=H,E=H 输出:DB0DB7=数据 写数据 输入:RS=H,RW=L,E=下降沿脉冲,DB0DB7=数据 输出:无 3.硬件电路的设计3.1 7.5V电源转换成5V液晶和超声波模块电源的连接电路由于液晶模块和超声波模块的电源是5V,所以需要将7.5V电源转换成可供模块使用的5V电源,设计该连接电路得以实现该功能。3.2 5V电源转换成3.3V单片机电源的连接电路。由

    20、于单片机的电源是3.3V,所以电源转换成5V之后,再次将设计电路,使得电源转换成适合单片机工作的3.3V电源。设计该连接电路得以实现该功能。3.3 1602液晶连接单片机的连接电路此图为1602液晶和单片机之间的连接电路,此图实现了单片机对液晶模块的控制功能。4.软件系统的设计4.1 超声波测距模块软件设计要求 设计并实现驱动超声波工作的软件系统,使超声波模块能够进行测距工作。4.11 超声波测距工作原理超声波测距是借助于超声脉冲回波度越时间法来实现。设超声波脉冲由传感器发出到接收所经历的时间为t,超声波在空气中的传播速度为c,则从传感器到目标物体的距离D可用下式求出:4.12超声波测距模块程

    21、序分析超声波模块初始化程序延时10us命令void delay_10us() int a; for(a=0;a320;a+); 延时ms命令void delay_ms(uint b) int t; b=b*32; for(t=0;tb;t+); 超声波发送命令#include float counter9;float count;#define uchar unsigned char#define uint unsigned intsbit trig=P00;sbit echo=P01;void main() P0SEL=ox00; P0DIR=ox01; while(1) T1CNTL=0;

    22、 T1CNTH=0; trig=1; delay_10us(); trig=0; while(!echo) T1CTL=0x0b; while(echo) T1CTL=0x00; count=T1CNTL; count=count+T1CNTH*256; 4.2 液晶显示软件设计要求设计并实现驱动液晶模块工作的软件系统,使液晶能够正常显示文字或图形。4.21液晶显示软件主要内容按照本设计要求,本课题的液晶显示软件包括初始化、数据传送和显示应用程序两部分。初始化部分包括对液晶显示模块的初始化设置、液晶显示模块的显示RAM清零、单片机内部RAM的清零。数据传送部分包括液晶显示模块的数据传送、写入液

    23、晶命令。 显示应用程序部分包括测距显示主程序。4.22液晶显示模块程序分析初始化命令: void lcd() uchar i=0;delayms(30000);in_command(0x01);in_command(0x38);in_command(0x0c);in_command(0x06); in_command(0x80);while(line1_stri!=0)in_data(line1_stri);i+; 此命令实现了液晶显示模块的显示RAM清零、单片机内部RAM的清零。数据传送命令:void in_data(uchar dat)delayms(2000);en=0;/关闭通信,为设

    24、置参数做准备rs=1;/选择数据寄存器rw=0;/写入液晶_nop_();data_port=dat;_nop_();en=1;/开始通信_nop_();en=0;/关闭通信,为设置参数做准备此命令实现了单片机将监测数据发送到液晶模块的过程。液晶写入命令:void in_command(uchar com)delayms(2000);en=0;/关闭通信,为设置参数做准备rs=0;/选择指令寄存器rw=0;/写入液晶_nop_();data_port=com;en=1;/开始通信_nop_();en=0;/关闭通信,为设置参数做准备此命令实现了数据写入进液晶模块的过程。显示命令:void di

    25、splay()static uint i;/定义静态变量ii=(counter*170)/1000;/i的值为距离的值,单位:mmin_command(0x87);/数据的显示的起始地址in_data(num_tabi/10000);/显示距离的十位i=i%10000;/取余in_data(num_tabi/1000);/显示距离的个位in_data(.);/小数点儿i=i%1000;/取余in_data(num_tabi/100);/显示分米i=i%100;/取余in_data(num_tabi/10);/显示厘米i=i%10;/取余in_data(num_tabi);/显示毫米in_dat

    26、a(m);in_data(m);/单位mm此命令实现了将写入液晶模块的数据显示出来的功能。延时msvoid delay_ms(uint b) int t; b=b*32; for(t=0;tb;t+); 此命令实现了延时ms的功能。主程序#include #define uchar unsigned char#define uint unsigned int#define data_port P1sbit rs=P00;sbit rw=P01;sbit en=P02;uchar code line_1=length;uchar code num_tab=0123456789;void main

    27、() lcd(); P0SEL=0x00; P0DIR=0x07; P1SEL=0x00; P1DIR=0xff; while(1) display(); delay_ms(10000); 此为程序主体,实现了确保液晶模块正常显示测距结果的功能。参考文献1 李维諟、郭强等, 液晶显示应用手册, 电子工业出版社, 北京,20022 郭强,液晶显示应用技术,电子工业出版社,北京,20003 施善定等,液晶与显示应用,华东化工学院出版社,上海,19934 杨光友、朱宏辉,单片微型计算机原理及接口技术,中国水利水电出版社,北京,20025 胡汉才,单片机原理及其接口技术,清华大学出版社,北京,1999

    28、6 王承发 刘岩,微机接口技术,高等教育出版社,北京,19967 耿长清,单片机应用技术,化学工业出版社,北京,19968 张健,李钢.超声波测距系统的研究与设计.合肥工业大学学报,2004,6:279 高飞燕.基于单片机的超声波测距系统的设计J.信息技术; 2005年07期; 135-13610 刘凤然.基于单片机的超声波测距系统J.传感器世界,2000,(5).11 宋敬国,李元宗,徐玉华.P IC单片机在超声波测距系统中的应用J.机械工程与自动化,机械工程与自动化,2007,4:118-12312 周玲,张记龙,洪志刚.基于单片机的液位超声检测电路设计l科技情报开发与经济,2006,16(2):230一232致 谢本毕业设计是在赵晓军教授和研究生师兄的悉心指导下完成的。在我确定了毕业实际题目开始赵老师给了我许多有益的指导和帮助,老师渊博的学识、严谨的治学作风、敏锐的学术洞察力都给了我莫大的启迪和鞭策在此谨向赵老师表示诚挚的谢意,老师孜孜不倦的敬业精神和精益求精的工作态度永远使我学习的榜样。在这一段时间里,赵老师在学习上对我严格要求、耐心指导,给了我无微不至的关怀。同时实验室里的研究生师兄在这期间也给了我许多关心和帮助,在次表示衷心的感谢。感谢各位专家、老师在百忙之中审阅此论文并不吝赐教。20


    注意事项

    本文(基于单片机的超声波测距系统 (2).doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922