【毕业设计】61-基于单片机的超声波测距仪设计(原理图、仿真工程、低重复率参考设计文档、PPT、开题报告、任务书)

本文主要是介绍【毕业设计】61-基于单片机的超声波测距仪设计(原理图、仿真工程、低重复率参考设计文档、PPT、开题报告、任务书),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【毕业设计】61-基于单片机的超声波测距仪设计(原理图、仿真工程、低重复率参考设计文档、PPT、开题报告、任务书)

文章目录

  • 【毕业设计】61-基于单片机的超声波测距仪设计(原理图、仿真工程、低重复率参考设计文档、PPT、开题报告、任务书)
    • 任务书要求
    • 需要完成的事项
    • 设计说明书
      • 摘要
      • 设计框架架构
      • 设计说明书及设计文件
      • 源码展示

任务书要求

主要研究内容:
考虑到单片机由于其强大的功能和高性价比而得到广泛应用,测距系统采用单片机作为控制核心。采用液晶屏作为显示设备,最后对系统进行了测量,满足设计要求。
方法:
通过图书、期刊、网络等途径查阅相关文献资料,研究单片机、温湿度传感器、液晶屏等知识。
要求:
1、确定系统总体设计方案,给出设计方案的结构框图;
2、利用仿真软件(如:Proteus)完成仿真电路的具体设计;
3、利用编程软件(如:Keil)完成编程;
4、对所设计的系统进行仿真调试,实现超声波测距仪的功能。

需要完成的事项

原理图工程文件
原理图截图
仿真模型工程文件
仿真截图
搭建视频
低重复率文档,2.4w字
英文文献及翻译
开题报告
任务书
答辩PPT

设计说明书

摘要

本文设计题目为超声波测距仪,主要研究使用超声波传感器对距离的测量保证较高的测量精度。本文研究了距离传感器,超声波传感器的研究背景于发展情况,充分了解到了超声波传感器使用的便利性。并选择合适的设计方案,确认系统的功能,确认使用单片机做为主控芯片,HC-SR04做为超声波距离传感器,按键做为人机交互设备,LCD1602做为显示器单元显示当前全部检测信息与数据。使用EDA软件绘制原理图,分配单片机I/O引脚,保证原理图逻辑分配合理性。绘制程序框架,掌握C语言编制技巧,使用KEIL软件编写工程代码最后生成HEX文件。使用仿真软件PROTEUS模拟整个系统的运行环境与条件,根据原理图搭建系统的电路仿真图,调试电路,测试系统是否达到预期功能。完成本次系统设计总结全文。

设计框架架构

在这里插入图片描述

前 言 1
第一章 绪 论 2
第一节 研究背景 2
第二节 研究背景及意义 3
第三节 本文的主要研究内容 4
第四节 本章小结 4
第二章 超声波测距仪方案设计 5
第一节 超声波测距原理 5
一、时间误差 5
二、超声波传播速度误差 5
第二节 超声测距仪需要实现的功能 6
第三节 方案设计 7
第四节 本章小结 8
第三章 超声波测距仪电路设计 9
第一节 单片机最小系统电路设计 9
一、单片机介绍 9
二、单片机最小系统设计 10
第二节 按键电路设计 11
第三节 超声波测距电路设计 12
第四节 蜂鸣器报警电路设计 13
第五节 LCD1602电路设计 13
第六节 温度传感器电路设计 15
第七节 总电路设计 16
一、总原理图设计 16
二、PCB绘制 17
第八节 本章小结 17
第四章 超声波测距仪软件设计 18
第一节 Keil软件介绍 18
第二节 软件总流程设计 18
第三节 超声波测距流程设计 20
第四节 按键检测流程设计 21
第五节 LCD1602显示流程设计 22
第六节 测温流程设计 23
第七节 本章小结 24
第五章 超声波测距仪仿真实现 25
第一节 仿真软件介绍 25
第二节 仿真电路搭建 26
一、系统电路调试 26
二、系统综合调试 26
第三节 仿真功能测试 28
第四节 本章小结 32
总 结 33
致 谢 34
参考文献 35
附 录 37
一、英文原文 37
二、英文翻译 43
三、工程图纸 49
四、源代码 50

设计说明书及设计文件

开发项目需要使用的软件,百度云共享
AD16
链接:https://pan.baidu.com/s/1FIhJkE0Pv2mRxJIooRzKNA
提取码:uqvd
Keil4
链接:https://pan.baidu.com/s/1_0qtwROJ6hDeioyG0XL-xg
提取码:t82c
Visio
链接:https://pan.baidu.com/s/1aS8FCZat7lAdHjclNa8owA
提取码:l9o1
Proteus
链接:https://pan.baidu.com/s/1GinRzP3QHtfVOIBxJ5yD3w
提取码:u0vb

其他资料
资料链接
在这里插入图片描述

在这里插入图片描述低重复率文档,24618字

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

源码展示

#include <REGX51.H>
#include <stdio.h>
#include<intrins.h>
#define uint   unsigned int;
#define uchar unsigned char
sbit DQ=P2^4;		//ds18b20 端口
sbit k2=P3^6;
sbit k1=P3^5;
sbit csbint=P3^2;	//ECHO
sbit csb=P2^5;		//TRIG
sbit fmq=P3^3;		//蜂鸣器
sbit bg=P2^6;		//液晶屏背光控制
sbit EN = P2^2;	  //定义液晶屏定义端口 
sbit RW = P2^1;	  //定义液晶屏定义端口
sbit RS = P2^0;   //定义液晶屏定义端口 
#define EN_CLR EN=0
#define EN_SET EN=1
#define RS_SET RS=1
#define RS_CLR RS=0 
#define RW_SET RW=1
#define RW_CLR RW=0 
unsigned char bb[11]={' ',' ',' ',' ','.',' ',' ',' ',' ',' ',};
unsigned char cc[]={'A','.','A','A','m'};
unsigned char aa[]={' ',' ','D','i','s','t','a','n','c','e',':'};	   //Distance
unsigned int dz,k,s,j,bgz,k;	
unsigned char zf,a1,a2,a3,xs,e,n,m,z; //zf 温度正负标志位;a1,a2,a3,按键设定程序中定值的米、分米、厘米临时存储变量 xs,e 用于按键程序中设定位闪动显示的变量;flag,未用,n,是背光控制标志位变量;m,z;float temperature,csbc,wdz;
int temp;
bit wh;
/*------------------------------------------------函数声明
------------------------------------------------*/
unsigned int ReadTemperature(void);
unsigned char ReadOneChar(void);
bit Init_DS18B20(void);
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s);
void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data);
void WriteOneChar(unsigned char dat);
void write_data(unsigned char date);
void init();
void write_com(unsigned char com);
void DelayMs(unsigned char t);
void DelayUs2x(unsigned char t);
/*------------------------------------------------mS延时函数,含有输入参数 unsigned char t,无返回值unsigned char 是定义无符号字符变量,其值的范围是0~255 这里使用晶振12M,精确延时请使用汇编
------------------------------------------------*/
void DelayMs(unsigned char t)	//大致延时1mS
{while(t--) 		{DelayUs2x(245);		 DelayUs2x(245);}
}
/*------------------------------------------------
这里使用晶振12M,精确延时请使用汇编,大致延时长度如下 T=tx2+5 uS  uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是0~255 
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{   while(--t);
}
/*------------------------------------------------18b20初始化
------------------------------------------------*/
/*------------------------------------------------读取一个字节
------------------------------------------------*/
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);
}
bit Init_DS18B20(void)
{bit dat=0;DQ = 1;    				//DQ 复 位DelayUs2x(5);   		// 稍做延时DQ = 0;         		//单片机将 DQ 拉低DelayUs2x(200); 		//精确延时大于480us小于960usDelayUs2x(200);DQ = 1;        			//拉高总线DelayUs2x(50); 			//15~60us 后接收60-240us的存在脉冲dat=DQ;        			//如果x=0则初始化成功, x=1则初始化失败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);
}

这篇关于【毕业设计】61-基于单片机的超声波测距仪设计(原理图、仿真工程、低重复率参考设计文档、PPT、开题报告、任务书)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/173537

相关文章

Java如何用乘号来重复字符串的功能

《Java如何用乘号来重复字符串的功能》:本文主要介绍Java使用乘号来重复字符串的功能,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java乘号来重复字符串的功能1、利用循环2、使用StringBuilder3、采用 Java 11 引入的String.rep

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

MyBatisX逆向工程的实现示例

《MyBatisX逆向工程的实现示例》本文主要介绍了MyBatisX逆向工程的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录逆向工程准备好数据库、表安装MyBATisX插件项目连接数据库引入依赖pom.XML生成实体类、

SQL常用操作精华之复制表、跨库查询、删除重复数据

《SQL常用操作精华之复制表、跨库查询、删除重复数据》:本文主要介绍SQL常用操作精华之复制表、跨库查询、删除重复数据,这些SQL操作涵盖了数据库开发中最常用的技术点,包括表操作、数据查询、数据管... 目录SQL常用操作精华总结表结构与数据操作高级查询技巧SQL常用操作精华总结表结构与数据操作复制表结

浅谈Redis Key 命名规范文档

《浅谈RedisKey命名规范文档》本文介绍了Redis键名命名规范,包括命名格式、具体规范、数据类型扩展命名、时间敏感型键名、规范总结以及实际应用示例,感兴趣的可以了解一下... 目录1. 命名格式格式模板:示例:2. 具体规范2.1 小写命名2.2 使用冒号分隔层级2.3 标识符命名3. 数据类型扩展命

MySQL重复数据处理的七种高效方法

《MySQL重复数据处理的七种高效方法》你是不是也曾遇到过这样的烦恼:明明系统测试时一切正常,上线后却频频出现重复数据,大批量导数据时,总有那么几条不听话的记录导致整个事务莫名回滚,今天,我就跟大家分... 目录1. 重复数据插入问题分析1.1 问题本质1.2 常见场景图2. 基础解决方案:使用异常捕获3.

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析