码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【毕业设计】57-基于单片机的超声波测距仿真倒车雷达系统设计(源程序+原理图工程+PCB+仿真工程+答辩论文)



    typora-root-url: ./

    【毕业设计】57-基于单片机的超声波测距仿真倒车雷达系统设计(源程序+原理图工程+PCB+仿真工程+答辩论文)

    文章目录

      • typora-root-url: ./
    • 【毕业设计】57-基于单片机的超声波测距仿真倒车雷达系统设计(源程序+原理图工程+PCB+仿真工程+答辩论文)
      • 设计说明书
        • 摘要
        • 设计框架架构
        • 设计说明书及设计文件
        • 源码展示

    设计说明书

    摘要

    本设计介绍了基于单片机控制的超声测距仪的原理:由AT89S52控制定时计时,以HC-SR04超声波模块发射,接收,并计算超声波自发射至接收的往返时间,从而得到实测距离。并且在数据处理中采用了温度补偿的调整,用LCD1602液晶显示模块显示距离和温度。

    整个硬件电路由超声波发射接收电路、电源电路、显示电路等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程图,给出了系统构成、电路原理及程序设计。此系统具有易控制、工作可靠、测距准确度高、可读性强和流程清晰等优点。实现后的作品可用于需要测量距离参数的各种应用场合。

    原理图工程文件
    原理图截图
    PCB工程文件
    仿真模型工程文件
    源代码工程
    仿真截图
    搭建视频
    实物图片
    答辩论文低重复率文档

    设计框架架构

    基于单片机系统的超声波测距仪… I

    Ultrasonic range finder system based on single chip. II

    1、 绪论… 8

    1.1课题研究背景… 8

    1.2、课题的提出和研究意义… 9

    1.2.1课题的提出… 9

    1.2.2本课题研究的意义… 9

    1.3、国内外研究现状… 10

    1.3.1发展历史… 10

    1.3.2 研究现状… 11

    2、 超声波的测距原理及误差分析… 11

    2.1 超声波简介… 11

    2.1.1 什么是超声波… 11

    2.1.2超声波的特性及特点… 12

    2.1.3超声波的应用… 13

    2.1.4超声波测距的原理… 14

    2.2超声波测距的误差分析… 14

    3、 系统硬件设计… 16

    3.1 系统结构设计… 16

    3.2 AT89S52单片机简介… 17

    3.2.1 AT89S52单片机功能… 17

    3.2.2 AT89S52单片机主要特性… 17

    3.2.3 AT89S52管脚说明… 18

    3.3 DS18B20温度传感器简介… 20

    3.4 超声波模块HC-SR04. 21

    3.4.1 HC-SR04特点… 21

    3.4.2 HC-SR04基本工作原理… 21

    3.4.3超声波时序图… 22

    3.5.1 LCD1602简介… 23

    3.5.2 LCD1602显示程序流程图… 24

    3.6超声波发射接收电路… 25

    3.7 LCD显示电路… 26

    3.8单片机及其配属电路… 26

    3.8.1单片机最小系统及复位电路… 26

    3.8.2单片机时钟电路… 27

    3.8.3 按键电路… 27

    3.8.4电源模块… 28

    3.8.5 报警电路… 28

    3.8.6 温度检测电路… 29

    4、 系统软件设计… 29

    4.1 主程序流程… 29

    4.2子程序设计… 32

    4.2.1超声波测距程序… 32

    4.2.2测温子程序… 34

    4.2.3 显示程序… 37

    4.2.4测算程序… 38

    5、 调试… 39

    5.1系统硬件调试… 39

    5.2系统硬件调试… 41

    5.3静态调试… 41

    5.4系统综合调试… 42

    6 总结 43

    7、 参考文献… 43

    8、 附录… 45

    附录A 程序清单… 45

    附录B超声波测距电路原理图… 57

    附录C PCB原理图及实物图… 58

    设计说明书及设计文件

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    源码展示

    
     图4.4 DS18B20测温程序流程图
    /*------------------------------------------------
                        18b20初始化
    ------------------------------------------------*/
    bit Init_DS18B20(void)
    {
    	bit dat=0;
    	DQ = 1;    				//DQ复位
     	DelayUs2x(5);   		//稍做延时
     	DQ = 0;         		//单片机将DQ拉低
     	DelayUs2x(200); 		//精确延时 大于 480us 小于960us
     	DelayUs2x(200);
     	DQ = 1;        			//拉高总线
     	DelayUs2x(50); 			//15~60us 后 接收60-240us的存在脉冲
     	dat=DQ;        			//如果x=0则初始化成功, x=1则初始化失败
     	DelayUs2x(25); 			//稍作延时返回
     	return dat;
    }
    /*------------------------------------------------
                        读取一个字节
    ------------------------------------------------*/
    unsigned char ReadOneChar(void)
    {
    	unsigned char i=0;
    	unsigned char dat = 0;
    	for (i=8;i>0;i--)
     	{
      		DQ = 0; 			// 给脉冲信号
      		dat>>=1;
      		DQ = 1; 			// 给脉冲信号
      		if(DQ)
       		dat|=0x80;
      		DelayUs2x(25);
     	}
     	return(dat);
    }
    /*------------------------------------------------
                        写入一个字节
    ------------------------------------------------*/
    void WriteOneChar(unsigned char dat)
    {
     	unsigned char i=0;
     	for (i=8; i>0; i--)
     	{
      		DQ = 0;
      		DQ = dat&0x01;
      		DelayUs2x(25);
      		DQ = 1;
      		dat>>=1;
     	}
    	DelayUs2x(25);
    }
    /*------------------------------------------------
                        读取温度
    ------------------------------------------------*/
    unsigned int ReadTemperature(void)
    {
    	unsigned char a=0;
    	int b=0;
    	int t=0;
    	float tt=0;
    	while(Init_DS18B20()); 	//检测初始化是否成功
    	WriteOneChar(0xCC); 	// 跳过读序号列号的操作
    	WriteOneChar(0x44); 	// 启动温度转换
    	DelayMs(10);
    	Init_DS18B20();
    	WriteOneChar(0xCC); 	//跳过读序号列号的操作 
    	WriteOneChar(0xBE); 	//读取温度寄存器等(共可读9个寄存器) 前两个就是温度
    	a=ReadOneChar();   		//低位
    	b=ReadOneChar();   		//高位
    	t=b;
     	t<<=8;
     	t=t|a;
     	tt=t*0.0625;
     	t= tt*10+0.5; 
     	return(t);
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
  • 相关阅读:
    基于JSP的九宫格日志网站
    模板初阶(泛型编程、函数模板、类模板)
    为什么是LangChain?
    【考研数学神作】你不能错过的学习教材
    打不动的蓝桥杯
    【ECMAScript6】代理与反射
    21天Python进阶学习挑战赛打卡------第3天(json标准库学习)
    【Verilog基础】DFT(Design for Test)可测性设计的一些基础概念
    《二叉树刷题计划》——相同的树、对称二叉树、另一棵树的子树
    带你走进云原生数据库界扛把子Amazon Aurora
  • 原文地址:https://blog.csdn.net/qq_22592979/article/details/128048472
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号