当前位置:文档之家› 汽车速度显示及超速报警器

汽车速度显示及超速报警器

引言汽车是现在最流行的代步工具,然而随着经济越来越好,汽车已经进入普通家庭中。

全世界消耗的汽车数量大得惊人。

与此同时,交通事故也一直居高不下。

酒后驾驶,超速飙车,危及着人们的人身安全。

本着解决超速引发的交通事故,本超速报警系统应用了数字电子技术,运用了一些比较简单的电路制成。

该电路主要是计算汽车在一秒内轮子的转动圈数即转动频率,为使电路简单,仅以转动频率来模拟汽车的速度,并将计得的速度通过数码管显示出来,速度显示每秒刷新一次,并对超速时产生报警信号或者自动将发动机熄灭,确保了行驶的安全,司机通过拨动开关可任意设置产生报警信号速度和安全行驶极限速度。

该电路主要由逻辑控制电路、信号接收电路、LCD显示器、报警信号等部分构成。

第一章汽车速度显示及超速报警器的基本工作原理电路基本功能该电路主要是计算汽车在一秒内轮子的转动圈数即转动频率,,仅以转动频率来模拟汽车的速度,并将计得的速度通过LCD1602显示出来,确保了行驶的安全,通过控制开关可以设定速度,设置速度可以为10到120间为十的整数倍,当速度大于此设置速度时,电路将产生报警信号。

电路的基本组成部分该电路主要由逻辑控制电路、LCD显示器、报警信号等部分构成。

电路的整体工作原理驾驶者根据当前天气,路况,和自己的驾车状态等设定本系统的限速值,比如说60km/h。

设定汽车的最高行驶速度后,系统正式运行。

本系统采用霍尔传感器来测定汽车的当前行驶速度,当车轮每滚动一周,霍尔传感器输出一个高低电平,计数一次,将数据实时传给单片机处理,计算出汽车当前的速度值,并实时显示在LCD显示屏上。

当汽车的行驶速度大于设定的最高速度值时,蜂鸣器发出响声,LED警告灯亮,LCD显示屏显示“warning!!!”的提示语。

驾驶者根据警告提示就可以比较好地控制汽车的行驶速度,从而降低了事故的发生率,保证了人身安全。

电路实用说明本系统有两个作用:一是将汽车速度通过LCD显示器显示出来,使司机能知道对应时刻的汽车速度;二是当司机加速过高达到设置值时,电路会产生报警信号。

在不同级别的道路上、在不同的天气环境下、在司机不同精神状态下或者其他不同的情况下,汽车的安全行驶速度会有不同高低的限制,而往往由于司机不意识的加速过高而产生各种交通事故,因此,在汽车中安装超速报警器极其重要。

司机可根据实际情况设置产生报警信号速度。

电路设计原理图第二章主要基本电路的工作原理复位电路的工作原理当系统运行发生故障时,可以选择手动复位功能,使系统能够继续正确运行。

霍尔传感器测速电路的工作原理霍尔H是一个磁敏原件,一般装在电机里面,电机转动的时候,转到磁铁的地方发出信号。

霍尔H的1脚接12v,2脚接地,为霍尔H提供12v电源。

3脚的输出根据左边的图,当磁场B从小到大到达18MT,3脚由12v跳变为0v。

当磁场B从大到小到达,3脚由0v 跳变为12v。

分析右边的图:当3脚输出12v的时候,由于LED1两边都是12v,没有电压,不发光,而3脚输出的12v使三极管9013导通,三极管9013导通使TLP521左边的发光管发光,有光TLP521右边导通,I/O输出低电平0v。

当3脚输出0v的时候,由于LED1两边有电压,LED1发光,而3脚输出的0v使三极管9013截止,三极管9013截止使TLP521左边的发光管不发光,没有光TLP521右边截止,I/O输出高电平5v(由于TLP521右边是5v电源)这样可以根据电机转速,I/O口输出标准数字电路高低电平的个数。

按键电路的工作原理本着系统简单的原则,我们设计以按键输入的方式来设定汽车最高的行驶速度。

按下不同的按键,可以设定不同的速度值。

本系统可以设定的最高速度分别为:10km/h,20km/h,40km/h,60km/h,80km/h,120Km/h。

1602显示器的工作原理晶振电路的工作原理单片机都需要一个计时电路,尽管一般使用“时钟”这个词来表示这些设备,但它们实际上并不是通常意义的时钟,把它们称为计时器可能更恰当一点。

有两个寄存器与每个石英晶体相关联,一个计数器和一个保持寄存器。

石英晶体的每次振荡使计数器减1。

当计数器减为0时,产生一个中断,计数器从保持计数器中重新装入初始值。

这种方法使得对一个计时器进行编程,令其每秒产生60次中断(或者以任何其它希望的频率产生中断)成为可能。

第三章电路所用元件列举分立元件电容:10uf 1个 30uf 2个电阻:5K 6个、1K 2个、10K 1个按键:7个LED灯1个扬声器1个三极管1个蜂鸣器1个晶振1个LCD显示屏1个集成芯片(AT89C51)第四章电路原理图电路原理图4 软件设计程序设计步骤第一步分析问题,明确任务要求,对于复杂的问题,还要讲要解决的问题抽象成数学模型,即用数学表达式来描述。

第二步确定算法,即根据实际问题和指令系统的特点确定完成这一任务须经历的步骤。

第三步根据所选择的算法,确定内存单元的分配:使用那些寄存器:程序运行中的中间数据及结果存放在那些单元,以利于提高程序的效率和运行速度:然后制定出解决问题的步骤和顺序,画出程序的流程图。

第四步根据流程图,编写源程序。

第五步上机对原程序进行编译、调试。

程序流程图电机转速测量需要经过的4个基本步骤:1是控制方式;2是确定计数方式;3是信号输入方式;4是计数值的读取;通过89C51,单片机完成对电机转速脉冲计数的控制,读取寄存器完成转速频率的确定。

其测量过程是测量转速的霍尔传感器和电机机轴同轴连接,机轴每转一周,产生一定量的脉冲个数(这里设定为1),由霍尔器件电路输出。

控制计数时间,即可实现计数器的计数值对应机轴的转速值。

主CPU将该值数据处理后,在LCD液晶显示器上显示出来[11]。

INT中断对转速脉冲计数。

定时器T0工作于定时方式,本系统采用89C51中的0INT计数值,此值即为脉冲信号的频率,根据工作于方式1。

每到1s读一次外部中断0式(4-1)可计算出电机的转速。

当直流电机通过传动部分带圆盘旋转时,霍尔传感器根据圆盘上得磁片获得一系列时器T0完成100次溢出中断的时间T除以测得的脉冲数m,经过单位换算,就可以算得4.2.1 主程序流程图主程序工作过程如下。

先进行初始化设置各定时器初值,然后判断是否启动系统进行测量。

启动系统,霍尔传感器检测脉冲到来后,启动外部中断,每来一个脉冲中断一次,记录脉冲个数。

同时启动T0定时器工作,每1秒定时中断一次,读取记录的脉冲个数,即电机转速。

再进行数值的判断,若数值高于设定速度则报警,否则就进行正常速度液晶显示。

图4-1主流程图4.2.2 中断服务流程图INT位进行的脉冲在处于中断服务程序阶段,首先进行关中断设置。

其次进行对0INT、T0进行赋初值并且进行关中断设置。

最后进行中个数计数的数值读取。

再次对0断返回。

一、外部计数中断图4-2 外部中断流程图二、定时器中断图4-3 T0中断流程图软件程序设计4.3.1 主程序设计主程序在对定时器、计数器、LCD等进行初始化后,检测限速键盘是否有输入,如果有,就改变限制速度;如果没有,就保持限制速度数值不变(如果是初始值就为999km/h)。

然后判定即使速度是否超过限制速度,如果超过了,就进入限制速度显示程序,调用限制速度显示数组与超速字符数组显示,并使提醒LCD与蜂鸣器开启;如果没超过,即进行即时速度ASCII码处理,改变即时速度数组,然后调用限制速度显示数组与即时速度数组显示,并关闭提醒LCD与蜂鸣器。

最后返回检测键盘,不断重复检测键盘与判定程序。

/*********主程序***********************/void main(){uint bai,shi,ge;init();while(1){keyscan();if(speed<full){bai=speed/100shi=speed%100/10;ge=speed%10;table2[0]=bai+'0';table2[1]=shi+'0';table2[2]=ge+'0'display(table,table2);led=0;speaker=0;};keyscan();if(speed>=full){display(table,table1);led=1speaker=1;};};}中断服务程序设计一、外部计数中断进行转动圈数的计数,每圈加1。

/*-------------------外部中断0计数程序-------------------*/ void counter() interrupt 0{EX0=0;r++;EX0=1;}二、定时器中断进行定时器重新赋值,与每秒进行一次速度计算处理,得出转速。

/*-----------------内部中断0计时计数程序-----------------*/ void T0_1() interrupt 1{double s;t=t+1;if(t==10) 5.1.1 P5.1.2BJ)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器DScope51或TScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。

图5-1 C51工具包的整体结构图应用Keil软件进行程序调试软件的调试必须在开发系统的支持下进行。

先分别调试通过各个模块程序,然后调试中断服务程序,最后调试主程序,将各部分连接进行调试。

调试的范围可以由小到大,逐步增加,必要的中间信号可以先做设定。

通常交叉使用单步运行,断点运行,连续运行等多种方式,每次执行完毕后,检查CPU执行现场,RAM的有关内容,I/O接口的状态等。

发现一个问题,解决一个问题,直至全部通过。

首先新建一个工程项目文件;其次为工程选择目标器件;再次为工程项目设置软硬件调试环境;并创建源程序文件并输入程序代码,及保存创建的源程序项目文件;最后把源程序文件添加到项目中[17]。

Proteus软件仿真在Proteus软件中画出原理图,向单片机中加入需要调试的程序的HEX文件,便可以进行调试了.5.3.1 仿真步骤利用Proteus实现单片机系统开发过程一般分为四步:1.在Proteus平台上进行单片机系统电路设计、选择元器件、接插件、连接电路和电气检测等(简称Proteus电路设计);2.在keil平台上进行单片机系统源程序设计、编辑、汇编编译、调试,最后生成目标代码文件(*.hex)(简称Proteus软件设计);再次在Proteus平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真(简称Proteus仿真);最后仿真正确后,安装实际单片机系统电路,并将目标代码文件(*.hex)下载到实际单片机中运行、调试。

相关主题