资源描述:
《基于89c51汽车防撞防盗报警系统》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于89C51汽车防撞防盗报警系统通信与信息系统专业孙明杰学号200602302摘要:本文介绍一种利用单片机的实时控制及数据处理功能,结合汽车自身速度检测与震动传感技术,实现了汽车防撞、防盗报警系统。当汽车持续倒车超过两米时会发出防撞报警信号;当汽车被锁车后,如果车体出现震动,则发出防盗报警信号。与此同时,可以从LED显示器观看报警状态以及报警持续时间和报警次数。关键词:单片机;防盗防撞;报警器引言:随着我国汽车的日益普及,停车场越来越拥挤,车辆常常需要在停车场穿行、掉头或倒车。由于这些低速行驶的车辆与其它车辆非常接近,驾驶员的视野颇受限制,碰撞和拖挂的事故时有发生,在夜间时则更显突出
2、;另一方面,由于汽车偷盗分子对现代技术的应用,汽车被盗现象也屡屡发生。汽车防撞与防盗已成为许多车主关注的话题。本文从成本与技术角度考虑,设计了一款价格低廉、小巧实用的汽车防撞防盗报警系统,可有效地避免此类事故的发生。系统设计值得厂家参考。1汽车防撞防盗的基本原理图1系统结构基本原理图整个防撞防盗报警系统以一片AT89C51作为系统的核心处理器,配合车速采集电路、振动检测电路、LED显示电路共同工作,通过健控开关直接控制其工作,以声光报警电路为主要警告方式。2倒车防撞测距的基本原理倒车防撞测距的基本原理是当汽车启动后,不断地检测倒车信号,一旦检测到倒车信号即送入单片机AT89C51启动信
3、号,开启倒车报警预算系统,接收倒车速度采样信号。AT89C51根据倒车速度v与时间t,通过积分运算计算倒车距离,当倒车距离S达到两米时发出触发电平,引发倒车报警信号。驾驶员通过身边的遥控器接收信号,进行相应的处置,同时切断启动电路。如果倒车不到两米,出现倒车负速度,即汽车前进,则结束倒车报警预算。重新检测倒车信号。图2撞车报警流程图倒车报警系统可以通过防撞健控开关将其关闭,也可以通过复位开关将其初始化,从而停止正在报警的铃声。鉴于倒车距离与撞车可能发生的关系,本系统采用的是两米报警。也可以根据司机倒车的需求,长距离倒车之前先行屏蔽倒车报警系统。总之,倒车报警是在倒车司机视野颇受限制(如
4、夜间),或者地形复杂,或者司机出现倒车事物的情况下,体现倒车报警系统的价值。3防盗震动报警的基本原理防盗报警系统主要采用灵敏的震动传感器作为信号检测装置。防盗报警系统默认锁车以后自动打开。也可以在锁车以后通过防盗键控开关将其强行关闭。防盗检测由磁震传感器集成电路输入有效信号给单片机AT89C51。当传感器检测到震动时,输出高电平经反相器后由单片机接收进行防盗控制,控制发射器发出防盗信号(脉冲),驾驶员通过身边的遥控器接收信号,进行相应的处置,同时切断启动电路。具体工作过程如下:防盗开关与单片机的P2.0引脚相连,开关合上时,进入防盗状态,并延时一段时间,以确保主人离开,防止误报警。当传
5、感器检测到振动时输出高电平,经反相器后将单片机的P1.6端置0进行声光报警,P1.7端被置0切断启动电路,此时P1.4端发出连续的50kHz的脉冲经缓冲后,由发射器CZ27F发射,由遥控器接收进行声光报警。遥控器工作过程如下:遥控器内置单片机AT89C51,当中断0接收到边沿触发信号时进入报警程序,单片机的P13端置0,进行声光报警。当检测到关闭开关合上时,关闭声光报警;单片机的P1.1输出脉冲信号,发射器发射频率信号,由汽车里的报警装置接收(此控制是防止汽车里的声光报警误报警),同时遥控器自身的中断0关闭,以防误报警。声光报警电路原理图如下:图2声光报警电路4.LED数码显示器电路单
6、片机输出信号,在推动电路的配合下使LED数码显示器正常工作。显示电路是智能仪器的重要功能电路之一,为简化电路、降低成本,通常采用动态显示方式来实现,这里使用是价位较低的Max7219。采用MAX公司的MAX7219接收数据信号,并由一段电阻排阻抬高电压,最终配合7段LED显示器显示结果。显示电路原理图如下:基于MAX7219的8位数码显示电路MAX7219具有数据锁存功能,其中所存信号LOAD与输入信号DIN以时钟信号CLK作为参考,在有效的触发沿传送数据。MAX7219数据传送时序图5 单片机数据处理子程序程序清单如下。ORG0000HAcallsout;调发送数据子程序Loop:S
7、JMPloop;等待接收数据;接收数据子程序Rece:movp1,#0ffh;P1口全置1(为读数作准备)movR7,#03h;接收字节数送R7movR0,#40h;存数首地址送R0clRp3.2;经P3.2向PC发中断信号setbp3.2clRp3.2;告诉PC发送数据ji1:clRp3.4;清P3.4,允许PC发送数据ji2:jbp3.3,ji2;P3.3=0?若为0,PC正发数mov@R0,p1;从P1口读数setbp3.4;P3.4置1