已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
引言 汽车是现在最流行的代步工具,然而随着经济越来越好,汽车已经进入普通家庭中。全世界消耗的汽车数量大得惊人。与此同时,交通事故也一直居高不下。酒后驾驶,超速飙车,危及着人们的人身安全。本着解决超速引发的交通事故,本超速报警系统应用了数字电子技术,运用了一些比较简单的电路制成。该电路主要是计算汽车在一秒内轮子的转动圈数即转动频率,为使电路简单,仅以转动频率来模拟汽车的速度,并将计得的速度通过数码管显示出来,速度显示每1.25秒刷新一次,并对超速时产生报警信号或者自动将发动机熄灭,确保了行驶的安全,司机通过拨动开关可任意设置产生报警信号速度和安全行驶极限速度。该电路主要由逻辑控制电路、信号接收电路、LCD显示器、报警信号等部分构成。第一章 汽车速度显示及超速报警器的基本工作原理1.1 电路基本功能该电路主要是计算汽车在一秒内轮子的转动圈数即转动频率,仅以转动频率来模拟汽车的速度,并将计得的速度通过LCD1602显示出来,确保了行驶的安全,通过控制开关可以设定速度,设置速度可以为10到120间为十的整数倍,当速度大于此设置速度时,电路将产生报警信号。1.2 电路的基本组成部分该电路主要由逻辑控制电路、LCD显示器、报警信号等部分构成。1.3 电路的整体工作原理驾驶者根据当前天气,路况,和自己的驾车状态等设定本系统的限速值,比如说60km/h。设定汽车的最高行驶速度后,系统正式运行。本系统采用霍尔传感器来测定汽车的当前行驶速度,当车轮每滚动一周,霍尔传感器输出一个高低电平,计数一次,将数据实时传给单片机处理,计算出汽车当前的速度值,并实时显示在LCD显示屏上。当汽车的行驶速度大于设定的最高速度值时,蜂鸣器发出响声,LED警告灯亮,LCD显示屏显示“warning!”的提示语。驾驶者根据警告提示就可以比较好地控制汽车的行驶速度,从而降低了事故的发生率,保证了人身安全。1.4 电路实用说明本系统有两个作用:一是将汽车速度通过LCD显示器显示出来,使司机能知道对应时刻的汽车速度;二是当司机加速过高达到设置值时,电路会产生报警信号。在不同级别的道路上、在不同的天气环境下、在司机不同精神状态下或者其他不同的情况下,汽车的安全行驶速度会有不同高低的限制,而往往由于司机不意识的加速过高而产生各种交通事故,因此,在汽车中安装超速报警器极其重要。司机可根据实际情况设置产生报警信号速度。1.5 电路设计原理图第二章 主要基本电路的工作原理2.1 复位电路的工作原理当系统运行发生故障时,可以选择手动复位功能,使系统能够继续正确运行。2.2 霍尔传感器测速电路的工作原理霍尔H是一个磁敏原件,一般装在电机里面,电机转动的时候,转到磁铁的地方发出信号。霍尔H的1脚接12v,2脚接地,为霍尔H提供12v电源。3脚的输出根据左边的图,当磁场B从小到大到达18MT,3脚由12v跳变为0v。当磁场B从大到小到达12.5MT,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口输出标准数字电路高低电平的个数。2.3 按键电路的工作原理本着系统简单的原则,我们设计以按键输入的方式来设定汽车最高的行驶速度。按下不同的按键,可以设定不同的速度值。本系统可以设定的最高速度分别为:10km/h,20km/h,40km/h,60km/h,80km/h,120Km/h。2.4 1602显示器的工作原理2.5 晶振电路的工作原理 单片机都需要一个计时电路,尽管一般使用“时钟”这个词来表示这些设备,但它们实际上并不是通常意义的时钟,把它们称为计时器可能更恰当一点。有两个寄存器与每个石英晶体相关联,一个计数器和一个保持寄存器。石英晶体的每次振荡使计数器减1。当计数器减为0时,产生一个中断,计数器从保持计数器中重新装入初始值。这种方法使得对一个计时器进行编程,令其每秒产生60次中断(或者以任何其它希望的频率产生中断)成为可能。第三章 电路所用元件列举3.1 分立元件电容:10uf 1个 30uf 2个电阻:5K 6个、1K 2个、10K 1个按键:7个LED灯1个扬声器1个三极管1个蜂鸣器1个晶振1个LCD显示屏1个3.2 集成芯片(AT89C51)第四章 电路原理图4.1 电路原理图4 软件设计4.1 程序设计步骤第一步分析问题,明确任务要求,对于复杂的问题,还要讲要解决的问题抽象成数学模型,即用数学表达式来描述。第二步确定算法,即根据实际问题和指令系统的特点确定完成这一任务须经历的步骤。第三步根据所选择的算法,确定内存单元的分配:使用那些寄存器:程序运行中的中间数据及结果存放在那些单元,以利于提高程序的效率和运行速度:然后制定出解决问题的步骤和顺序,画出程序的流程图。第四步根据流程图,编写源程序。第五步上机对原程序进行编译、调试。4.2 程序流程图电机转速测量需要经过的4个基本步骤:1是控制方式;2是确定计数方式;3是信号输入方式;4是计数值的读取;通过89C51,单片机完成对电机转速脉冲计数的控制,读取寄存器完成转速频率的确定。 其测量过程是测量转速的霍尔传感器和电机机轴同轴连接,机轴每转一周,产生一定量的脉冲个数(这里设定为1),由霍尔器件电路输出。控制计数时间,即可实现计数器的计数值对应机轴的转速值。主CPU将该值数据处理后,在LCD液晶显示器上显示出来11。本系统采用89C51中的中断对转速脉冲计数。定时器T0工作于定时方式,工作于方式1。每到1s读一次外部中断计数值,此值即为脉冲信号的频率,根据式(4-1)可计算出电机的转速。当直流电机通过传动部分带圆盘旋转时,霍尔传感器根据圆盘上得磁片获得一系列脉冲信号。这些脉冲信号通过单片机系统定时/计数器计数,定时器T0定时。定时器T0完成100次溢出中断的时间T除以测得的脉冲数m,经过单位换算,就可以算得直流电机旋转的速度。直流电机转速计算公式:n=60m/(N1TN)(rpm) (4-1)其中:n为直流电机转速,N为栅格数,N1为T0中断次数,m为在规定时间内测得的脉冲数,T为定时器T0定时溢出时间12。4.2.1 主程序流程图主程序工作过程如下。先进行初始化设置各定时器初值,然后判断是否启动系统进行测量。启动系统,霍尔传感器检测脉冲到来后,启动外部中断,每来一个脉冲中断一次,记录脉冲个数。同时启动T0定时器工作,每1秒定时中断一次,读取记录的脉冲个数,即电机转速。再进行数值的判断,若数值高于设定速度则报警,否则就进行正常速度液晶显示。图4-1主流程图4.2.2 中断服务流程图 在处于中断服务程序阶段,首先进行关中断设置。其次进行对位进行的脉冲个数计数的数值读取。再次对、T0进行赋初值并且进行关中断设置。最后进行中断返回。一、外部计数中断图4-2 外部中断流程图 二、定时器中断图4-3 T0中断流程图4.3 软件程序设计4.3.1 主程序设计主程序在对定时器、计数器、LCD等进行初始化后,检测限速键盘是否有输入,如果有,就改变限制速度;如果没有,就保持限制速度数值不变(如果是初始值就为999km/h)。然后判定即使速度是否超过限制速度,如果超过了,就进入限制速度显示程序,调用限制速度显示数组与超速字符数组显示,并使提醒LCD与蜂鸣器开启;如果没超过,即进行即时速度ASCII码处理,改变即时速度数组,然后调用限制速度显示数组与即时速度数组显示,并关闭提醒LCD与蜂鸣器。最后返回检测键盘,不断重复检测键盘与判定程序。/*主程序*/void main()uint bai,shi,ge;init();while(1)keyscan();if(speed=full)display(table,table1);led=1speaker=1;4.3.2 中断服务程序设计一、外部计数中断进行转动圈数的计数,每圈加1。/*-外部中断0计数程序-*/void counter() interrupt 0EX0=0;r+;EX0=1;二、定时器中断进行定时器重新赋值,与每秒进行一次速度计算处理,得出转速。/*-内部中断0计时计数程序-*/void T0_1() interrupt 1double s;t=t+1;if(t=10)/1秒ET0=0;s=(double)r*1.5;/1秒内的路程speed1=s*3.6;/得出速度=?km/hspeed=(uint)speed1;t=0;r=0;ET1=1;TH0=(65536-15536)/256;TL0=(65536-15536)%256;/定时器0为0.1s中断一次4.3.3 显示程序设计液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。向LCD输入的数据有两种,一种是指令,一种是数据。指令是负责初始化LCD与LCD显示字符是什么位置。数据是告诉该显示什么。命令与数据是RS端的高低电平来确定。数据开始的时候是由LCDCS高电平开始,低电平结束。图4-4 显示流程图/*写指令入LCD*/void write_com(uchar com) lcdrs=0;P2=com;lcden=0;delayms(5);lcden=1;delayms(5);lcden=0;/*写显示数据入LCD*/void write_data(uchar date) lcdrs=1;P2=date;lcden=0;delayms(5);lcden=1;delayms(5);lcden=0;/*LCD初始化*/void lcd_init() lcden=0;write_com(0x38);/设置16x2显示5x7点阵,8位数据接口write_com(0x0c);/设置开显示,不显示光标write_com(0x06);/写一个字符后地址指针加1write_com(0x01);/显示清0,数据指针清0/*LCD显示*/void display(uchar *a,uchar *b) write_com(0x80);for(num=0;num11;num+)write_data(anum);delayms(5);write_com(0x80+0x40);for(num=0;num10;num+)write_data(bnum);delayms(5);4.3.4 检测限速键盘设计检测每个触发开关是否按下,每个触发开关对应一个限制速度。并在按下的情况下,进行改变相应限制速度数组的处理/*限速键盘检测*/void keyscan()if(key1=0)delayms(10);if(key1=0)full=10;table4=0;table5=1;table6=0;while(!key1);if(key2=0)delayms(10);if(key2=0)full=20;table4=0;table5=2;table6=0;while(!key2);if(key4=0)delayms(10);if(key4=0)full=40;table4=0;table5=4;table6=0;while(!key4);if(key6=0)delayms(10);if(key6=0)full=60;table4=0;table5=6;table6=0;while(!key6);if(key8=0)delayms(10);if(key8=0)full=80;table4=0;table5=8;table6=0;while(!key8);if(key12=0)delayms(10);if(key12=0)full=120;table4=1;table5=2;table6=0;while(!key12);软件调试5.1 Proteus及Keil软件简介5.1.1 Proteus软件Proteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。Proteus软件提供多种现实存在的虚拟仪器仪表。此外,Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。提供Schematic Drawing、SPICE仿真与PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、AVR、PIC等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持Keil和MPLAB等编译器。一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。以虚代实、以软代硬,就建立一个完善的虚拟实验室。在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等16。5.1.2 Keil软件KeilC51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。C51工具包的整体结构如图5-1所示,其中Uvision与Ishell分别是C51 for Windows和For Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分 别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器DScope51或TScope51使用进行源代码级调试,也可由仿真器使用直接 对目标板进行调试,也可以直接写入程序存贮器如EPROM中。图5-1 C51工具包的整体结构图5.2 应用Keil软件进行程序调试软件的调试必须在开发系统的支持下进行。先分别调试通过各个模块程序,然后调试中断服务程序,最后调试主程序,将各部分连接进行调试。调试的范围可以由小到大,逐步增加,必要的中间信号可以先做设定。通常交叉使用单步运行,断点运行,连续运行等多种方式,每次执行完毕后,检查CPU执行现场,RAM的有关内容,I/O接口的状态等。发现一个问题,解决一个问题,直至全部通过。首先新建一个工程项目文件;其次为工程选择目标器件;再次为工程项目设置软硬件调试环境;并创建源程序文件并输入程序代码,及保存创建的源程序项目文件;最后把源程序文件添加到项目中17。5.3 Proteus软件仿真在Proteus软件中画出原理图,向单片机中加入需要调试的程序的HEX文件,便可以进行调试了.5.3.1 仿真步骤利用Proteus实现单片机系统开发过程一般分为四步:1.在Proteus平台上进行单片机系统电路设计、选择元器件、接插件、连接电路和电气检测等(简称Proteus电路设计);2.在keil平台上进行单片机系统源程序设计、编辑、汇编编译、调试,最后生成目标代码文件(*.hex)(简称Proteus软件设计);再次在Proteus平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真(简称Proteus仿真);最后仿真正确后,安装实际单片机系统电路,并将目标代码文件(*.hex)下载到实际单片机中运行、调试。若出现问题,可与Proteus设计与仿真相互配合调试,直至运行成功(简称实际产品安装、运行与调试)。笔者的实践证明:按照Proteus仿真通过的设计来安装的实际系统,只要安装正确、元器件无误,焊接牢靠,基本都能顺利通过18。5.3.2 仿真实例在Proteus软件里仿真的效果图如下:PS:霍尔元件用信号发生器代替,通过设定信号发生频率,仿真实际汽车转动角频率的测定。图5-7 显示图第五章 电路设计与 调试总结5.1 电路设计说明本电路为汽车速度显示及超速报警器,从电路设计、程序设计、仿真全部小组成员在指导老师的指导下独立完成,总共花了差不多两周的时间,主要是用数字电路有关知识来设计,设计中主要用到了PROTEL软件及EWB仿真软件。5.2 电路设计总结任何电路的设计都要经过大体的描绘与分割,将整个电路分成几个小的相对独立的电路,再对各个电路加以分析,运用有关知识先进行试探性的设计,之后对所设计的电路进行全面分析,加以改进,感觉成功时就用相关防真软件进行电路防真。当各个部分的电路都能实现其该实现的功能时,综合电路功能对电路设计的要求和有关电路设计知识,将所有各个电路通过一定的连接方式连到一起,构成整体的最终电路。然后,如有可能再对整个电路进行防真,若不成功,则一级一级的查找失败原因并加以改进。一般来说,用防真软件防真不成功的电路,硬件电路不会成功的,而用软件防真能成功的电路,硬件电路不一定能够成功,但经防真成功了的电路,在硬件调试时出现的问题也较少,而且问题一般不大,较容易进行改进,直至调试成功。本电路可以先将整个电路分成以下几个部分来独立设计:复位电路、晶振电路、按键电路、扬声器、LCD液晶显示器。设计时先独立将这些电路设计并防真,在每个电路都能实现其特定功能时,再将所有电路连接到一起,构成所需要的电路5.3 电路调试总结由于本电路相对较为复杂,没有接近现成的电路可参考,所有电路都要自己参考一些资料后设计出来的,并且有些电路不能对其进行防真,电路可靠性不高,这就需要经不断反复研究,设计出最理想的电路。测速系统采用霍尔传感器作为敏感速率信号,具有频率响应快,抗干扰能力强等特点。霍尔传感器的输出信号经信号调理后,通过单片机对连续脉冲记数来实现转速测量,充分利用了单片机的内部资源,有很高的性价比。经过测试并对误差进行分析发现,该系统的测量误差在5%以内,并且在测量范围内转速越高测量精度越高。所以该系统在一般的转速检测和控制中均可应用。设计采用89C51单片机作为测量转速的主CPU芯片,系统硬件设备结构简单合理,成本低,实时性好。本电路采用LCD显示测速值,直观、稳定,易于实现,该显示方式可以推广到其他工程应用领域。并进行了仿真,调试结果表明所设计的软件程序正确。主要参考文献1基于STC单片机的机场车辆超速报警系统 张积洪,马创(中国民航大学航空自动化学院,天津)2 8051在车辆超速报警系统中的应用 周旭艳 彭宣戈 朱 兵 (井冈山学院信息科学与传媒学院 江西 吉安) 3基于光电耦合器的汽车超速报警器设计 唐凯江 开发 ,张弛 ( 1.南京工程学院 车辆工程 系江苏 南京;2.南京工程学院 自动化 系江苏 南京)4一种基于89C51对机动车辆超速的监测报警系统 彭宣戈1肖斌2 (1井冈山学院;2江西公安专科学校)5一种汽车超速报警系统的设计 王海,王霞 (山东费县供电公司 山东 费县) 6单片机原理与接口技术 肖金球 (清华大学出版社)致 谢在本次实训中,我们得到了老师和同学的帮助,在此,我们表示诚挚的谢意。由于水平有限,设计中难免存在一些缺点和错误,希望大家给予批评指正。附录A 软件程序#include#define uint unsigned int#define uchar unsigned charsbit lcden=P31;/液晶使能端sbit lcdrs=P30;/液晶数据命令选择端sbit key1=P10;/10km/h限速sbit key2=P11;/20km/h限速sbit key4=P12;/40km/h限速sbit key6=P13;/60km/h限速sbit key8=P14;/80km/h限速sbit key12=P15;/120km/h限速sbit led=P16;/LEDsbit speaker=P17;/蜂鸣器double speed1=0;uint r=0;uint speed=0,full=999;uchar table=top=999km/h;uchar code table1=warning!;uchar table2=000km/h ;uchar num;uchar t=0;/*延时:i=xms即延时zms毫秒*/void delayms(uint xms)uint i,j;for(i=xms;i0;i-)for(j=110;j0;j-);/*写指令入LCD*/void write_com(uchar com) lcdrs=0;P2=com;lcden=0;delayms(5);lcden=1;delayms(5);lcden=0;/*写显示数据入LCD*/void write_data(uchar date) lcdrs=1;P2=date;lcden=0;delayms(5);lcden=1;delayms(5);lcden=0;/*LCD初始化*/void lcd_init() lcden=0;write_com(0x38);/设置16x2显示5x7点阵,8位数据接口write_com(0x0c);/设置开显示,不显示光标write_com(0x06);/写一个字符后地址指针加1write_com(0x01);/显示清0,数据指针清0/*LCD显示*/void display(uchar *a,uchar *b) write_com(0x80);for(num=0;num11;num+)write_data(anum);delayms(5);write_com(0x80+0x40);for(num=0;n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州雍福产业发展投资(集团)有限公司人才引进暨员工招聘27人笔试历年常考点试题专练附带答案详解试卷2套
- 2025福建漳龙集团有限公司招聘6人笔试历年典型考点题库附带答案详解试卷2套
- 证券投资顾问客户适当性管理实务手册
- 2025海南省电影有限公司职业经理人招聘1人笔试历年常考点试题专练附带答案详解试卷2套
- 2025浙江台州温岭市社会事业发展集团有限公司招聘2人笔试历年备考题库附带答案详解试卷2套
- 2025江西九江德安六能新能源汽车服务有限公司招聘拟聘用人员笔试历年难易错考点试卷带答案解析试卷2套
- 2025江苏兴海港务有限公司招聘12人笔试历年常考点试题专练附带答案详解试卷2套
- 2025年中信建投证券股份有限公司甘肃分公司校园招聘笔试历年常考点试题专练附带答案详解试卷2套
- 数据治理岗位360度评估方案设计
- 2025安徽池州高新建设发展有限公司社会化用人招聘5人笔试历年典型考点题库附带答案详解试卷2套
- 河道清理淤泥施工方案
- 设备供货项目实施方案
- 家政公司经营方法
- 智能手表看课件功能
- 医疗废弃物相关知识培训课件
- 2026江苏辖区农村商业银行沭阳农村商业银行校园招聘10人考试模拟试题及答案解析
- 宁德新能源verify测试题库
- 2024-2025学年湖北省武汉市常青联合体高二(上)期中地理试卷
- 紧急输血专家共识课件
- 向人大申请监督申请书
- 2025年初级会计考试真题及参考答案
评论
0/150
提交评论