基于C语言的MCS-51单片机教程 课件 3项目3 汽车倒车报警系统的设计与制作_第1页
基于C语言的MCS-51单片机教程 课件 3项目3 汽车倒车报警系统的设计与制作_第2页
基于C语言的MCS-51单片机教程 课件 3项目3 汽车倒车报警系统的设计与制作_第3页
基于C语言的MCS-51单片机教程 课件 3项目3 汽车倒车报警系统的设计与制作_第4页
基于C语言的MCS-51单片机教程 课件 3项目3 汽车倒车报警系统的设计与制作_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目3汽车倒车报警系统的设计与制作

项目3汽车倒车报警系统的设计与制作应用系统功能演示

项目3汽车倒车报警系统的设计与制作1项目设计目标与任务系统方案选择和论证23系统硬件电路设计与制作系统软件程序设计与调试45系统的调试6项目扩展任务系统的开发流程

项目设计目标与任务1.项目3汽车倒车报警系统的设计与制作1)项目目标理解超声波模块的工作原理。理解1602液晶的原理。掌握超声波传模块和1602液晶模块进行读、写的方法。对照超声波HC-SR04模块和1602液晶的数据手册,理解对它们进行读和写的软件编制方法。在完成以上4点目标的基础上,根据“项目扩展任务”中提出的问题和要求,以组或个人为单位,在规定时间里完成扩展项目任务。

项目设计目标与任务1.项目3汽车倒车报警系统的设计与制作2)项目任务在基于单片机的汽车倒车报警系统,可以实现以下功能:能够测量0~5M范围内的距离,并用1602液晶显示当前距离,同时利用1602液晶显示当前温度值。可以手动设置距离报警限值,当距离到达限值,则报警。具有温度补偿功能。

项目3汽车倒车报警系统的设计与制作2.系统方案选择和论证测距传感器选择系统方案设计关键技术总体结构设计项目3汽车倒车报警系统的设计与制作1、测距传感器的选择1)激光测距传感器

激光传感器利用激光的方向性强和传光性好的特点,它工作时先由激光传感器对准障碍物发射激光脉冲,经障碍物反射后向各个方向散射,部分散射光返回到接收传感器,能接收其微弱的光信号,从而记录并处理光脉冲发射到返回所经历的时间即可测定距离,即用往返时间的一半乘以光速就能得到距离。其优点是测量的距离远、速度快、测量精确度高、量程范围大,缺点是对人体存在安全问题,而且制作的难度大成本也比较高。项目3汽车倒车报警系统的设计与制作1、测距传感器的选择2)红外线测距传感器红外线测距传感器利用的就是红外线信号在遇到障碍物其距离的不同则其反射的强度也不同,根据这个特点从而对障碍物的距离的远近进行测量的。其优点是成本低廉,使用安全,制作简单,缺点就是测量精度低,方向性也差,测量距离近。项目3汽车倒车报警系统的设计与制作总体结构设计项目3汽车倒车报警系统的设计与制作

关键技术基于单片机的汽车倒车报警系统在设计时需要解决以下3个方面的问题:1)理解超声波HC-SR04模块的工作原理。2)理解1602液晶显示的原理。3)对照超声波HC-SR04模块和1602液晶的数据手册,理解对它们进行读和写的软件编制方法。项目3汽车倒车报警系统的设计与制作1、最小系统模块的设计2、超声波模块电路的设计3、1602液晶显示电路设计4、电源模块的电路设计系统硬件电路设计35、发音模块模块的电路设计6、温度传感器模块的电路设计7、键盘模块的电路设计12HR-SR04超声波集成模块的实物和引脚图补充:HR-SR04超声波集成模块的介绍13

HR-SR04超声波集成模块是将超声波发射探头,超声波接收探头,CX20106A芯片电路,74LS04芯片放大电路集成到的一起的一个超声波集成模块。HR-SR04超声波集成模块的引脚排布如图所示。各引脚的功能:VCC端口—接+5V电源;GND—接地;Trig端口—触发控制信号输入;Echo—回响信号输出;14超声波时序如上图图,可知HR-SR04型超声波集成模块的工作原理:采用I/O触发测距,但至少要给10us的高电平信号。模块自动发送8个40kHz的方波脉冲,并能够自动检测是否有信号返回。有信号返回,通过Echo输出高电平,高电平持续的时间就是超声波从发射到返回所用的时间,则,所测量的距离=(高电平时间×声速)/2。151602液晶的实物图补充:1602字符型LCD简介1602字符型LCD简介

字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。市面上字符液晶绝大多数都是基于HD44780液晶芯片的,控制原理是完全相同的。1602LCD分为带背光和不带背光两种,带背光的比不带背光的厚,是否带背光在应用中并无差别。各引脚接口说明如下表所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极1602LCD引脚功能说明第1脚:VSS为电源。第2脚:VDD接5V正电源。第3叫:VL为液晶显示器对比度调整端。接电源时对比对最弱,接地时对比度最高,但对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择端。高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线端。高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端。当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。项目3汽车倒车报警系统的设计与制作系统总体硬件电路4项目3汽车倒车报警系统的设计与制作系统软件程序设计1.超声波测距程序的编制

超声波测距主要功能就是获取的超声波模块测量的结果,将此结果根据DS18B20检测到的温度值转化为对应距离。超声波测距子程序流程图如图所示。项目3汽车倒车报警系统的设计与制作1)超声波测距的原理介绍超声波是一种振动频率超过20kHz的机械波,它可以沿直线方向传播,而且传播的方向性好,传播的距离也较远,在介质中传播时遇到障碍物在入射到它的反射面上就会产生反射波。由于超声波的以上几个特点,所以超声波被广泛地应用于物体距离的测量、厚度等方面。当进行距离的测量时,由安装在同一水平线上的超声波发射器和接收器完成超声波的发射与接收,并且同时启动定时器进行计数。首先由超声波发射探头向倒车的方向发射超声波并同时启动定时器计时,超声波在空气中传播的途中一旦遇到障碍物后就会被反射回来,当接收探头收到反射波后就会给负脉冲到单片机使其立刻停止计时。这样,定时器就能够准确的记录下了超声波发射点至障碍物之间往返传播所用的时间t(s)。由于在常温下超声波在空气中的传播速度大约为340m/s,所以障碍物到发射探头之间的距离可以利用公式1计算:项目3汽车倒车报警系统的设计与制作1)超声波测距的原理介绍因为单片机内部定时器的计时实际上就是对机器周期T的计数,而本设计中时钟频率fosc取12MHz,设计数值N,则:项目3汽车倒车报警系统的设计与制作2)超声波测距程序对于HR-SR04的操作需要:第一步:触发HR-SR04,即需要给HR-SR04的Trig端一个持续约10us的高电平信号。这里我们用Trig_HR_SR04()函数来实现,具体参考程序如下。voidTrig_HR_SR04()//启动模块

{

TRIG=1;//启动一次模块

_nop_();

_nop_();

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

_nop_(); _nop_();

_nop_(); _nop_();

_nop_(); _nop_(); _nop_(); TRIG=0;}项目3汽车倒车报警系统的设计与制作2)超声波测距程序第二步:就是需要获取从发射超声波到接收到返回信号的时间。经过前面一步,HR-SR04就会自动生成8个40kHz的方波脉冲,当其遇到障碍物时,HR-SR04会自动检测到返回信号,并且此时HR-SR04的Echo端就会产生高电平,高电平持续的时间就是超声波从发射到返回所用的时间,这段时间就是我们需要获取的时间。这里我们可以利用定时器的计数功能来实现。具体的参考程序如下:初始化HR_SR04:Init_HR_SR04()voidInit_HR_SR04() //初始化{

//设T0为方式1,GATE=1; TMOD=0x01; TH0=0; TL0=0; ET0=1;//允许T0中断 EA=1;//开启总中断

TR0=0; }获取时间T:Time_HR_SR04()

unsignedcharTime_HR_SR04() { unsignedchartime; while(!ECHO); //当RX为零时等待 TR0=1;//开启计数 while(ECHO); //当RX为1计数并等待 TR0=0;//关闭计数 time=TH0*256+TL0; returntime;}

项目3汽车倒车报警系统的设计与制作2)超声波测距程序第三步:计算距离。在这里设计的程序根据不同的温度计算距离,参考程序如下://根据不同的温度计算距离intJS_HR_SR04(unsignedcharWD,unsignedchartime1){

intL;L=time1*(331.45+61*WD/10/100)/200/10; returnL;}

4项目3汽车倒车报警系统的设计与制作系统软件程序设计2.显示数据子程序的编制

显示数据子程序的主要功能就是把超声波模块测量后的结果经单片机处理完毕的距离显示在LCD液晶显示屏上。显示数据子程序流程图如图所示。项目3汽车倒车报警系统的设计与制作1)1602LCD的RAM地址映射及标准字库

1602液晶内置了DDRAM,DDRAM就是显示数据RAM,用来寄存待显示的字符代码,共有80个字节,其地址与屏幕的对应关系如图所示。1602液晶模块内部固化了字模存储器CGROM和CGRAM。HD44780内置了192个常用字符的字模,存放于字符产生器CGROM(CharacterGeneratorROM)中,另外还有8个允许用户自定义的字符产生RAM,称为CGRAM(CharacterGeneratorRAM)。思考:如果我们需要让1602液晶屏的第二行第一列显示1个字符“A”,该如何操作呢?项目3汽车倒车报警系统的设计与制作2)1602LCD的指令说明

1602液晶模块内部的控制器共有11条控制指令。清屏指令:清屏,光标撤回到液晶显示屏的左上方,将地址计数器的值设置为00H。光标归位指令:光标撤回到液晶显示屏的左上方,将地址计数器的值设置为00H,保持DDRAM的内容不变。进入模式设置指令:光标和显示模式设置。其中:I/D:设置光标移动方向:高电平右移,低电平左移;S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。项目3汽车倒车报警系统的设计与制作2)1602LCD的指令说明显示开关控制指令:控制显示器开/关、光标显示/关闭、光标是否闪烁。D:D=H显示功能开;D=L显示功能关;C:C=H有光标;C=L无光标;B:B=H光标不闪烁;B=L光标闪烁;设定显示屏或光标移动方向指令:是光标移位或使整个显示屏移位。S/C=0R/L=0:光标左移一格,且AC值减1;S/C=0R/L=1:光标右移一格,且AC值加1;S/C=1R/L=0:显示器上字符全部左移一格,但光标不动;S/C=1R/L=1:显示器上字符全部右移一格,但光标不动;项目3汽车倒车报警系统的设计与制作2)1602LCD的指令说明功能设定指令:设定数据总线位数、显示行数及字型。DL=0:数据总线为4位;DL=1:数据总线为8位;N=0:显示1行;N=1:显示2行;F=0:5X7点阵/每字符;F=1:5X10点阵/每字符设定CGRAM地址指令:设定下一个要存入数据的CGRAM地址。

从DDRAM或CGRAM读出数据指令:读取DDRAM或CGRAM中的内容。

项目3汽车倒车报警系统的设计与制作2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论