当前位置:文档之家› 基于51单片机的简易出租车计价器设计

基于51单片机的简易出租车计价器设计

摘要随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于89C51单片机的多功能出租车计价器,阐述硬件设计过程中关键技术的处理。

结果表明该计价器具有集计程、计时、计费、存储等多种计量功能,并且具有打印和显示等多种功能。

本课题主要研究出租车计价器的硬件设计。

论文详细阐述了该计价器的总体设计:时钟电路模块、掉电存储模块、里程检测模块、LED显示模块、键盘模块等。

目录引言 (3)1. 设计背景 (4)1.1课题背景 (4)1.2设计内容 (4)2出租车计价器系统简介 (4)3系统硬件设计 (5)3.1主控制器选择 (5)3.2LED显示模块 (6)3.3掉电保护模块 (7)3.4里程采集模块 (8)3.5按键输入模块 (9)3.6晶振系统 (10)3.7复位电路 (10)3.8时钟模块 (12)4软件设计简介 (13)4.1汇编语言简介 (13)4.2程序设计 (14)5电路仿真 (17)5.1Proteus软件介绍 (17)5.2出租车计价器proteus仿真 (18)5总结 (19)参考文献 (19)附录:源程序代码 (19)引言出租车行业在我国是八十年代初兴起的一项新兴行业,随着出租车行业的发展,出租车已经是城市交通的重要组成部分,出租车计费器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。

它关系着交易双方的利益。

具有良好性能的计费器无论是对广大出租车司机朋友还是乘客来说都是很必要的。

因此,汽车计价器的研究也是十分有一个应用价值的。

要将出租车计价系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节单价以及计价方式。

因此,研究出租车计价器及扩大其应用,有着非常现实的意义。

多年来国内普遍使用的计价器只具备单一的计量功能。

目前全世界的计价器中有90%为台湾所生产。

现今我国生产计价器的企业有上百家,主要是集中在北京,上海,沈阳和广州等地。

我国第一家生产计价器的是重庆市起重机厂,最早的计价器全部采用机械齿轮构,只能完成简单的计程功能,可以说,早期的计价器就是个里程表。

随着科学技术的发展,产生了第二代计价器。

它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化。

此时它在计程的同时还可完成计价的工作。

大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。

它的功能也在不断完善。

出租汽车计价器是一种专用的计量仪器,它安装在出租汽车上,能连续累加,并指示出行程中任一时刻乘客应付费用的总数,其金额值是计程和计时时间的函数。

出租车计价器在最初使用时具备的主要功能是根据行驶里程计价,要求精度高,可靠性好。

随着电子技术的发展以及对计价器的不断改进和完善,便产生了诸多的附加功能。

例如:(1)LED显示功能,数码管的使用让计价器实现多屏显示的功能,可同时显示各项营运数据,使乘客一目了然;(2)永久时钟功能,在非营运状态下,日历时钟芯片的使用使计价器可以显示永久时钟;(3)存储功能,可存储多项营运数据,便于查询。

新型数据存储器的应用使得计价器的营运数据在掉电情况下还可以保存10年。

1. 设计背景1.1课题背景在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关注。

汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。

它关系着交易双方的利益。

具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。

因此,汽车计价器的研究也是十分有一个应用价值的。

1.2设计内容本设计主要是介绍了单片机控制下的出租车计价器设计,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:(1)启动/清除数据(2)键盘输入(3)掉电保护(4)LED显示(5)里程采集2出租车计价器系统简介设计的整体电路框图如图所示,整个系统由单片机AT89C51 控制电路,配合六个数码管组成的显示模块;以A44E霍尔传感器测距,实现对出租车的多功能的计价设计;采用掉电存储单元AT24C02来实现在系统掉电的时候保存单价和系统时间等信息;按键键盘电路、LED驱动显示电路及电源电路组成。

单片机采集并判断空车灯信号及路程检测传感器信号,当出租车启动时,单片机检测到霍尔传感器的脉冲信号并进行里程计算。

当无乘客时,单片机调用实时时间芯片8563 程序和8255串口显示驱动程序,用4只LED 进行时钟显示;当空车灯掰下乘客上车时,通过8563 获取时间信息分辨白天/ 晚上,然后调用AT24C02 程序获取白天/ 晚上的单价及起始价,便开始计价并显示时间、里程和金额等信息;当空车灯打上乘客下车时,打印好票据,单片机将营运数据信息存储到AT24C02 中,等待出租车再次启动后单次金额与里程等信息清零复位, 就此完成一次计价。

3系统硬件设计3.1主控制器选择对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM ,系统又需要大量内存存储数据,因而不适用。

AT89C51 是美国 ATMEL 公司生产的低功耗,高性能 CMOS8 位单片机,片内含 4kbytes 的可编程的 Flash 只读程序存储器,兼容标准 8051 指令系统及引脚。

它集 Flash 程序存储器既可在线编程(ISP ),也可用传统方法进行编程,所以低价位AT89C51单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,89C51 单片机 启动/清除数据开关键盘输入模块 AT24C02掉电保护模块A44E 霍尔传感里程采集模块LE D显示模块 时间 起步价 里程总金额对于简单的测温系统已经足够。

单片机AT89C51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。

图3-1AT89C51引脚图3.2LED显示模块本设计是用六个七段数码管动态扫描来实现的时钟与计价的显示。

图3-2LED管脚配置图LED显示块是由发光二极管显示字段的显示器件。

在单片机应用系统中通常使用的是七段LED。

这种显示块有共阴极和共阳极两种,如上图所示,共阴极LED 显示块的发光二极管阴极共地,如图中所示,当某个发光二极管的阳极为高电平时,发光二极管点亮。

共阳极LED显示块的发光二极管阳极并接,当某个二极管的阴极为低电平时,该二极管点亮。

通常的七段LED显示块中有八个发光二极管,故也称为八段显示器。

其中七个二极管构成七笔字型“8”,一个发光二极管构成小数点。

控制不同组合的二极管导通,就能显示各种字符。

设8位控制器按低到高的次序依次控制LED显示块的a~f和小数点dp,我们称控制器输出的控制LED显示块显示字符的 8位字节数据为段选码。

共阳极与共阴极的段选码互为反码。

在单片机应用系统中使用LED还可构成任意位的LED显示器。

如 8位LED显示器有8根位选线和8χ8根段选线。

每根位选线控制该位的LED的8根段选线控制该位LED显示什么字符。

段选线控制显示字符的字型,而位选线控制显示位的亮、暗。

显然,多位LED控制线占用太多。

在多位LED显示时,为了简化电路,降低成本,将所有位LED的段选线并接在一起,在某一刻时,将要显示的字符段码同时送到每一个显示器的各段,但是只让这一位LED显示。

下一时刻又送下一位LED要显示字符的段码,并只让下一位LED显示…….如此轮流,使每位显示该为的字符,这样不断的循环送出响应的段选码﹑位选码,就可以获得视觉稳定的显示状态。

用单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。

静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少的CPU时间。

动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。

这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间,更重要的是能节省成本。

硬件译码就是显示的段码完全由硬件完成,CPU只要送出标准的BCD码即可,硬件接线有一定标准。

软件译码是用软件来完成硬件的功能,硬件简单,接线灵活,显示段码完全由软件来处理,是目前常用的显示驱动方式。

3.3掉电保护模块利用I2C总线原理接线,采用掉电保护单元AT24C02。

数据存储部分的作用是在电源断开时,存储当前设定的单价信息。

掉电储存电路原理图:图中 R8、R10是上拉电阻,其作用是减少AT24C02的静态功耗,由于 AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线 SCL (移位脉冲)和SDA(数据/地址)与单片机传送数据。

每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。

存储程序,将数据信息保存在芯片内;当系统重新上电时,自动调用读存储器程序,将存储器内的数据信息,读到缓存单元中,供主程序使用,保存在AT24C02中的数据是不能随意进行改动的,此外出租车营运过程中的一些营运数据,如:单次出租的营运额和营运里程、一段时间内的营运总额和总路程等,也存储在AT24C02中,以便出租车公司及司机查询,使出租车司机更方便的管理营运数据,出租车行业得到更有效的管理。

3.4里程采集模块根据在霍尔电势发生器的两端加上电压VCC后,根据物理学中的霍耳效应原理,当霍耳片处在磁场中时,霍尔传感器A44E的输出端输出低电平。

当车轮转动一圈时小磁铁提供一个磁场,则霍尔传感器A44E输出一次低电平完成一次数据采集。

我们选择了P3.2 口作为信号的输入端,内部采用外部中断0,车轮每转一圈,霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数。

通过计算将脉冲增加体现在金额和里程上。

本设计中用IPULSE来代替霍尔传感器。

3.5按键输入模块矩阵式键盘适用于按键数量较多的场合,它由行线和列线组成,按键位于行、列的交叉点上。

如一个3*3的行、列结构可以构成一个有9个按键的键盘。

在按键数量较多的场合,矩阵键盘与独立式键盘相比,要节省很多I/O口。

矩阵式键盘的工作原理:按键设置在行、列线交点上,行、列分别连接到按键开关的两端。

行线通过上拉电阻接到+5V上。

平时无按键动作时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线电平决定。

相关主题