基于stc89c52rc单片机控制的汽车倒车报警器的设计方案.docx
- 文档编号:11397399
- 上传时间:2023-05-31
- 格式:DOCX
- 页数:26
- 大小:1.27MB
基于stc89c52rc单片机控制的汽车倒车报警器的设计方案.docx
《基于stc89c52rc单片机控制的汽车倒车报警器的设计方案.docx》由会员分享,可在线阅读,更多相关《基于stc89c52rc单片机控制的汽车倒车报警器的设计方案.docx(26页珍藏版)》请在冰点文库上搜索。
基于stc89c52rc单片机控制的汽车倒车报警器的设计方案
摘要
随着汽车的的日益普及,停车场变得越来越拥挤。
这些在停车场低速行驶的车辆与其他的车辆距离非常近,在穿行、掉头或者倒车时经常会发生碰撞和拖挂的事故,在夜晚时更显突出。
本设计正是针对这一状况提出了基于STC89C52RC单片机控制的汽车倒车报警器的设计方案。
超声波由于指向性强,能量消耗缓慢,在介质中传播的距离较远等原因,故经常用于距离的测量。
本文详细介绍了一种根据超声波测距系统设计的汽车倒车报警器。
它能在汽车倒车时自动检测并显示车尾与最近障碍物之间的距离。
当距离达到极限安全距离时,它能发出声光报警,提醒司机刹车。
该系统采用软、硬件结合的方式,硬件部分主要是由单片机硬件接口电路、超声波发射和接收电路、数码管显示电路、电源电路和报警电路组成的,软件部分主要是由主程序和超声波发射接收子程序、中断程序、距离计算子程序和显示报警子程序等部分组成的。
实验结果显示,该报警器基本实现了上述功能。
关键词:
超声波;单片机;倒车报警
Abstract
Withtheincreasingpopularityofautomobile,parkingbecomesmoreandmorecrowded.Theselow-speedvehiclesareveryclosetoeachotherintheparkinglot,causingfrictionorcollisionfrequentlythroughU-turnorreversing,especiallyatnight.ThedesignschemebasedonSTC89C52RCMicrocontrollercarreversingalarmisproposedforthissituation.
Becauseofthestrongdirectivityandlowenergyconsumptionandlong-distancediffusinginthemediumandotherreasons,Ultrasonicisoftenusedtomeasurethedistance.Thispaperdescribesacarreversingalarmonthebasisofultrasonicrangingsystem.Itcanautomaticallydetectanddisplaythedistancebetweentherearofthevehicleandthenearestobstaclearoundthecarwhenreversing.Whenreachingthesafedistancelimitation,thealarmwouldmakeaudibleandvisualalarmtoalertthedrivertobrake.Thesystemuseshardwareandsoftwarecombination,inwhichhardwareismainlyformedbytheMCUhardwareinterfacecircuits,ultrasonictransmitterandreceivercircuits,digitaldisplaycircuit,powercircuitandalarmcircuit,whilethesoftwareismainlyemittedbythemainprogramandultrasonicreceiversubroutines,interruptroutines,distancecalculationsubroutinesanddisplayroutinesandothercomponents.Experimentalresultsshowthatthealarmsuccessfullyachievetheabovefunctions.
Keywords:
ultrasonic;SCM;reversingalarm
引言
随着中国居民生活水平的提高,中低端汽车的价格越来越便宜,汽车得以广泛普及。
汽车不仅给我们带来方便,同时也给我们带来了许多因为倒车而产生的问题。
近些年来汽车的数量迅猛增多,提供给汽车转弯、倒车的空间也越来越少,并且新司机越来越多,各种新手上路,因倒车碰撞引起的纠纷越来越多,所以必须解决汽车的倒车难的问题,因此倒车防撞报警器显得尤为必要,本设计提出了一种基于STC89C52RC单片机控制的汽车倒车报警器的设计方案。
汽车倒车报警器是汽车倒车时的安全辅助装置,主要是为了针对汽车倒车的时候驾驶员无法通过后视镜目测到车尾和障碍物之间的距离而设计开发的。
本次设计的汽车倒车报警器会为驾驶员提供一个距离报警和倒车提示,提醒驾驶员尽快地采取相应的措施,有效的降低事故发生率。
本文主要详细介绍了基于STC89C52RC单片机的汽车倒车报警器的详细功能和设计意义。
1绪论
1.1倒车报警器的背景和发展现状
随着我国经济的飞速发展,我国国民的经济状况越来越好,越来越多的人拥有了属于自己的汽车,带来的后果是交通事故的增长率也更高了。
在这些交通事故中,由于倒车所发生的事故占了很大一部分比例。
汽车倒车主要存在三个问题,其一是司机坐在驾驶位上无法完全了解到车辆四周尤其是后方的地形、障碍物等,驾驶员只能通过后视镜观察后方的物体,但是后视镜又受其位置的限制,视野狭窄,根本无法完全保证倒车的安全性。
其二是在倒车的时候,司机不仅要观察车辆前方、两侧的情况,还必须扭身回头来观察车辆后方的情况,容易导致司机的体力和脑力消耗较大,从而产生不安全的因素。
其三,倒车是一个相当复杂的过程,它取决于司机的经验、技巧以及反应速度,任何一个环节都不能出现问题,否则都会导致司机无法快速准确的完成倒车。
为了增强汽车驾驶的安全性,汽车生产厂商都会在汽车中安装倒车雷达预警系统,倒车雷达预警系统不光深受驾驶员的青睐,也渐渐成为汽车产业中新的财富点。
在近些年里,随着技术发展和人们生活水平的提高,用户的需求也在发生改变,倒车雷达也因此经过了大概六代的发展。
第一代:
倒车时通过喇叭提醒。
驾驶员在倒车的时候,有“倒车请注意”的声音响起,提醒周围的人和驾驶员注意安全。
但是这并没对司机的倒车安全起到多大的作用。
第二代:
蜂鸣器会响起频率不同的声音来提示司机。
司机在倒车时,当车子和后方物体之间近到一定程度的时候,蜂鸣器就会发出声音,声音越急促,说明车子和后方物体越近。
第三代:
数码波段显示具体距离或者距离范围。
能够把车子和后方物体之间的距离显示出来。
第四代:
液晶荧屏动态显示。
这种产品可以可以清晰的,直观的展现出车子和障碍物图像之间有多近,而且图像清晰,安装方便。
第五代:
魔幻镜倒车雷达。
集前几代产片的优点于一身,能够精确的探测到车子两米以内的物体,并以清晰的图像和不同的声音来提醒司机。
这一代产品是一块倒车镜的样子,可以安装在车内后视镜的位置,不占空间。
第六代:
整合影音系统。
在第五代产品的所有功能上增加了影音系统,可以在显示屏上看电影,并且比之前的产片都好看。
1.2汽车倒车报警器的意义
目前要解决汽车倒车这一难题有两种思路,一种是汽车驾驶自动化技术,但是驾驶自动化技术目前仍然处于开发阶段,尚未成熟,在短时间内并不能推广应用;另一种是采取汽车倒车预警系统,但是传统的汽车倒车预警系统的功能单一,司机仍然需要通过观察后视镜去判断车后的物体,以及通过估计汽车和后方物体的距离完成倒车任务。
本次设计在现实应用的意义在于:
(1)将倒车自动化从被动防撞引向智能控制方向发展;
(2)体现了“以人为本”的理念,倒车时司机可一直看向前方,不需要顾及车后的状况,增加了倒车的安全性;
(3)安全可靠的防碰撞预警,使驾驶员即使在夜晚也能实现安全倒车;
1.3完成工作
本文所设计的基于单片机的汽车倒车报警器。
其实现的功能和硬件电路设计以及软件系统设计主要分为以下几点:
(1)声光报警,当电路和障碍物的距离小于一米时,蜂鸣器报警,LED指示灯亮。
(2)LCD显示,可以显示电路和障碍物之间的距离,方便驾驶员及时做出反应。
(3)硬件电路设计,其中包括:
✧确保单片机正常稳定运行的电源模块;
✧为单片机运行提供准确脉冲的时钟电路;
✧确保单片机系统稳定的复位电路;
✧发射和接收超声波的超声波电路;
✧为单片机提供显示输出的LCD显示电路。
(4)软件系统设计,其中包括:
✧程序总框架;
✧主程序流程图;
✧各个子程序流程图;
✧各个模块子程序
2相关的硬件和软件
2.1单片机概述
单片微型计算机简称单片机(SingleChipMicrocomputer)。
单片机是由可以做专项处理的芯片发展而来,这种芯片的内部只有CPU,最早的单片机被大量用于工业方面。
单片机实际上就是一种集成芯片,芯片内部集成着微型计算机的主要功能部件。
其最初由大规模的集成电路技术发展而来,其功能和组成并不亚于一个微型计算机系统。
单片机的三大主要组成部分分别是中央处理器(CPU)、存储器(Memory)及输入/输出(I/O)。
CPU在计算机中的作用就和我们的大脑一样,大脑控制身体各部位的正常运行,而单片机主宰整个计算机系统的运行;单片机在运行时需要的程序和产生的数据靠存储器(Memory)来负责存储,Memory分为只读存储器(ROM)和随机存取存储器(RAM)两种,系统运行时所需要的程序或者是一些永久性的数据由前者负责,而后者主要是用来存储程序执行时产生的临时数据;I/O是微型计算机与外部沟通的通道,其中包括输出口与输入口。
单片机在早期主要被使用在各种控制领域,所以在其发展工程中主要增强了它各个控制方面的能力。
单片机之所以又叫做微型控制器是因为它可以在不需要外部条件的情况下完成内部的程序。
由于国产宏晶STC单片机功耗低,价格低廉,性能较稳定,在国内有着很大的单片机市场。
本次设计所使用的单片机就是国产宏晶STC单片机中的STC89C52RC单片机。
如图2-1所示:
图2-1STC89C52RC单片机实物图
2.2STC89C52RC芯片简介
2.2.1参数简介:
STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/及其周期可以任意选择。
主要特性如下:
1.增强型6时钟/机器周期,12时钟/机器周期8051CPU。
2.工作电压:
3.8V-2.4V(3V单片机)、5.5V-3.8V(5V单片机)。
3.用户应用程序空间为8K字节。
4.拥有0-40MHz的工作频率,等同于一般的传统8051单片机的0-80MHz。
5.通用I/O口(35/39个),复位后为:
P0/P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展使用时,不需要加上拉电阻,作为I/O口使用时,需要加上拉电阻。
6.片上集成512字节RAM。
7.在系统和在应用编程,可以直接通过串口P3.0/P3.1下载程序。
8.具有EEPROM功能。
9.看门狗。
10.拥有十六位定时/计数器共3个,即Timer0、Timer1和Timer2(T0、T1和T2)。
11.通用异步串行口(UART)。
12.工作温度范围:
0-75℃/-40-+85℃。
13.封装:
LQFP-44,PDIP-40,PLCC-44。
2.2.2芯片引脚介绍
STC89C52芯片的一些引脚除了作为正常的I/O口,还拥有第二功能,具体介绍如下:
1、P1口的第二具体功能介绍如表2-1所示:
表2-1P1口的第二功能表
2、P3口的具体第二功能介绍如表2-2所示:
表2-2P3口的第二功能表
STC89C52RC芯片引脚如图2-2:
图2-2STC89C52RC芯片引脚图
2.3LCD显示器简介
2.3.1LCD1602显示器简介
单片机的3种主要输出显示方式分别是液晶显示、发光二极管、和数码管,LCD(LiquidCrystalDisplay)即为液晶显示器。
现在流行的嵌入式电子产品中,液晶显示已经成为首选的输出显示模块。
LCD1602实物图如图2-3所示:
图2-3LCD1602液晶显示器实物图
由于LCD需要专用的驱动电路控制,并且面板都比较脆弱,所以我们使用的液晶显示不是一个简单的液晶显示器,而是一个完整的液晶显示模块,即LCM(LiquidCrystalDisplayMoulde)。
它是由LCD、驱动、控制电路等组合而成的一个模块。
我们在单片机显示模块中选择使用LCD的原因具体如下:
(1)显示质量高
阴极射线管(CRT)的工作方式是不断的刷新亮点使显示器一直保持显示,所以它会一直闪烁,而LCD显示屏会在电信号的作用下使某个点一直保持住某种亮度和色彩,显示屏不会出现像CRT一样的闪烁,所以LCD显示质量更好,更稳定。
(2)低功耗
LCD显示的功率消耗相比其他显示器功率小的多,因为其主要消耗集中在其内部电极和驱动电路上。
比如CRT显示器,它是通过给灯丝通电,加热阴极,使阴极产生大量电子,阳极对电子加速打到荧光屏上显示信息,这就加大了功率的消耗。
(3)体积小和重量轻
LCD模块是使用集成电路驱动,通过显示屏上的电极控制液晶分子来达到显示目的,所以同等显示面积的LCD显示器要比传统的显示器轻的多。
(4)数字式接口
LCD液晶显示的是数字式的接口,该接口更有利于其与单片机的连接,也更利于操作。
1602液晶显示器的技术参数有以下几个方面:
Ø显示容量:
16×2个字符。
Ø芯片工作电压:
4.5—5.5V。
Ø工作电流:
最佳电压的情况下是2毫安。
Ø最佳电压:
5.0V。
2.3.2LCD1602芯片引脚及功能介绍
LCD1602具体引脚如图2-4所示:
图2-4LCD1602液晶显示器引脚图
1、LCD1602液晶显示模块各个引脚的功能说明如表2-3所示:
表2-3LCD1602引脚功能表
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
2、LCD1602指令说明,1602的11条控制指令如表2-4所示:
表2-4LCD1602指令说明
LCD1602液晶读,写都是运用相应的指令编程来完成操作的(1为高电平,0位低电平)。
3、液晶显示的操作时序如表2-5所示:
表2-5液晶显示操作时序表
读状态
输入
RS=L,R/W=H,E=H
输出
D0-D7=状态字
写指令
输入
RS=L,R/W=L,D0-D7=指令码,E=高脉冲
输出
无
读数据
输入
RS=H,R/W=H,E=H
输出
D0-D7=数据
写数据
输入
RS=H,R/W=L,DO-D7=数据,E=高脉冲
输出
无
2.3Keil8051C编译器概述
在单片机的发展过程中往往会伴随着一些开发软件的发展,从最初的汇编语言到目前的一些高级语言。
目前,Keil成为使用C语言开发单片机的用户的必备工具。
而且许多仿真机厂商也都支持Keil的使用。
Keil软件为用户提供了一个集成开发环境(IDE:
IntegratedDevelopmentEnvironment)uVision,方便用户调试程序,其中包括了C语言编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器。
以前使用的开发软件大多都要先在编辑状态下进行程序的编写,编写完成后再退出编辑状态进行编译,调试完成后再进入编辑状态进行修改,使用起来十分麻烦,而Keil则不需要,打开软件后可以直接编辑程序,随时对程序进行编译、连接、排错等操作,这样会为用户节省很多时间,大量缩短开发周期。
Keil开发流程如图2-5所示:
图2-5Keil开发流程图
3硬件电路设计
3.1超声波测距原理
超声波是一种振动频率高于声波的机械波,它具有频率高、波长短、绕射现象小,方向性好、能够成为射线而定向传播等特点。
在本设计中,我们使用的是HC-SR04超声波传感器,其可以实现发射和接收超声波的功能。
本设计所使用的HC-SR04超声波传感器是一款压电式超声波发生器,它是利用压电晶片的谐振来工作的,当电压作用于压电晶片时,就会随电压和频率的变化产生变形。
另一方面,当振动压电晶片时,会产生一个电荷。
利用这一原理,当给由两片压电晶片构成的振动器(双压电晶片元件),施加一个电信号时,就会因为弯曲振动发射出超声波。
相反,当向双压电晶片元件施加超声振动时,就会产生一个电信号。
超声波测距一般采用渡越时间法TOF(timeofflight)。
首先通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离。
测距公式见式(3-1)。
S=C×T(3-1)
其中S为测量的距离长度的2倍;C为超声波在空气中的传播速度;T为测量距离传播的时间差。
3.2电路设计总体框图
电路设计的总体框图如图3-1所示。
本设计以STC89C52单片机为核心,由电源电路、复位电路、报警电路、超声波电路、LCD显示电路等几部分组成。
电源电路为单片机提供稳定的5V电压,上电之后,单片机给超声波电路一个高电平信号,超声波电路产生超声波。
当超声波电路接收到超声波的时候,给单片机一个低电平信号,单片机开始读取时间差,计算距离。
如果距离未达到报警距离,LCD显示电路显示距离,若达到报警距离,则报警电路开始报警,LCD显示电路显示距离。
图3-1电路设计总体框图
3.3电源电路
电源供电电路如图3-2所示,电源电路设计使用USB供电。
因为单片机系统需要5.0V的电源电压,需要的电流必须小于500mA,而计算机的USB接口输出的正好是5.0V的电压,并且最大能提供的电流是500mA,所以可以使用计算机的USB口来供电。
但当电压过低时,单片机就无法进行正常的工作,所以一个稳定的供电电路是单片机正常运行的基础。
一般在单片机不使用大功率的外接设备的情况下USB供电都可以满足单片机的需求。
在供电过程中USB线会存在一定的损耗,所以实际为单片机提供的电压会比5V稍小一点,基本稳定在4.8V左右,可以满足单片机的稳定供电。
按下开关S1的时候,USB开始给单片机系统供电,同时LED指示灯亮起。
图3-2电源供电电路
3.4时钟电路
因为石英晶振具有稳定性好、抗干扰能力强等特点,所以我们通常在电路中使用石英晶振来产生基准频率,一个稳定的基准频率能保证电路中频率的准确性。
时钟频率由晶体振荡器产生,简称晶振。
时钟的频率高低可以决定单片机的运行速度,当单片机没有晶振提供时钟频率时就无法执行任何指令。
本设计选择的是12MHz的晶体振荡频率。
时钟电路的具体电路图如图3-3所示。
图3-3时钟电路
3.5复位电路
复位电路是确保单片机系统中电路稳定可靠的必不可少的部分,它的第一功能便是上电复位。
单片机一般有内、外两部分复位电路,复位信号可以通过引脚RST加到单片机的内部复位电路上。
片内复位电路会在每个机器周期对外部复位信号进行一次采样,当连续两个机器周期都检测到RST引脚上出现高电平时,执行对单片机的复位。
本设计使用的是手动复位的复位方式。
当单片机上电的时候,电容充电,RST引脚是一个高电平,单片机的RST高电平保持两个时钟周期,也就是一瞬间的事情,这个单片机就完成了复位。
在运行的过程中,通过手动按下复位按键,给复位引脚加上一个高电平,这样就可以使单片机复位。
复位后,只改变各寄存器状态改变,不改变RAM内容,复位电路的具体电路图如图3-4所示。
图3-4复位电路
3.6超声波电路
超声波电路主要负责超声波的发射和接收功能。
超声波电路接在单片机的P31和P32接口。
进入程序的时候,打开中断,并且给P31一个高电平的信号,超声波模块就会发送一个超声波出去,计时器开始计时。
当接收到超声波反射波的时候,P32端产生一个中断的请求信号,单片机响应这个外部中断请求,自动执行外部中断的服务子程序,并读取时间差,计算距离。
超声波发射与接收电路如图3-5所示。
图3-5超声波电路
3.7LCD显示电路
LCD显示电路主要负责实时显示电路和障碍物之间的距离,本设计最大的显示距离时160cm,最小显示距离是0cm.
在这里主要介绍一下LCD显示模块和单片机直接的引脚连接方式,如原理图3-6所示:
图3-6LCD显示电路
引脚1和16直接与GND相连;引脚2和15直接与+5V外接电源连接;引脚3外接V0负责LCD的对比度调节;引脚4和5分别与单片机的P13和P14口连接;引脚6与单片机的P15口连接;7-14号引脚直接与单片机的P00-P07口连接。
4软件系统设计
4.1软件设计需要考虑的问题
软件设计是单片机系统的开发过程中最复杂也是工作量最大的部分。
在明确了系统任务以后,这时候硬件电路图的设计也应该基本确定下来了,因此就要开始计划软件设计所要完成的工作,然后与其相应的硬件构造相结合,进一步搞清楚软件设计所承担的任务细节。
一般来说,在软件设计之前设计人员都需要首先思考以下这几个问题:
1.根据软件需要实现的功能,将整个软件系统拆成几个独立的模块,然后设计出软件系统的基本结构,达到清晰、合理、简洁的特点。
2.各个功能的程序都要拆分成各种子程序和小模块。
这样既方便调试和链接,也方便程序进一步的移植与修改。
3.定义各个端口相应的功能。
输入、输出的量应该是数字信号还是模拟信号,与单片机系统的接口,读取和写入都是采用何种方式等。
4.在写软件之前,首先应该画好整个程序的全部流程图及子程序流程图。
多在设计程序流程图上花一些时间,这样可能会在编辑和调试源程序的时候节约几倍的时间。
5.在程序的存储区中,应当适当分配存储器的地址,其中有系统主程序,以及子程序模块的合理规划以及入口地址表的分配等。
6.,要考虑在程序的数据储存区中是否含有断电保护,以及是否定义了暂存区的标志单元。
7.输入输出控制量的定义和面板开关的定义与软件的编程都有着非常密切的关系。
系统运行结果、运行过程中单步结果的显示,甚至系统错误的显示也都是由软件来完成的。
因此它们必须事先给予定义,用来作为编程好坏的依据。
4.2主流程图
软件流程图如图4-1所示,系统上电工作后,首先进行初始化操作,然后单片机输出40KHz的方波信号,一方面通过输出引脚P3.1输入至驱动器,经驱动器驱动
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 stc89c52rc 单片机 控制 汽车 倒车 报警器 设计方案