1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【毕业设计】61-基于单片机的超声波测距仪设计(原理图 仿真工程 低重复率参考设计

【毕业设计】61-基于单片机的超声波测距仪设计(原理图 仿真工程 低重复率参考设计

时间:2019-07-05 13:08:52

相关推荐

【毕业设计】61-基于单片机的超声波测距仪设计(原理图 仿真工程 低重复率参考设计

【毕业设计】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

链接:/s/1FIhJkE0Pv2mRxJIooRzKNA

提取码:uqvd

Keil4

链接:/s/1_0qtwROJ6hDeioyG0XL-xg

提取码:t82c

Visio

链接:/s/1aS8FCZat7lAdHjclNa8owA

提取码:l9o1

Proteus

链接:/s/1GinRzP3QHtfVOIBxJ5yD3w

提取码:u0vb

其他资料

资料链接

低重复率文档,24618字

源码展示

#include <REGX51.H>#include <stdio.h>#include<intrins.h>#define uint unsigned int;#define uchar unsigned charsbit DQ=P2^4;//ds18b20 端口sbit k2=P3^6;sbit k1=P3^5;sbit csbint=P3^2;//ECHOsbit csb=P2^5;//TRIGsbit 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',':'}; //Distanceunsigned 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 开题报告 任务书)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。