【毕业设计】71-智能汽车路径跟踪控制_超声波测距系统的设计(原理图+仿真+源代码工程+相关截图+视频+答辩论文)
资料要求
资料包含:毕业设计全套资料(精品)
原理图工程文件
原理图截图
PCB工程文件
仿真模型工程文件
源代码工程
仿真截图
仿真实现录屏
答辩论文低重复率文档,27528字
英文文献及翻译
任务书
详情请私信!
任务书
主要研究内容:
以单片机作为系统控制单元,通过红外光电传感器实时获取前方路面信息进行循迹,通过光电传感器测速,用PWM控制电机调节车速进行跟踪控制,通过测距传感器测距,当超过其阈值时可进行及时报警。
方法:
通过图书、期刊、网络等途径查阅相关文献资料,研究单片机、红外光电传感器、光电传感器、测距传感器、电机、PWM等知识。
要求:
1、确定系统总体设计方案,给出设计方案的结构框图;
2、利用仿真软件(如:Proteus)完成仿真电路的具体设计;
3、利用编程软件(如:Keil)完成编程;
4、对所设计的系统进行仿真调试,实现智能汽车路径跟踪控制系统的功能。
设计说明书
摘要
随着传感器技术的提高,目前汽车也开始往智能化方向发展。通过对电气控制技术以及智能化控制技术的提高,传感器技术开始往智能化汽车中移植并且使汽车具有了智能循迹、智能测量前后车距的功能,使智能汽车在实际的应用过程中可以能更加的符合现在科技的发展趋势,改善人们的生活习惯。
本文通过对智能汽车路径跟踪控制系统设计,使小车具有自动循迹以及控制前后距离的功能,通过检测前后的距离进行判断,如果超过阈值则发生报警反之不报警。系统实现了小车循迹、距离检测与温度补偿、报警、控制报警阈值、液晶显示状态的功能。整个系统由硬件电路部分与软件设计部分组成。再设计上优先对系统的功能进行分析与系统框架进行确认。在硬件电路的设计需要考虑到系统的性价比、功能性以及后期的可迭代性等。软件设计上考虑系统的架构根据系统的功能性对系统进行功能移植,并且可实现软件系统框架可迭代与调试。本系统的硬件部分由红外检测电路、电机控制电路、报警电路、单片机最小系统控制电路、距离检测与补偿电路部分组成。软件设计根据硬件电路的功能性设计软件开发流程。硬件与软件设计完成后,使用PROTEUS仿真软件对系统的功能性测试,实现预期功能,并进行耐久测试、白盒测试、黑盒测试,验证系统是一个满足要求并且性能达标的稳定系统。
本系统通过仿真软件进行了充分的测试与验证,在后期还将进行制作实物的方式测试系统,保证系统符合市场要求。
设计框架架构
前 言… 1
第一章 绪论… 2
第一节 研究背景… 2
第二节 研究意义… 3
第三节 本文的主要研究内容… 4
第四节 本章小结… 5
第二章 智能汽车路径跟踪控制系统方案设计… 6
第一节 红外传感器原理… 6
第二节 超声波传感器原理图… 6
一、时间误差… 7
二、超声波传播速度误差… 7
三、超声波温度补偿选型… 8
第三节 系统需要实现的功能… 9
第四节 系统方案确认… 9
第五节 本章小结… 10
第三章 智能汽车路径跟踪控制系统电路设计… 11
第一节 单片机最小系统电路设计… 11
一、单片机介绍… 11
二、单片机最小系统设计… 12
第二节 按键电路设计… 13
第二节 超声波测距电路设计… 14
第三节 蜂鸣器报警电路设计… 15
第四节 LCD1602电路设计… 16
第五节 温度传感器电路设计… 17
第六节 红外传感器模块电路设计… 18
第七节 电机控制电路设计… 19
第八节 总电路设计… 19
第七节 本章小结… 20
第四章 智能汽车路径跟踪控制系统软件设计… 21
第一节 Keil软件介绍… 21
第一节 软件总流程设计… 22
第二节 红外路径跟踪流程设计… 23
第二节 超声波测距流程设计… 24
第三节 按键检测流程设计… 25
第四节 LCD1602显示流程设计… 26
第五节 测温流程设计… 28
第六节 本章小结… 28
第五章 智能汽车路径跟踪控制系统仿真实现… 30
第一节 仿真软件介绍… 30
第二节 仿真电路搭建… 31
一、静态调试… 32
二、系统综合调试… 33
第三节 仿真功能测试… 34
一、红外路径跟踪仿真测试… 34
二、距离检测仿真测试… 35
第四节 本章小结… 38
总 结… 39
致 谢… 40
参考文献… 41
附 录… 43
一、英文原文… 43
二、英文翻译… 47
三、工程图纸… 51
四、源代码 52文章来源:https://www.toymoban.com/news/detail-833898.html
设计说明书及设计文件
文章来源地址https://www.toymoban.com/news/detail-833898.html
源码展示
#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; //定义液晶屏定义端口
/
sbit dj=P1^6;//电机控制端接口
sbit dj1=P1^7;//电机控制端接口
sbit key1=P1^0;//sd加
sbit key2=P1^1;//sd减
sbit key3=P1^2;//sd加
sbit key4=P1^3;//sd?
signed int period = 0;//PEM period
uchar dang;//档位显示
uchar Mode=0;
uchar SMODE=0;//调节占空比
uchar time=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,未用,
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);
}
到了这里,关于【毕业设计】71-智能汽车路径跟踪控制_超声波测距系统的设计(原理图+仿真+源代码工程+相关截图+视频+答辩论文)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!