毕业设计汽车速度与里程表设计和实现.doc
《毕业设计汽车速度与里程表设计和实现.doc》由会员分享,可在线阅读,更多相关《毕业设计汽车速度与里程表设计和实现.doc(22页珍藏版)》请在三一办公上搜索。
1、 汽车速度与里程表设计和实现前言 汽车是现代生活中不可或缺的一种重要交通工具,传统的指针式里程表伴随着汽车的诞生就一直为人们喜爱,不过,新生事物不会因传统的存在而停止它前进的步伐。数码科技在今天已渗透到工业,农业,民用等产品的点点滴滴。新概念的汽车速度与里程表最直观的变化就是用大屏幕的液晶取代指针式表盘,直接用数字显示速度和里程,以及其他一些诸如油耗、时钟、环境温度等参数,直观的呈现给使用者。同时,它还具有成本低廉,显示清晰,稳定可靠等优点。由于单片机体积小,可以把它做到产品的内部,取代老式机械零件,缩小产品体积,增强功能,实现智能化。因此被广泛地用在智能产品中。Intel公司的MCS-51系
2、列单片机近年来得到了广泛流行。本文即介绍一种基于AT89C2051单片机的汽车速度与里程表的设计和实现。本设计以AT89C2051为核心,利用单片机的运算和控制功能,采用串口液晶显示模块实时显示所测汽车的速度和里程信息的设计方案。由于使用了串口液晶显示模块和E2PROM,以及高效快速算法,因而可在节约系统资源和简化程序设计的基础上保证测量精度和系统实时性。本文先对汽车速度和里程表设计中所需设备作详细介绍,再对设计中存在的问题进行了讲述,对硬件部分和软件部分的设计和实现作认真的说明。1 系统概述1本系统设计由信号采集处理模块、单片机AT89C2051控制模块、系统化LCD显示模块、系统软件等组成
3、。系统软件包括单片机和液晶模块的初始化模块、液晶模块的写数据/命令子模块、周期测量模块、速度与里程计算模块、数据存储模块、速度和里程显示数据转BCD码模块、显示数据消多余零模块、数据显示模块以及实时中断服务模块等。其中,信号采集处理模块以霍尔传感器为核心器件,将不同的转速信号转换成相应的脉冲信号,并送到单片机的T1引脚;对单片机进行设置,使内部的定时器/计数器timer0工作在定时状态,timer1工作在计数状态,利用内部定时器T0对脉冲输入引脚T1进行控制,这样就能精确地检测到设定时间内加到T1引脚的脉冲数,一个脉冲即代表着车子前进一个轮长,对脉冲数进行处理就可得到里程和速度的数据;将数据送
4、到LCD显示模块进行显示。速度显示部分采用串口液晶显示模块,所得的数据采用I2C总线并通过E2PROM来存储,因而节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。汽车速度与里程表系统原理框图如图1-1所示:脉冲信号单片机LCD图1-1 汽车速度与里程表系统原理框图2 基本原理与设计方案本设计能实时地将所测的速度显示出来,同时也能够累计显示总里程数。该速度里程表能将传感器输入到单片机的脉冲信号的宽度(传感器将车速转变成相应宽度的脉冲信号)实时地测量出来,然后通过单片机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由串口液晶显示模块实时显示出所测速度。本设计用两个按键来
5、控制显示速度或里程。考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后再输入到单片机进行测速。单片机利用定时器T0的控制功能测出输入信号的周期后,再利用单片机的算术运算功能将周期转换成速度,同时每秒钟进行一次里程累计,从而计算出总里程。最后将得出的速度和里程值存储在E2PROM中,并根据两个按键的选择情况来显示速度或里程。为了方便计算要显示数据值的段码,可再将其转换成压缩的BCD码,然后通过查表将要显示的数据值中每一位的压缩BCD码转换成8段码送到显示缓冲区,最后经串口送至液晶显示模块以显示所测的速度或里程。2.1 霍尔传感器简介2 霍耳效应:1879年E.H. 霍尔发现
6、,如果对位于磁场(B)中的导体(d)施加一个电压(v),该磁场的方向垂直于所施加电压的方向,那么则在既与磁场垂直又和所施加电流方向垂直的方向上会产生另一个电压(UH),人们将这个电压叫做霍尔电压,产生这种现象被称为霍尔效应。霍尔效应从本质上讲是运动的带电粒子在磁场中受洛仑兹力作用而引起的偏转。当带电粒子(电子或空穴)被约束在固体材料中,这种偏转就导致在垂直电流和磁场的方向上产生正负电荷的积累,从而形成附加的横向电场。通有电流I 的金属或半导体板置于磁感强度为B 的均匀磁场中,磁场的方向和电流方向垂直,在金属板的第三对表面间就显示出横向电势差 U H 的现象称为霍耳效应。U H 就称为霍耳电势差
7、。实验测定,霍耳电势差的大小和电流I 及磁感强度B成正比,而与板的厚度d 成反比。霍尔转速传感器:霍尔转速传感器磁场由磁钢提供,所以霍尔传感器和磁钢需要配对使用。霍尔传感器在非磁材料的圆盘边上粘贴一块磁钢,它固定在圆盘外缘附近。圆盘每转动一圈,霍尔传感器便输出一个脉冲。通过单片机测量产生脉冲的频率就可以得出圆盘的转速。霍尔电流传感器本身已经存在滤波电路,输出无须再加装滤波,可直接供单片机的05V的 AD采集或直接送到单片机的中断输入引脚,其采样信号非常稳定,而且抗干扰能力很强。霍尔电流传感器反应速度一般在7微妙,所以不用考虑单片机循环判断的时间。若在圆盘上贴上多块磁钢,则圆盘每转一圈,输出的脉
8、冲信号将相应增加,单位时间内测到的脉冲数将增多,测出的转速也将更加精细。霍尔转速传感器的外形图和与磁场的作用关系如图2.1-1所示;霍尔传感器检测转速示意图如图2.1-2所示:图2.1-1 霍尔转速传感器的外形图图2.1-2 霍尔传感器检测转速示意图2.2 AT89C2051芯片简介3AT89C2051是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大
9、的微型计算机的AT89C2051提供了高性价比的解决方案。AT89C2051是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C2051可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C2051具有如下功能特性: 兼容MCS51指令系统; 32个双向I/O口; 两个16位可编程定时/计数器; 1个串行中断; 两个外部中断源; 4k可反复擦写(1000次)Flash ROM; 128x
10、8bit内部RAM; 6个中断源; 低功耗空闲和掉电模式; 软件设置睡眠和唤醒功能。2.3 液晶显示模块SED1520SED1520液晶显示驱动器是一种点阵图形式液晶显示驱动器,它可直接与8位微处理器相连,集行、列驱动器于一体,因此使用起来十分方便,作为内藏式控制器被广泛应用于点阵数较少的液晶显示模块。2.3.1 SED1520芯片介绍本设计仿真实验系统采用的液晶显示屏内置控制器为SED1520,点阵为122x32,需要两片SED1520组成,由E1、E2分别选通,以控制显示屏的左右两半屏。图形液晶显示模块有两种连接方式。一种为直接访问方式,一种为间接控制方式。本设计采用直接控制方式。直接控制
11、方式就是将液晶显示模块的接口作为存储器或I/O 设备直接挂在计算机总线上。计算机通过地址译码控制 E1和 E2的选通;读/写操作信号 R/W由地址线 A1控制;命令/数据寄存器选择信号AO由地址线A0控制,地址映射如表2.3.1-1所示(地址中的X由LCD CS决定,可参见地址译码部分说明);液晶屏显示控制电路如图2.3.1-1所示:表2.3.1-1 地址映射(地址中的X由LCD CS决定,可参见地址译码部分说明)0X000H0X001H0X002H0X003H0X004H0X005H0X006H0X007H写E1指令写E1数据读E1状态读E1数据写E2指令写E2数据读E2状态读E2数据图2.
12、3.1-1 液晶屏显示控制电路2.3.2 SED1520特性内置显示RAM区RAM容量为2560(32行80列)位。RAM中的1位数据控制液晶屏上一个点的亮灭状态:“1”表示亮,“0”表示暗。它具有16个行驱动口和16个列驱动口,并可级联两个SED1520实现32行驱动。还可直接与80系列微处理器相连,亦可直接与68系列微处理器相连。其驱动占空比为1/16或1/32。并可以与SED1520配合使用,以便扩展列驱动口数目。2.3.3 SED1520指令与显示RAM结构SED1520指令系统比较简单,共13条,除读状态指令、读显示RAM数据指令外,其他指令均为写操作,并且读写指令均为单字节指令。在
13、送出每条指令时,必须进行控制器状态检测,状态字节的含义如下: D7:1/0,模块忙/准备就绪; D5:1/0,模块显示关/开; D4:1/0,模块复位/正常; D3-D0:未用。 在指令使用中,关键要分清显示行、列设置和显示页面设置的关系。单片SED1520可驱动6116液晶屏,其内部显示RAM相对于COM0每8行为一个显示页面。本设计所用的字符液晶模块由两块SED1520级联驱动,其中一个工作在主工作方式下,另一个工作在从方式下,主工作方式SED1520负责上半屏16行的驱动和左半屏的61列驱动,从工作方式的SED1520则负责下半屏16行的驱动和右半屏的61列驱动,使能信号E1、E2用来区
14、分具体控制的是那一片SED1520。这样两片SED1520级联可驱动12232图形点阵液晶显示屏,可完成图形显示,也可显示七个半(1616点阵)汉字。2.4 定时器/计数器结构416位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。其访问地址依次为8AH-8DH。这些寄存器是用于存放定时或计数初值的。此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0
15、、T1的溢出和中断标志。当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。定时器/计数器的结构原理图如图2.4-1所示:图2.4-1 定时器/计数器的结构原理图2.5 定时计数器的原理16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率 fcount=1/12osc。如果晶振为12MHz,则计数周期为: T=1/(12106
16、)Hz1/12=1s 。这是最短的定时周期。若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。计数器在每个机器周期的S5P2期间采样引脚输入电平。若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。此后的机器周期S3P1期间,新的计数值装入计数器。所以检测一个由1至0的跳变需要两个机器周期,故外部事件的最高计数频率为振荡频率的1/24。例如,如果选用12MHz晶振,则最高计数频率为0.5MHz。虽然对外部输入信号的占空比无特殊要求,但为了确
17、保某给定电平在变化前至少被采样一次,外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以上。 当CPU用软件给定时器设置了某种工作方式之后,定时器就会按设定的工作方式独立运行,不再占用CPU的操作时间,除非定时器计满溢出,才可能中断CPU 当前操作。CPU也可以重新设置定时器工作方式,以改变定时器的操作。由此可见,定时器是单片机中效率高而且工作灵活的部件。2.6 频率测量本设计所采用的霍尔传感器是由一个磁钢和一个霍尔器件组成的。磁钢被贴在非磁性圆盘上,跟着圆盘一起旋转。此霍尔器件就固定在圆盘的附近,工作时,圆盘每转动一圈,霍尔器件就会产生一个脉冲。这里的一个脉冲就代表了一个圆盘的周长。在本
18、设计中,霍尔传感器产生的脉冲将被送到单片机的内部定时计数器timer1的T1口。内部的定时计数器Timer0工作在定时状态,Timer1工作在计数状态。Timer0和Timer1均工作在模式1。本设计中,Timer0所产生的是0.5秒的定时。Timer1将对0.5秒内对加到T1脚的脉冲进行计数。假设0.5秒内timer1计数到N个脉冲,则圆盘的转动频率为 N / 0.5=2N 。若是将磁钢贴于汽车的轮轴上,则汽车轮子每转一圈,霍尔器件产生一个脉冲。对脉冲频率进行处理,即可转化为车速。对脉冲数进行累加再乘以轮子的长度,即可得到里程数据。本设计中开辟了两个字节的数据区存储累加脉冲数据,最多能计数6
19、5536个脉冲,也即131072 米(假设车轮周长2m)。3 系统硬件设计53.1 信号预处理电路它由二级电路构成,第一级是由开关三极管组成的零偏置放大器,采用开关三极管可以保证放大器具有良好的高频响应。当输入信号为零或负电压时,三极管截止,电路输出高电平;而当输入信号为正电压时,三极管导通,此时输出电压随着输入电压的上升而下降,这使得速度里程表既可以测量任意方波信号的频率,也可以测量正弦波信号的频率。由于放大器的放大功能降低了对待测信号的幅度要求,因此,系统能对任意大于0.5V的正弦波和脉冲信号进行测量。预处理电路的第二级采用带施密特触发器的反相器CT74LS14来把放大器生成的单相脉冲转换
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 汽车 速度 里程表 设计 实现
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2961199.html