出租车计价器毕业设计Word文件下载.docx

上传人:b****5 文档编号:16506294 上传时间:2022-11-24 格式:DOCX 页数:27 大小:90.97KB
下载 相关 举报
出租车计价器毕业设计Word文件下载.docx_第1页
第1页 / 共27页
出租车计价器毕业设计Word文件下载.docx_第2页
第2页 / 共27页
出租车计价器毕业设计Word文件下载.docx_第3页
第3页 / 共27页
出租车计价器毕业设计Word文件下载.docx_第4页
第4页 / 共27页
出租车计价器毕业设计Word文件下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

出租车计价器毕业设计Word文件下载.docx

《出租车计价器毕业设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《出租车计价器毕业设计Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。

出租车计价器毕业设计Word文件下载.docx

12

专业

电子声像

题目名称

课题来源

自选

设计的主要内容是利用51单片机实现出租车计价器的功能。

用数码管显示行驶里程和总金额。

并有清零,复位,掉电保护等功能。

1驱动芯片的选用:

设计中我们采用74LS245作为数码管的驱动芯片,用来提高数码管显示的亮度。

2按键替代霍尔传感器的选用:

我们选用按键替代传感器,主要因为它接线简单,价格便宜,同时对它的控制也是相对容易,易于实现的。

3显示器件的选用:

本次设计采用8段集成数码管作为显示电路,以便于连线,使电路简明易懂。

数码管显示的稳定性虽不及液晶屏,但其价格比液晶屏便宜,由于本设计简单,采用数码管显示较好。

4掉电保护芯片的选用:

选用存储器芯片AT24C02组成掉电保护电路。

采取的主要技术路线或方法

一、单片机芯片:

AT89S51单片机芯片采用40引脚的双列直插封装方式。

40条引脚如下:

1、主电源引脚Vss和Vcc

2、外接晶振引脚XTAL1和XTAL2

3、控制或与其它电源复用引脚RST/VPD,ALE/

/Vpp

4、输入/输出引脚P0.0-P0.7,P1.0-P1.7,P2.0-P2.7,P3.0-P3.7。

二、74LS245驱动芯片:

74LS245是我们常用的驱动芯片,用来驱动led或者其他的设备。

总线驱动器74LS245经常用作三态数据缓冲器,它也是8路同相三态双向总线收发器,可双向传输数据。

三、霍尔传感器:

霍尔传感器安装在车轮上,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算出的金额、里程实时地显示在数码管上。

本设计中采用按键替代。

四、掉电保护电路:

AT24C02是一个CMOS标准的EEPROM存储器,掉电时能保存数据。

五、显示电路:

显示电路采用的是三位一体共阴数码管显示。

预期的成果及形式

上电时显示全为零,通过按下启动按键来开始计价,数码管开始显示起步价和起步金额;

按下模拟开关按键来产生一个脉冲信号,模拟行驶的里程;

计算应付金额;

按下停止按键,停止计价,数码管显示所走总里程和用户所需付总金额;

按下清零按键,数码管全显示零,以备下次计价。

单片机断电后,数码管显示数据不丢失。

指导教师意见

签名:

年月日

备注

摘要

现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。

而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。

出租车计价器是根据客户用车情况来自动显示车费的数字仪表,根据用车起步价、行车里程计费求得客户用车的总费用,并通过数码管显示相应的里程及金额。

我在本次设计中主要负责硬件工作。

本电路以AT89S51单片机为中心,附加A44E霍尔传感器测距(本电路中用模拟开关替代),实现对出租车计价,采用AT24C02实现在系统掉电的时候保存单价,输出采用8段数码显示管,显示行驶总里程和总金额。

模拟出租车计价器设计:

进行里程显示,预设起步价和起步公里数;

行程按全程收费,有复位功能和启动功能,启动后,开始计价。

我们采用单片机进行设计,可以用较少的硬件和适当的软件相互配合来实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能,应用前景广阔。

关键字:

出租车计价器AT89S51单片机A44E霍尔传感器断电保存8段数码显示管

第1章绪论

1.1课题背景

随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。

我们知道,只要乘坐的出租车启动,随着行驶里程的增加,就会看到司机旁边的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如2KM)计费数字显示开始从起步价(如4元)增加。

当乘客到站时,按下停止按键,计费数字显示总里程和总金额,它可以很直观的反映用户使用情况。

1.2设计目的与要求

1.2.1设计目的

毕业设计是将理论与实践相结合的教学环节,通过综合运用教材及其他资料,使所学知识得到进一步加深和扩展。

同时还培养设计能力和解决实际问题能力,进行基本技能的训练,进一步熟练proteus,keilC等软件的操作。

本设计的目的是在学习51系列单片机的基础上,设计出符合要求的电路,从而实现设计产品的计价功能。

1.2.2主要设计内容及基本要求

利用AT89S51单片机,设计简单的出租车计价器。

在出租车计价器的总体设计中,我主要负责出租车计价器硬件设计。

其中主要的外围功能电路有:

驱动电路,按键控制电路,掉电保护电路,时钟部分,数码管显示电路等。

通过对以上各功能的设计,制作出的出租车计价器应具有以下功能:

数码管开始显示所走里程和所应付的金额,并逐渐增加;

按下停止按键,停止计价,数码管显示所走总里程和用户所需付总金额,按下清零按键,数码管全显示零,以备下次计价。

1.3方案论证与比较

方案一:

采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。

采用数字电路控制,采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价。

考虑到这种电路设计过于复杂,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现;

性能不够稳定,电路也不实用。

方案二:

采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。

设计采用AT89S51单片机为主控器,以A44E霍尔传感器测距(按键替代),实现对出租车的基本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。

利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。

系统结构图如下:

1.1系统结构图

通过比较以上两种方案,我们采用方案二实现出租车计价器的功能。

本电路设计的计价器能实现基本的计价功能,单片机计算总价的公式为:

总价=起步价+单价*(总里程-起步里程)+1。

AT89S51作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能设计电路提供了很好的选择。

第2章系统硬件设计

2.1硬件设计说明

单片机是单片微型计算机的简称,单片机以其卓越的性能,得到广泛的应用,已经深入到各个领域。

在这次设计中,我们用到P0口和P2口,P0口为8位三态I/O口,此口为地址总线及数据总线分时复用;

P2口为8位准双向口,与地址总线高八位复用;

P0口和P2口都有一定的驱动能力,P0口的驱动能力较强。

设计中,为了能够让数码管更好的正常显示,我们采用了驱动电路来驱动。

在本次硬件设计中,我们考虑采用芯片74LS245来驱动数码管显示。

设计电路时,考虑到用里程(霍尔)传感器价格昂贵,且不便于试验检测,在设计中采用一个模拟开关来代替。

模拟开关一端接在P3.4口,另一端接地,通过来回高低电平的变化,每按两次,对应的里程数加一。

通过在程序中设置的里程和金额的信息,在加上驱动电路的设计,就可以在数码管上分别显示总金额和总里程。

在显示方面,可以用液晶显示,也可以用数码管进行显示。

由于在这次设计中只需要显示里程和金额信息,我们采用数码管进行显示。

这样既节约了成本,又可以达到显示的目的。

同时为了减少硬件的复杂度,我们采用了动态显示方式,选用了共阴极数码管。

为了焊接方便,我们选用了集成在一起的数码管。

我们还设计了控制按键,能够很好的对出租车计价器控制,如启动/停止按键,清零按键等。

2.2AT89S51单片机简介

AT89S51具有如下特点:

40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

P0口有二个功能:

1、外部扩展存储器时,当做数据/地址总线。

2、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。

P1口只做I/O口使用:

其内部有上拉电阻。

 

P2口有两个功能:

1、扩展外部存储器时,当作地址总线使用。

2、做一般I/O口使用,其内部有上拉电阻。

P3口有两个功能:

除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。

图2.1AT89S51引脚图图2.2AT89S51封装图

设计中用到的单片机各管脚(图2.1)功能介绍如下:

VCC:

接+5V电源。

VSS:

接地。

时钟引脚:

XTAL1和XTAL2两端接晶振和30PF的电容,构成时钟电路。

它可以使单片机稳定可靠的运行。

RST:

复位信号输入端,高电平有效。

当在此引脚加两个机器周期的高电平时,就可以完成复位操作。

P1.0:

接启动/停止按键,控制计价。

P1.1:

接功能键。

P1.3:

接清零键。

P0口接数码管段选端,P2口接驱动芯片。

P3.4(T0):

接模拟开关按键,替代了出租车计价器中的霍尔传感器。

P3.1、P3.0口接掉电保护电路。

2.3硬件电路设计

按下计价按键时,显示起步价和起步里程范围,这些在程序中设置;

当等于或超过两公里后,按计算总价的公式为:

总价=起步价+单价*(总里程-起步里程)+1进行计价。

本设计中,起步价为4元,起步里程为2公里,当然这些数据可以在程序中改写,以满足不同时期价格调整的需要。

下图是通过在KeilC中编译通过,并生成Hex文件,在PROTEUS中仿真通过的整体硬件原理图:

图2.3硬件原理图

2.4硬件组成

硬件组成主要包括:

驱动电路、显示电路、复位电路、掉电保护电路、时钟电路、按键电路。

2.4.1驱动电路

74LS245是我们常用的芯片,用来驱动led或者其他的设备。

总线驱动器74LS244和74LS245经常用作三态数据缓冲器,74LS244为单向三态数据缓冲器,而74LS245为双向

三态数据缓冲器。

本设计用74LS245作为驱动芯片,双向总线发送器/接收器(3S)。

图2.4驱动芯片管脚图

74LS245主要电器特性的典型值如下:

引出端符号:

AA总线端

BB总线端

/G三态允许端(低电平有效)

DIR方向控制端

功能表:

表2.5功能表

利用74LS245来驱动数码管显示,单片机的P2.0到P2.5分别接A0到A5管脚,进行数据的传送,其中AB/BA接高电平,控制数据从A到B进行传送,B0到B5分别接数码管的位选端,驱动数码管依次显示。

P2.0到P2.5的数据通过A传送到B中的数据送到数码管,以达到显示数据信息的目的。

2.4.2显示电路

多数的应用系统,都要配输入和输出外设,LED显示器和LCD显示器,虽然LCD显示效果比较好,已经成为了一种发展趋势,但为了节约成本,我们选用了LED显示器(图2.6)。

在显示方面,我们选用了动态显示。

静态显示虽然亮度较高,接口编程容易,但是每位的段码线分别与一个8位的锁存器输出相连。

占用的I/O口线比较多,在显示位数较多的情况下,一般都采用动态显示方式。

利用动态显示的方法,由于LED显示器的余辉和人眼的视觉暂留现象,只要每位显示的时间间隔足够短,就仍能感觉到所有的数码管都在显示。

为了简化硬件,通常将所有位的段码线相应段并联在一起,由一个8位I/O口控制,在同一时刻,只让一位选通,如此循环,就可以使各位显示出将要显示的字符。

图2.6LED数码管图2.7集成数码管

LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。

再把多个这样的8字装在一起就成了多位的数码管了。

在本设计仿真中使用的是6个一组的共阴8段数码管(图2.7)。

找公共共阴和公共共阳的方法:

首先我们找个电源|稳压器(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。

共阴极数码管,阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮,对应的段就显示。

2.4.3复位电路

单片机的复位是由外部的复位电路实现的,复位电路通常采用上电自动复位和按钮复位两种方式。

上电自动复位是通过外部复位电路的电容充电来实现的。

除了上电复位外还需要按键手动复位(图2.8)。

按键手动复位有电平方式和脉冲方式两种。

其中电平复位是通过RST端经电阻与电源VCC接通而实现的。

单片机的复位速度比外围I/O接口电路快为

能够保证系统可靠的复位,在初始化程序中应安排一定的复位延迟时间。

图2.8复位电路

2.4.4掉电保护电路

掉电保护电路中采用了存储芯片AT24C02。

AT24C02是一个CMOS标准的EEPROM存储器,是AT24CXX系列(AT24C01/02/04/08/16)成员之一,这些EEPROM存储器的特点是功耗小、成本低、电源范围宽,静态电源电流约30uA~110uA,具有标准的I2C总线接口,是应用广泛的小容量存储器之一。

图2.9AT24C02引脚图

上图是AT24C02的引脚图,这个芯片是一个8脚芯片,内部存储器有256字节。

引脚功能介绍如下:

A0(引脚1):

器件地址的A0位,是器件地址的最低位,器件地址排列是A6A5A4A3A2A1A0R/W。

A1(引脚2):

器件地址的A1位。

A2(引脚3):

器件地址的A2位。

GND(引脚4):

地线。

SDA(引脚5):

数据总线引脚。

SCL(引脚6):

时钟总线引脚。

TEST(引脚7):

测试引脚。

Vcc(引脚8):

电源线引脚。

本设计采用掉电存储电路图如下:

图2.10掉电存储电路

2.4.5时钟电路

MCS-51单片机的各功能部件都是以时钟控制信号为基准,内部电路在时钟信号的控制下,严格地按时序执行指令进行工作,单片机本身如同一个复杂的同步时序电路,为了保证其各个部分同步工作,电路要在唯一的时钟信号控制下,严格地按照时序进行工作。

其实只需在时钟引脚连接上外围的定时控制元件,就可以构成一个稳定的自激振荡器。

为更好地保证振荡器稳定可靠地工作,谐振器和电容应尽可能安装得与单片机芯片靠近。

本设计中使用的振荡电路,由12MHZ晶体振荡器和两个约30PF的电容组成,在XTAL1和XTAL2两端跨接晶体,电容的大小不会影响振荡频率的高低。

在整个系统中为系统各个部分提供基准频率,以防因其工作频率不稳定而造成相关设备的工作频率不稳定,晶振可以在电路中产生振荡电流,发出时钟信号。

如图2.11所示。

图2.11时钟电路

2.4.6按键电路

按键控制电路中,单片机的P1.0管脚接启动/停止按键,通过软件编程,当按下按键计数器开始工作,开始计价;

当弹起按键时,计数器停止工作,停止计价,启动/停止按键带自锁功能。

按下启动按键,开关处于导通状态,这时给P1.0送低电平信号,这时TR0=1,计数器开始工作,调用计价子程序开始计价。

清零按键接单片机的P1.3管脚,按下清零按键,P1.3为低电平,调用清零子程序,用于将显示数据清零,在程序中给各位赋0代码(0x3f),以达到清零的目的,方便下次计价。

另外为功能键,控制价格调整,这个按键是在没有按下启动/停止按键时有作用,计价过程中无效。

图2.12按键电路

第3章系统软件设计

3.1软件总体设计

51单片机的程序设计语言主要有两种:

一是汇编程序设计;

二是C语言编程设计。

两种程序设计语言都有各自的优点。

用汇编语言编写和高级语言(C语言)比较起来节省空间,这样对于存储空间仅4Kb的芯片来说是极之有利的,51单片机能更高速的运行。

C语言编写的程序,虽然不象汇编那样速度快、但程序简单易行、并且需要较小的存储空间。

C语言作为一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。

此外,C语言程序还具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。

因此,使用C语言进行程序设计已成为软件开发的主流。

本设计就是采用C语言编写的,由于采用模块化操作,使得程序在修改,执行的时候显得方便易行。

3.2系统程序设计

本设计中,软件设计采用模块化操作,利用各个模块之间的相互联系,在设计中采用主程序调用各个子程序的方法,使程序通俗易懂,我们设计了整体程序流程图。

在main函数编写开始,要进行初始化,包括对系统初始化和对存储器初始化,要对硬件设备进行初始化,并使硬件处于就绪状态。

通过判断是否计费,调价,清零等状态,来分别调用不同的子程序,使程序在设计之前,就有了很强的逻辑关系。

这些对应于硬件就是通过按下各个控制开关,来分别进行不同的动作,最后数码管根据输入的信息,来显示不同的数据信息,这就达到了软件控制硬件,同时输入信息控制输出信息的目的。

整个程序的流程图如下:

图4.1系统程序流程图

第4章系统调试

系统调试包括软件调试和硬件调试。

硬件调试的任务是排除所焊接电路故障。

软件调试是利用开发工具进行在线仿真调试。

调试的一般过程如图4.1所示:

图4.1系统调试流程图

系统调试的一般过程是上电运行后观察其运行状态,数码管是否点亮等。

软件调试先是各个模块、各个子程序分别调试,最后进行系统联机调试。

4.1软件调试

4.1.1编程工具—C51语言

8051单片机的应用程序设计,使用C51语言进行程序设计虽然相对于汇编语言代码效率有所下降,但可以方便地实现程序设计模块化,代码结构清晰、可读性强,易于维护、更新和移植,适合较大规模的单片机程序设计。

近年来,随着C51语言的编译器性能的不断提高,在绝大多数应用环境下,C51程序的执行效率已经非常接近汇编语言,因此,使用C51进行单片机程序设计已经成为单片机程序设计的主流选择之一。

4.1.2程序调试工具—KEIL

本设计的软件都是在KeilμVision7.5上进行编写,编译,调试以及运行操作。

4.1.3单片机仿真软件在线调试—PROTEUS

1.打开Proteus软件。

2.选择file菜单下的opendesign选项,找到所需的元器件,元器件上单击右键选中,再单击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出并绘制设计所要的各种元器件,按照电路图连接后并保存。

3.将用keil编译产生的hex文件下载到单片机中:

双击51单片机,在对话框中把保存过的hex文件打开,再单击确定。

4.单击左下角运行按钮,进行软件仿真调试,直到出现正确的结果。

下图为软件的仿真窗口图:

图4.2软件仿真窗口图

4.2硬件电路

设计的目的是做出实用的实物,把所用的元器件焊接成能正常工作的实物。

4.2.1电路元件检测

在焊接电路前,首先要进行元器件的检测。

检测主要是测出各个元器件的型号。

对于数码管的检测在显示电路中已介绍。

识别电阻时可根据各环的数量级和色码表,判断电阻的阻值。

排阻是将多个电阻集中封装在一起,组合制成的。

排阻具有装配方便、安装密度高等优点。

常用排阻有A型和B型。

A型排阻的引脚总是奇数的。

它的左端有一个公共端(用白色的圆点表示),常见的排阻有4、7、8个电阻,所以引脚共有5或8或9个。

B型排阻的引脚总是偶数的。

它没有公共端,常见的排阻有4个电阻,所以引脚共有8个。

排阻的阻值读法如下:

“103”表示:

10kΩ,“510”表示:

51Ω。

以此类推。

对于集成芯片的检测,就是根据它的管脚图,来识别各个引脚,以方便焊接。

4.2.2元件的焊接方法

手工焊接是传统的的焊接方法,虽然批量电子产品生产已较少采用手工焊接了,但在电子产品的维修、调试中不可避免地还会用到手工焊接。

焊接质量的好坏直接影响到维修效果。

手工焊接是一项实践性很强的技能,在了解一般方法后,要多练;

多实践,才能有较好的焊接质量。

手工焊接握电烙铁的方法,有正握、反握及握笔式三种。

焊接元器件及维修电路板时以握笔式较为方便。

一、手工焊接一般分四步骤进行

①准备焊接:

清洁被焊元件处的积尘及油污,再将被焊元器件周围的元器件左右掰一掰,让电烙铁头可以触到被焊元器件的焊锡处,以免烙铁头伸向焊接处时烫坏其他元器件。

焊接新的元器件时,应对元器件的引线镀锡。

②加热焊接:

将沾有少许焊锡和松香的电烙铁头接触被焊元器件约几秒钟。

若是要拆下印刷板上的元器件,则待烙铁头加热后,用手或镊子轻轻拉动元器件,看是否可以取下。

③清理焊接面:

若所焊部位焊锡过多,可将烙铁头上的焊锡甩掉(注意不要烫伤皮肤,也不要甩到印刷电路板上!

),用光烙锡头沾些焊锡出来。

若焊点焊锡过少、不圆滑时,可以用电烙铁头"

蘸"

些焊锡对焊点进行补焊。

④检查焊点:

看焊点是否圆润、光亮、牢固,是否有与周围元器件连焊的现象。

二、焊接质量不高的原因

手工焊接对焊点的要求是:

①电连接性能良好;

②有一定的机械强度;

③光滑圆润。

造成焊接质量不高的常见原因是:

①焊锡用量过多,形成焊点的锡堆积;

焊锡过少,不足以包裹焊点。

②冷焊。

焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡表面不光亮(不光滑),有细小裂纹(如同豆腐渣一样!

)。

③夹松香焊接,焊锡与元器件或印刷板之间夹杂着一层松香,造成电连接不良。

若夹杂加热不足的松香,则焊点下有一层黄褐色松香膜;

若加热温度太高,则焊点下有一层碳化松香的黑色膜。

对于有加热不足的松香膜的情况,可以用烙铁进行补焊。

对于已形成黑膜的,则要"

吃"

净焊锡,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1