出租车计价器(单片机c语言).

上传人:我** 文档编号:115283740 上传时间:2019-11-13 格式:DOC 页数:22 大小:361.50KB
返回 下载 相关 举报
出租车计价器(单片机c语言)._第1页
第1页 / 共22页
出租车计价器(单片机c语言)._第2页
第2页 / 共22页
出租车计价器(单片机c语言)._第3页
第3页 / 共22页
出租车计价器(单片机c语言)._第4页
第4页 / 共22页
出租车计价器(单片机c语言)._第5页
第5页 / 共22页
点击查看更多>>
资源描述

《出租车计价器(单片机c语言).》由会员分享,可在线阅读,更多相关《出租车计价器(单片机c语言).(22页珍藏版)》请在金锄头文库上搜索。

1、毕业设计一、设计目的了解和掌握掉电存储芯片AT24C02、霍尔传感器A44E、数码管、驱动芯片74LS245等外部接口芯片器件的应用。二、主要设计内容实现出租车行驶里程和总金额的显示,预设起步价和起步公里数;实现清零、复位和掉电保护功能;实现对单价的调整。三、重点研究问题(1)按下启动按键,显示起步里程与起步价。(2)按模拟传感器信号的按键,显示行驶里程与总金额。(3)按键控制清零、复位、掉电保护、调整预设单价。(4)在软件中实现起步价,单价。四、主要技术指标(1)数码管显示起步里程、单价,总里程、总金额。(2)用按键控制清零、复位、掉电保护、调整预设单价。五、设计成果要求(1)源程序通过编译

2、、运行(2)软件烧录单片机硬件进行调试,运行(3)实现所述功能(4)电路板焊接、检测(5)最终提交软硬件、设计说明书、外文翻译、毕业设计说明书等22 第 页 设计开题报告 题目名称基于单片机的出租车计价器的设计主要内容设计的主要内容是利用51单片机实现出租车计价器的功能。用数码管显示行驶里程和总金额。并有清零,复位,掉电保护等功能。1驱动芯片的选用:设计中我们采用74LS245作为数码管的驱动芯片,用来提高数码管显示的亮度。2按键替代霍尔传感器的选用:我们选用按键替代传感器,主要因为它接线简单,价格便宜,同时对它的控制也是相对容易,易于实现的。3显示器件的选用:本次设计采用8段集成数码管作为显

3、示电路,以便于连线,使电路简明易懂。数码管显示的稳定性虽不及液晶屏,但其价格比液晶屏便宜,由于本设计简单,采用数码管显示较好。4掉电保护芯片的选用:选用存储器芯片AT24C02组成掉电保护电路。采取的主要技术路线或方法一、单片机芯片:AT89S51单片机芯片采用40引脚的双列直插封装方式。40条引脚如下:1、主电源引脚Vss和Vcc2、外接晶振引脚XTAL1和XTAL23、控制或与其它电源复用引脚RST/VPD,ALE/,和/Vpp4、输入/输出引脚P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。二、74LS245驱动芯片:74LS245是我们常

4、用的驱动芯片,用来驱动led或者其他的设备。总线驱动器74LS245经常用作三态数据缓冲器,它也是8路同相三态双向总线收发器,可双向传输数据。 三、霍尔传感器:霍尔传感器安装在车轮上,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算出的金额、里程实时地显示在数码管上。本设计中采用按键替代。四、掉电保护电路:AT24C02是一个CMOS标准的EEPROM存储器,掉电时能保存数据。五、显示电路:显示电路采用的是三位一体共阴数码管显示。预期的成果及形式上电时显

5、示全为零,通过按下启动按键来开始计价,数码管开始显示起步价和起步金额;按下模拟开关按键来产生一个脉冲信号,模拟行驶的里程;计算应付金额;按下停止按键,停止计价,数码管显示所走总里程和用户所需付总金额;按下清零按键,数码管全显示零,以备下次计价。单片机断电后,数码管显示数据不丢失。本电路以AT89S51单片机为中心,附加A44E霍尔传感器测距(本电路中用模拟开关替代),实现对出租车计价,采用AT24C02 实现在系统掉电的时候保存单价,输出采用8段数码显示管,显示行驶总里程和总金额。模拟出租车计价器设计:进行里程显示,预设起步价和起步公里数;行程按全程收费,有复位功能和启动功能,启动后,开始计价

6、。我们采用单片机进行设计,可以用较少的硬件和适当的软件相互配合来实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能,应用前景广阔。关键字:出租车计价器 AT89S51单片机 A44E霍尔传感器 断电保存 8段数码显示管第 1章 绪 论1.1 课题背景 我们知道,只要乘坐的出租车启动,随着行驶里程的增加,就会看到司机旁边的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如2KM)计费数字显示开始从起步价(如4元)增加。当乘客到站时,按下停止按键,计费数字显示总里程和总金额,它可以很直观的反映用户使用情况。1.2.2 主要设计内容及基本要求利用AT89S51单片机,设计简单的

7、出租车计价器。在出租车计价器的总体设计中,我主要负责出租车计价器硬件设计。其中主要的外围功能电路有:驱动电路,按键控制电路,掉电保护电路,时钟部分,数码管显示电路等。通过对以上各功能的设计,制作出的出租车计价器应具有以下功能:上电时显示全为零,通过按下启动按键来开始计价,数码管开始显示起步价和起步金额;按下模拟开关按键来产生一个脉冲信号,模拟行驶的里程;数码管开始显示所走里程和所应付的金额,并逐渐增加;按下停止按键,停止计价,数码管显示所走总里程和用户所需付总金额,按下清零按键,数码管全显示零,以备下次计价。方案二:设计采用AT89S51单片机为主控器,以A44E霍尔传感器测距(按键替代),实

8、现对出租车的基本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。系统结构图如下:按键控制 89S51单片机复位电路掉电保护时钟电路显示模块显示总里程和总金额1.1系统结构图通过比较以上两种方案,我们采用方案二实现出租车计价器的功能。本电路设计的计价器能实现基本的计价功能,单片机计算总价的公式为:总价=起步价+单价*(总里程-起步里程)+1。AT89S51作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能设计电路提供了很好的选择。第2章 系统硬件设计2.1硬件设计说明单

9、片机是单片微型计算机的简称,单片机以其卓越的性能,得到广泛的应用,已经深入到各个领域。在这次设计中,我们用到P0口和P2口,P0口为8位三态I/O口,此口为地址总线及数据总线分时复用;P2口为8位准双向口,与地址总线高八位复用;P0口和P2口都有一定的驱动能力,P0口的驱动能力较强。 设计中,为了能够让数码管更好的正常显示,我们采用了驱动电路来驱动。在本次硬件设计中,我们考虑采用芯片74LS245来驱动数码管显示。设计电路时,考虑到用里程(霍尔)传感器价格昂贵,且不便于试验检测,在设计中采用一个模拟开关来代替。模拟开关一端接在P3.4口,另一端接地,通过来回高低电平的变化,每按两次,对应的里程

10、数加一。通过在程序中设置的里程和金额的信息,在加上驱动电路的设计,就可以在数码管上分别显示总金额和总里程。在显示方面,可以用液晶显示,也可以用数码管进行显示。由于在这次设计中只需要显示里程和金额信息,我们采用数码管进行显示。这样既节约了成本,又可以达到显示的目的。同时为了减少硬件的复杂度,我们采用了动态显示方式,选用了共阴极数码管。为了焊接方便,我们选用了集成在一起的数码管。我们还设计了控制按键,能够很好的对出租车计价器控制,如启动/停止按键,清零按键等。2.2 AT89S51单片机简介AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器, 128 bytes的随

11、机存取数据存储器(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.1 AT89S

12、51引脚图 图2.2 AT89S51封装图设计中用到的单片机各管脚(图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 硬件电路设计 按下计价按键时,显示起步价和起步

13、里程范围,这些在程序中设置;当等于或超过两公里后,按计算总价的公式为:总价=起步价+单价*(总里程-起步里程)+1进行计价。本设计中,起步价为4元,起步里程为2公里,当然这些数据可以在程序中改写,以满足不同时期价格调整的需要。下图是通过在Keil C中编译通过,并生成Hex文件,在PROTEUS中仿真通过的整体硬件原理图: 图2.3硬件原理图2.4 硬件组成2.4.1 驱动电路74LS245是我们常用的芯片,用来驱动led或者其他的设备。总线驱动器74LS244和74LS245经常用作三态数据缓冲器,74LS244为单向三态数据缓冲器,而74LS245为双向三态数据缓冲器。本设计用74LS24

14、5作为驱动芯片,双向总线发送器/接收器(3S)。图2.4驱动芯片管脚图74LS245主要电器特性的典型值如下: 引出端符号: A A总线端 B B总线端 /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显

15、示器,虽然LCD显示效果比较好,已经成为了一种发展趋势,但为了节约成本,我们选用了LED显示器(图2.6)。在显示方面,我们选用了动态显示。静态显示虽然亮度较高,接口编程容易,但是每位的段码线分别与一个8位的锁存器输出相连。占用的I/O口线比较多,在显示位数较多的情况下,一般都采用动态显示方式。利用动态显示的方法,由于LED显示器的余辉和人眼的视觉暂留现象,只要每位显示的时间间隔足够短,就仍能感觉到所有的数码管都在显示。为了简化硬件,通常将所有位的段码线相应段并联在一起,由一个8位I/O口控制,在同一时刻,只让一位选通,如此循环,就可以使各位显示出将要显示的字符。 图2.6 LED数码管 图2.7集成数码管LED数码有共阳和共阴两

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号