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

    基于单片机的超声波测距系统设计毕业论文.doc

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

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

    基于单片机的超声波测距系统设计毕业论文.doc

    青 岛 科 技 大 学本 科 毕 业 设 计 (论 文)基于单片机的超声波测距系统设计题 目 _XXX指导教师_XXX辅导教师_XXX学生姓名_090804XXX学生学号_ 信息科学与技术学院092XXXXXXXX_院(部)_ 专业_班2013621_年 _月 _日基于单片机的超声波测距系统设计摘 要超声波是一种指向性强,能量消耗缓慢,在介质中传播距离较远的声波,很适合用于距离测量。目前国内一般是用专用集成电路设计超声波测距仪,但是成本高,没有显示,操作使用不方便,拓展不灵活。而基于单片机的超声波测距克服了上述缺点,所以应用非常广泛,这种设计要求非接触式测距。本设计是以单片机技术为基础,实现对前方物体距离的测量。该系统设计主要由主控制器模块、超声波发射模块、超声波接收模块和显示模块等四个基本模块构成,用接收部分接收超声波。本设计利用两个中断,在发射信号时,打开定时器中断0和外部中断0使定时器计时,接收到发射超声波信号时,外部中断0关闭中断,这时定时器中断0计录的时间就为超声波传播经过测距仪到前方物体的来回时间,经过单片机处理得到距离值S并且通过LCD1602显示出来。本设计在室温条件下的精确度能达到3mm以内,但是要求被测量物体周围比较空旷而且空气温度要求是室温精确度才会达到以上精度。关键词:单片机,超声波传感器,LCD1602The design of ultrasonic range finder based on single chip microcomputerABSTRACTUltrasonic is a kind of strong directivity, energy consumption slow, in the medium distance transmission of sound waves, very suitable for distance measurementAt present domestic general is to use ultrasonic rangefinder application-specific integrated circuit design, but the cost is high, no display, operation is not convenient, not flexible. The ultrasonic ranging based on single chip microcomputer to overcome the above shortcomings, so the application is very broad, this non-contact ranging design requirements. This design is based on single chip microcomputer technology, realizes the measurement of the front object distance. The system design is mainly composed of main controller module, ultrasonic launch module, ultrasonic receiving module and display module and so on four basic modules, with a receiving part receiving ultrasound. This design uses two interrupts, when transmitting, open the timer interrupt 0 timer and external interrupt 0 timer, receives the side of launch ultrasonic wave signal, the external interrupt 0 closed interrupted, then the timer interrupt 0 meter to record the time for the ultrasonic propagation through the range finder to the object in front of the time back and forth. And the result is treated with single chip microcomputer distance values S and through LCD1602 display. This design at room temperature under the condition of precision can reach less than 3 mm, but the request was required measure around an object is open and the air temperature is above room temperature will reach the precision accuracy. KEY WORDS: single chip microcomputer; ultrasound sensor; LCD1602 目 录1 绪论11.1选题背景11.2研究意义12 超声波测距系统总体设计221超声波测距系统设计的目的和要求222 超声波测距系统的工作原理23 超声波测距系统硬件设计43.1 AT89S52单片机的概述43.2 LCD1602液晶显示器103.2.1 LCD1602模块的结构103.2.2 LCD1602与单片机的连接方式123.3 HC-SR04超声波测距模块123.4 系统设计144 超声波测距系统软件设计1641 设计原理图及分析1642 设计说明175 超声波测距模块测试196 结论201 绪论1.1选题背景由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因此它被广泛应用于距离的测试。使用超声波检测往往更快速,方便,计算简单,易于做到实时控制,并且在测量精度方面能达到工业使用的要求,测量时与被测物体无需直接接触,这些优点使其具有广泛的实际应用,被广泛应用于液位、井深、管道长度等测量。例如建筑施工单位的距离测量,汽车倒车防撞系统,潜艇超声波探头定位系统等1。目前国内一般是用专用集成电路设计超声波测距仪,但是成本高,没有显示,操作使用不方便,拓展不灵活。而基于单片机的超声波测距克服了上述缺点,所以应用非常广泛,这种设计要求非接触式测距。本人设计了一个项目,该设计可广泛用于生活、军事等各个领域,该设计需要设计者有较好的数电、模电知识,并且具有一定的C语言编程能力,综合运用以上知识实现对超声波发射与接收信号进行控制、计算、处理,最后在LCD1602液晶显示器上显示。测量范围:2cm-400cm,测量精度3mm,不与被测物体直接接触测量,可显示清晰、稳定的测量结果。1.2研究意义在基于传统的测量距离存在不可克服的缺陷。例如,液面测量就是一种距离测量,传统的电极法是采用差位分布电极,通过给电或脉冲来检测液面,电极长期浸泡于水中或其他液体中,极易被腐蚀、电解,失去灵敏性。由于超声波具有强度大,方向性好等特点,利用超声波测量距离就可以解决这些问题。随着人们生活水平的提高,城市发展建设的加快,城市车辆逐渐增多,因为停车不当而造成的交通事故也越来越多。为了避免此类事故的发生,一个能够直观测出汽车与障碍物之间的距离的装置就变得十分重要。它可以及时将车辆与障碍物之间的距离反应出来,给司机以更准确的信息和更多的反应时间,减少事故的发生。此外,超声波测量距离技术还在工业控制、勘探测量、机器人定位和军事应用等领域得到了广泛的应用。超声波测距电路可以由传统的模拟或者数字电路构建,但是基于这些传统电路构建的系统往往可靠性差,调试困难,可扩展性差,所以基于单片机的超声波测距系统被广泛的应用。通过简单的外围电路发生和接收超声波,单片机通过采样获取到超声波的传播时间,用软件来计算出距离,并且可以采集环境温度进行测距补偿,其测量电路小巧,精度高,反映速度快,可靠性好。2 超声波测距系统总体设计21超声波测距系统设计的目的和要求(1)超声波测距系统的设计目的这个设计的主题是超声波测距仪的设计,我们可以看到设计目标是利用HC-SR04超声波测距模块测量距离。通过超声波发射器向某一方向发射超声波,在发射时刻同时开始计时,超声波在空气中传播,途中遇到障碍物就立即返回来,超声波接收器接收到反射波就立即停止计时。超声波在空气中的传播速度为c(本次设计默认值为340m/s),从超声波信号发送到接收器接收到返回信号所用的时间为t,由此可以计算出超声波发射点距障碍物的距离s。计算公式:s=(c×t)/2 (2-1)其中,s为被测物与测距仪的距离,c为声速,t为声波往返所用的时间。要设计出超声波测距仪,首先超声波传感器发射部分发射超声波信号的同时要让定时器0开始计时;再要让超声波传感器接受部分接受超声波信号的同时让定时器停止计时;最后要使计时的时间转换为测量的距离,并且要达到一定的精度。这个设计中,用定时器0计时,端口判断接收超声波信号。这样可以把测量的时间转化为测量的距离值,又可以使测量达到所需要的精度。在本设计里需要用到的AT89S52单片机、HC-SR04超声波测距模块、LCD1602液晶显示器等将在后面介绍。(2)超声波测距仪系统设计的要求:Ø 设计的控制电路、技术实现方式使用AT89S52单片机控制。Ø 采用超声波测距(非接触式)方式实现。Ø 采用LCD1602液晶显示器显示结果。以上的设计目的、要求是超声波测距仪设计的依据。22 超声波测距系统的工作原理超声波测距方法的原理通常是使用时间差。首先测量从发射超声波到遇到障碍后返回的总时间,测量装置利用单片机与HC-SR04超声波测距模块处理,最后通过LCD1602液晶显示器显示测量点与障碍物之间的距离。超声波测距仪主要由三个部分组成,包括AT89S52微控制器,HC-SR04超声波测距模块,LCD1602液晶显示器。其原理图如图2-1所示。障 碍 物超声波发射器超声波接收器单片机驱动电路LCD显示图2-1 超声波测距仪原理框图Figure 2-1 Block diagram of the ultrasonic range finder由上图可以看出,硬件电路设计主要包括单片机系统,超声波发射器和超声波接收器,显示电路四部分组成。控制器也可以用AT89S52单片机微控制器系列兼容系列代替单片机对超声波发射器进行控制,超声波接收器把检测到的信号输入到单片机中,然后通过内部程序对传输的信号进行分析、计算和处理,最后由LCD1602显示测量距离的最终值。工作原理:(1)采用IO口TRIG触发测距,给最少10us的高电平信呈。(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S)/2。3 超声波测距系统硬件设计3.1 AT89S52单片机的概述单片机AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案3。 AT89S52的组成包括以下部分: 8k字节Flash、256字节RAM、32位I/O口线、看门狗定时器、2个数据指针、三个16位定时器/计数器、一个6向量2级中断结构、全双工串行口。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。主要性能 与MCS-51单片机产品兼容 8K字节在系统可编程Flash存储器 1000次擦写周期 全静态操作:0Hz33Hz 三级加密程序存储器 32个可编程I/O口线 三个16位定时器/计数器 八个中断源 全双工UART串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符图3-1 AT89S52引脚结构Figure 3-1 AT89S52 pin structure3.1.1引脚描述:VCC : 电源 GND: 地 P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1口是一个具有内部上拉电阻的8位双向I/O 口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。 表 3-1 P1引脚功能图Table 3-1 P1Pin Function Chart 引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O 口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3口:P3口是一个具有内部上拉电阻的8位双向I/O 口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。表3-2 P3引脚功能图Table 3-2 P3 Pin Function Chart引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT0(外部中断0)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通) RST: 复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效4。 PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。 EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。3.1.2特殊功能寄存器图3-2 特殊功能寄存器地址Figure 3-2 Special Function Register address特殊功能寄存器(SFR)的地址空间映像如图 3-2所示。并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址,一般将得到一个随即数据:写入的数据将会无效。用户不应该给这些未定义的地址吸入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。一些特殊功能寄存器包括:定时器2寄存器、中断寄存器、双数据指针寄存器、掉电标志位。3.1.3 存储器结构AT89S52器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。程序存储器:如果 EA 引脚接地,程序读取只从外部存储器开始。对于 89S52,如果 EA 接 VCC,程序读写先从内部存储器(地址为 0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。数据存储器:A T89S52 有 256 字节片内数据存储器。高 128 字节与特殊功能寄存器重叠。也就是说高 128 字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于 7FH 的地址时,寻址方式决定 CPU 访问高 128 字节 RAM 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。例如,下面的直接寻址指令访问 0A0H(P2 口)存储单元MOV 0A0H, #data 使用间接寻址方式访问高 128 字节 RAM。例如,下面的间接寻址方式中,R0 内容为0A0H,访问的是地址 0A0H 的寄存器,而不是 P2 口(它的地址也是 0A0H) 。MOV R0, #data 堆栈操作也是简介寻址方式。因此,高 128 字节数据 RAM 也可用于堆栈空间。3.1.4 中断AT89S52有6个中断源:两个外部中断(INT0和INT1),三个定时中断(定时器 0、 1、2)和一个串行中断。这些中断如图3-3所示每个中断源都可以通过置位或清除特殊寄存器 IE 中的相关中断允许控制位分别使得中断源有效或无效。IE 还包括一个中断允许总控制位 EA,它能一次禁止所有中断。如图3-3 所示,IE.6位是不可用的。对于AT89S52,IE.5位也是不能用的。用户软件不应给这些位写1。它们为AT89系列新产品预留。定时器2可以被寄存器 T2CON中的 TF2 和 EXF2 的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上, 中断服务程序必须判定是否是 TF2 或 EXF2 激活中断,标志位也必须由软件清0。定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的 S5P2 被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来图 3-3 中断功能图Figure 3-5 Interrupt Function Chart3.1.5 晶振特性如图3-4所示,AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件的话,XTAL2可以不接,而从XTAL1接入,如图3-5所示。由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。 图 3-4 内部振荡电路连接图 图3-5 外部振荡电路连接图Figure 3-4 Internal oscillator circuit Figure 3-5 External oscillator circuit connection diagram connection diagram 3.1.6 空闲模式在空闲工作模式下,CPU 处于睡眠状态,而所有片上外部设备保持激活状态。这种状态可以通过软件产生。在这种状态下,片上 RAM 和特殊功能寄存器的内容保持不变。空闲模式可以被任一个中断或硬件复位终止。由硬件复位终止空闲模式只需两个机器周期有效复位信号,在这种情况下,片上硬件禁止访问内部 RAM,而可以访问端口引脚。空闲模式被硬件复位终止后,为了防止预想不到的写端口,激活空闲模式的那一条指令的下一条指令不应该是写端口或外部存储器。3.1.7 掉电模式在掉电模式下,晶振停止工作,激活掉电模式的指令是最后一条执行指令。片上 RAM和特殊功能寄存器保持原值, 直到掉电模式终止。 掉电模式可以通过硬件复位和外部中断退出。复位重新定义了 SFR 的值,但不改变片上 RAM 的值。在 VCC 未恢复到正常工作电压时, 硬件复位不能无效, 并且应保持足够长的时间以使晶振重新工作和初始化。3.2 LCD1602液晶显示器3.2.1 LCD1602模块的结构3.2.1.1 概述(1)液晶显示屏是以若干个5 ×7/8 或5 ×10/11 点阵块组成的显示字符群,每个点阵块为一个字符位,字符间距和行距都为一个点的宽度。 (2)主控制驱动IC为HD44780 及其他公司全兼容IC如:NT3881 NOVATEK KS0066 SAMSUNG SPLC78A01 SUNPLUS 。 (3)具有字符发生器ROM,可显示192种字符,160个5 ×7 点阵字符和32个5 ×10点阵字符。 (4)具有64个字节的自定义字符RAM ,可自定义8个5× 8 点阵字符或4个5× 11点阵字符。 (5)具有80个字节的RAM。 (6)标准的接口特性,适配M6800 系列MPU的操作时序。 (7)模块结构紧凑轻巧装配容易。 (8)单+5V 电源供电。 (9)低功耗、长寿命、高可靠性。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。因此,本设计选择它作为显示器,如图3-6所示:图3-6 LCD1602实物图Figure 3-6 LCD1602 Physical map3.2.1.2 模块接口说明1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。LCD1602液晶模块引脚,具体说明如下表3-3所示:表3-3 LCD1602的管脚号及功能Table 3-3 LCD1602 Pin numbers and functions第1脚VSS为地电源第2脚VDD接5V正电源第3脚V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。实际电路中采用2K电阻到地,比较理想。第4脚RS为寄存器选择,高电平选择数据寄存器、低电平选择指令寄存器。第5脚RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时 (00)可以写入指令或者显示地址;当RS为低电平RW为高电平时(01)可以读入忙信号;当RS为高电平RW为低电平时(10)可以写入数据。第6脚E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚D0D7为8位双向数据线。第1516脚背光阳极和背光阴极。3.2.2 LCD1602与单片机的连接方式 在实际应用中,液晶模块与单片机的连接方式很多,从占用I/O口线的多少来分有串行方式和并行方式,其中串行方式速度较慢,占用的口较少,并行方式分为4线和8线,速度较快,占用的I/O口多,实际应用中以并行方式居多。LCD1602的管脚共有16个之多,但是连接的电路并不复杂。需要注意的是LCD的电源共有2组,一组是用于驱动LCD显示,另一组用于背光显示。可将这两组连在一起或者背光电源省略。另外有个输入管脚V0需要接入LCD调整电压来调节对比度。通常刚使用液晶时的问题是由此引起的,对比度过高或过低均会使屏幕无法正常显示。它可接2K到地。目前市场上某些LCD1602的对比度可由单片机操作其寄存器调节,可根据不同的条件进行选择。其余的端口均连接至单片机。本文将IO口DB0-DB7连接至P1口,RS、RW、E、分别连接至P3.0至P3.2。它的P1口和P3口的部份引脚与1602液晶显示连接电路如图3-7所示:图3-7 单片机与液晶屏的连接Figure 3-7 MCU and LCD screen connection3.3 HC-SR04超声波测距模块HC-SR04超声波测距模块可提供0.02m-4m的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。它的基本工作原理为:(1)采用IO口TRIG触发测距,给至少10us的高电平信号;(2)模块自动发送8个40KHZ的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S)/2;图3-8 HC-SR04超声波测距模块实物图Figure 3-8 HC-SR04 Ultrasonic Ranging Module physical map如图3-8所示,VCC供5V的电源,GND为地线,TRIG触发控制信号输入,ECHO回响信号输出。电气参数:表3-4 HC-SR04超声波模块的电气参数Table 3-4 HC-SR04 Electrical parameters of ultrasonic module电气参数HC-SR04超声波模块工作电压DC 5 V工作电流15mA工作频率40Hz最远射程4m最近射程2cm测量角度15 度输入触发信号10uS 的 TTL 脉冲输出回响信号输出 TTL 电平信号,与射程成比例规格尺寸45*20*15mm超声波时序图: 图3-9 超声波时序图Figure 3-9 Ultrasonic Timing Diagram以上时序图3-9表明本设计只需要提供一个10us以上脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:距离=高电平时间*声速(340m/s)/2;建议测量周期为 60ms 以上,以防止发射信号对回响信号的影响。3.4 系统设计硬件电路的设计主要包括AT89S52单片机系统及LCD1602液晶显示电路、超声波发射电路和超声波检测接收电路(利用HC-SR04 超声波测距模块完成)四部分。(1)超声波传感器的原理及应用:超声波传感器分为集成与独立的发送和接收到两种。本设计采用超声波传感器发射接收分离式。(2)单片机的应用:比较常用的单片机有INTEL公司的MCS-51系列单片机,有两大系列MCS-51子系列和MCS-52子系列及ATMEL公司AT89C系列单片机,有4种型号:AT89C51、AT89C52、AT89C1051、AT90C20512。本设计考虑到功能和成本选取了AT89S52单片机做控制器。(3)显示器:液晶显示我们可以用LCD显示器或者八段数码管LED。本设计选用LCD1602液晶显示器做显示器件。(4)超声波测距的范围和精度:由于实际需要和传感器的性能限制,测距都要有一定的范围和精度,所以在设计测距仪时应该考虑这两方面的技术要求。本设计选取HC-SR04超声波测距模块做为超声波发射和接收模块,可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm。最终设计焊接完成的实物如图3-10、图3-11所示。图 3-10 超声波测距仪正面图Figure 3-10 Ultrasonic rangefinder positive figure 图 3-11 超声波测距仪背面图Figure 3-11 Ultrasonic rangefinder figure on the back 4 超声波测距系统软件设计41 设计原理图及分析在仿真电路中利用时钟信号来代替超声波接受模块的接收信号情况与实际情况下的接收原理是一致的,只需要改变始终的频率就可以模拟超声波接收的不同距离。具体工作原理说明:超声波发射部分主要受单片机控制发射超声波,超声波接收部分接收已发射的超声波。图4-1 电路原理图Figure 4-1 Circuit schematics单片机AT89S52中的程序可控制在超声波传感器发射超声波的同时单片机内的定时器开始计时,在超声波传感器接收到返回的超声波时,停止单片机内的定时器计时,并且把记录的超声波传播时间转换为测距仪测量的电路与前方障碍物的距离值,最后通过LCD1602显示出来。其主程序框图如下:开始系统初始化发射超声波脉冲接收超声波计算距离是否超范围 是 否显示异常显示结果图4-2 主程序框图Figure 4-2 Main diagram42 设计说明AT89S52单片机和其开发应用系统具有语言简洁、可移植性好、表达能力强、表达方式灵活、可进行结构化设计、可以直接控制计算机硬件、生成代码质量高、使用方便等诸多优点。超声波测距仪就是用AT89S52单片机开发设计的,它采用模块化设计,由主程序、定时子程序、计算子程序、显示子程序等模块组成。作为一种结构化的程序设计语言,C语言的特点就是可以使你尽量少的对硬件进行操作,具有很强的功能性、结构性和可移植性,常常被优选作为单片机系统的编程语言。用C语言变成比会变更符合人们的思考习惯,开发者可以摆脱与硬件无必要的接触,更专心的考虑功能和算法而不是考虑一些细节的问题,这样就减少了开发和调试的时间。C语言具有良好的程序结构,适用于模块化程序设计,因此采用C语言设计单片机应用系统程序时,首先要尽可能的采用结构化的程序设计方法,将功能模块化,由不同的模块完成不同的功能,这样可一让整个应用系统程序结构清晰,易于调试和维护。不同的功能模块,分别指定相应的入口参数和出口参数,对于一些要重复调用的程序一般把其变成函数,这样可以减少程序代码的长度,又便于整个程序的管理,还可增强可读性和移植性。由于现在越来越多的产品都采用单片机开发,所完成的计算和控制工作也日趋复杂,但是单片机系统是一种资源十分有限的系统,这主要表现在程序存储器资源的不足,因此在程序设计时如何使用好这些有限的资源就显得十分重要。用C语言编程虽然具有许多的优点,但是生成的代码相对要长,要是编程技术不好,生成的代码甚至有可能比汇编语言生成的代码长几倍,因此对编程者来说,应该注意到单片机C语言和一般意义上的标准C语言的区别,对程序进行适当的优化。 虽然汇编语言编程效率高,精确计算运行时间,程序设计简单,但C语言程序有利于更复杂的算法,所以这个设计采用的是C语言编程。本设计单片机中的C程序包括中断初始化、主程序、显示子程序、计算子程序和定时子程序。单片机P2.7给

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开