基于AT89C52单片机的出租车计价器的设计.docx
- 文档编号:15130822
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:76
- 大小:187.45KB
基于AT89C52单片机的出租车计价器的设计.docx
《基于AT89C52单片机的出租车计价器的设计.docx》由会员分享,可在线阅读,更多相关《基于AT89C52单片机的出租车计价器的设计.docx(76页珍藏版)》请在冰点文库上搜索。
基于AT89C52单片机的出租车计价器的设计
基于AT89C52单片机的出租车计价器的设计
摘要
随着城市改革开放的进一步深化,出租车行业迅速发展,出租车计价器的市场需求量也大大增加,计价器作为出租车的一个重要组成部分,计价器的普及必将大势所趋,预计未来计价器市场将很有发展前景。
与此同时计价器作为出租汽车的经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,计价器计价准确与否,直接关系到经营者和消费者的经济利益。
因此怎样设计出一种既能准确计价又能方便司机的计价器尤为重要。
本课题是出租车计价器系统的设计。
以出租车计价器的实用性和节约成本为起点出发,以AT89C52单片机为中心、通过霍尔传感器对脉冲的计数实现对里程和总金额的统计,人机交互界面输出采用LCD1602液晶屏。
独立按键进行复位、清零、白天黑夜模式选择功能的控制,本电路设计的计价器不但能实现基本的计价,掉电时进行数据存储,而且还能根据白天、黑夜、中途等待来调节单价,进行里程、单价、总车价相关信息的显示。
关键词:
单片机,出租车计价器,DS1302,AT24c02,LCD1602
BasedonAT89C51taximeterdesign
Abstract
Withthefurtherdeepeningofreformandopeningupofthecity,thetaxiindustryrapiddevelopment,thetaximetermarketdemandalsoincreasedsignificantly,asanimportantpartofthetaximeter,themeter'spopularityisboundtothetrendofthetimes,itisexpectedthatthefuturemeterthemarketispromising.Atthesametimethemeterastaxioperatorsandtaxiconsumertoolsforfairtradesettlement,theaccuracyofthemeterdenominated,directlyrelatedtotheeconomicinterestsofoperatorsandconsumers.Therefore,howtodesignabothaccuratepricingbutalsoconvenientforthedriver'smeterisparticularlyimportant.
Theissueisthedesignofthetaximetersystem.Taximeterpracticalityandcostsavingsasthestartingpoint,AT89C52microcontrolleraspulsecountonthemileageandthetotalamountofstatistics,interactiveinterfaceoutputLCD1602LCD.Independentbuttonreset,clear,dayandnightcontrolmodeselectionfunction,themetercircuitdesignnotonlytoachievethebasicpricing,butalsoaccordingtothedayandnight,half-waywaittoadjusttheunitprice,mileage,price,grossvehicleprice-relatedinformation.
Keywords:
single-chip,LCD1602,Taximeter,Hallsensor,AT24C02
第一章绪论
1.1选题的目的和意义
随着我国经济的迅速发展,各大城市涌现出了大量的出租车行业,出租车行业已经是城市公共交通的重要组成部分,成为人们生活、工作必不可少的交通工具,发挥着重要的作用。
显然,出租车行业已经在我国的交通运输占据着重要的地位,作为衡量乘客与出租车司机之间利益的重要工具——计价器,已经发挥着不可取代的作用[]。
出租车计价器是出租车服务行业里必不可少的计量工具,出租车必须在配备由出租车运营公司统一认定的出租车计价器后才能投入运营。
现阶段的出租车计价器,可以根据行车里程和等待时间进行计价并且还可以通过判断白天、黑夜来自动调整起步价,除此之外,计价器还可以实时显示日期,提供空牌指示灯,方便乘客寻找空车[]。
作为出租车运营商与广大乘客之间经济利益的直接衡量工具,它的性能好坏,直接关系到运营者与广大乘客之间的经济利益。
出租车计价器是出租车司机与广大乘客之间经济利益的衡量工具,它是整个出租车行业发展的里程碑,具有高性能、高稳定性的计价器对广大出租车司机以及广大乘客来说,都非常重要。
由于技术上的原因,现阶段的计价器并不完善,但不管现在还是将来,出租车计价器都具有着重要的研究及应用价值。
1.2出租车计价器的发展史
改革开放以后,我国开始兴起出租车行业,那时候的出租车行业主要集中在北京、上海大城市,随着改革开放的深入发展,我国出租车行业的发展也逐渐加快。
最早的出租车计价器大部分是由台湾生产,随后,国内的机械厂商开始推出国产出租车计价器,我国第一家出租车计价器制造厂是重庆重机厂。
多年来,国内外出租车计价器构造单一,且基本上为纯机械构造,只具备单一的计程功能,在当时,只能算作一个里程表来使用,并没有计价功能,需要出租车司机自己进行计算,显得很繁琐。
随着科学技术的发展,尤其是电子产业的发展,产生了手摇计算机与机械结合的半电子半机械化的计价器,此时,它能完成计价与计程工作,比上一代计价器多了计价功能,因此,被人们称为第二代出租车计价器。
后来,随着集成电子产业的发展,市场上又陆续出现了纯电子器件构造的出租车计价器,这种计价器不管在功能上,还是在稳定性上,都要出色的多,因此,全电子化的计价器很快取代了半电子化的计价器,成为现在出租车运营商广泛应用的出租车计价器。
计价器的功能不断完善,不仅能够完成计价工作,还能实时显示日期、播报、打印数据单等功能,纯电子器件构造的出租车计价器的广泛应用,促进了出租车行业的发展,推动了整个交通行业的发展,为人们的出行带来了极大的方便
1.3国内的一些研究成果
目前国内的研究成果很多,在此主要列出两篇与本设计相关的研究成果。
1.陈伟宏在论文“基于单片机的多功能出租车计价器的设计“在对系统可行性进行分析总结后,提出将AT89C52用于出租车计价器的设计,阐述了利用单片机作为出租车计价器主控器的思想,并对整个设计过程进行了仿真。
仿真结果显示,该计价器不仅能完成计价计程的工作,还能够实时显示时间、存储、打印、语音等功能,并且还可以防止司机作弊。
与已有的系统相比,该计价器所具有的功能更完善,更强大,性能更可靠[]。
2.杨世品、陈林在“基于PROTEUS的单片机出租车计价器的设计”中,将出租车计价器的的整个设计电路用PROTEUS进行仿真,提高了出租车计价器设计研发的效率,同时,推动了单片机应用系统以及电子电路的发展。
在整个设计过程中,PROTEUS软件在实际应用系统开发中所体现的实用性以及有效性上得到广泛认可[]
第二章出租车计价器的方案论证
2.1出租车计价器的功能要求
要完成出租车计价器的设计与制作,需要确定出租车计价器具备的基本功能以及功能参数。
2.1.1出租车计价器的基本功能
出租车计价器的主要功能有:
系统的复位操作、白天/晚上起步价的转换、计程计价、等待时间、日期、空车指示灯,数据保存。
在此基础上,还添加了防作弊模块,可以有效地防止奸商,维护乘客的利益。
当出租车载人后,司机按下计价启动键,车轮开始转动,里程传感器开始采集信号并输出脉冲,并将脉冲传到主控器,主控器接收脉冲并对脉冲信号计数,并计算出行驶路程及总金额,最后将结果送到显示电路进行显示。
2.1.2出租车计价器的主要功能
出租车计价器主要功能有三种,分别为计费、显示、按键。
计价主要包括起步价、里程计费、等待时间计费三部分,计价的范围是0-999.9元,精确到0.1元。
由霍尔传感器检测车轮转数,以此来计算里程数并计算总金额。
利用LCD1602液晶显示器对里程、总金额,日期、单价等数据进行显示。
按键可以对各个参数进行调整以确保显示正确的信息,并控制计价器的运行。
以下为对各个功能的详细介绍:
1、计费功能
总金额的计算是根据行驶里程与等待时间来进行的。
在不同的时间段有不同的起步价,一般设6点到22点起步价为7元,22点到第二天6点起步价为8元,在起步公里内,不计入等待时间。
(1)当行驶里程<3km时,按起步价计算总金额。
(2)当行驶里程>3km时,按1.5元/km计算总金额。
(3)等待累计时间>1min时,按1元/min计费。
2、显示功能
本设计显示部分由两个界面组成,第一界面为主界面,是在没有计费情况下显示信息。
第二界面为工作界面,显示的是在出租车计价状态时的信息。
主界面显示的信息包括:
显示时间:
包括年月日时分秒以及周。
显示出租车所在地区以及Taxi
工作界面显示的信息包括:
(1)显示行驶里程:
显示方式为“XXX.X”,单位为km。
计程范围0-999.9km,精确到0.1km。
(2)显示等候时间:
显示方式为“XX:
XX”。
计时范围0-59min,精确到1Second。
(3)显示总费用:
显示方式为“XXX.X”,单位为元。
计价范围0-999.9元,精确到0.1元。
(4)显示行驶和等待单价:
显示方式为$-X.X,精确到0.1元。
(5)显示时间:
显示方式为XX:
XX:
XX。
3、按键功能
具有计费开始、结束、价格日期调整等功能。
2.2方案论证
论文所讨论的是将MCS-51系列单片机作为整个系统的控制中心,控制外围电路完成一定的功能。
在外围电路中,将LCD1602液晶显示器作为显示器,显示价格里程等信息,采用DS1302时钟芯片为系统提供实时时间,采用AT24C02掉电存储芯片来保护重要信息[],防止断电丢失,通过按键可以控制整个系统的运行,并且可以调整各个显示参数。
图2.1是出租车计价系统的原理框图。
电源电路
单片机
指示灯
里程传感器
按键电路
掉电存储电路
液晶显示
时间电路
时钟电路
图2.1系统原理图
2.3系统工作原理
主控器提前被写入程序和数据信息,根据设定,主控器依据时间(白天和黑夜)自动调整起步价,并对传感器传来的信号进行计数并计算。
在整个系统工作过程中,主控器通过外部中断T1来获取脉冲信号。
论文的重点是对主机模块的设计,主机模块协调各个模块工作,将各个模块的功能进行分配并将各个模块的信息送达显示模块进行显示。
显示模块主要由显示电路构成,主要完成对时间、日期、单价、总金额等信息的显示。
其中,选用时钟模块来提供准确的时间,采用掉电存储模块存储设置信息,里程电路模块完成对信号的采集,并将信号送达主机模块处理。
按键模块可以对各个模块的参数进行调整,调整的过程可以通过显示模块进行显示,还可以控制整个系统的运行。
第三章出租车计价器的硬件设计
3.1单片机的介绍
AT89C52是一款低功耗、高稳定性、高性价比的单片机,它是由美国ATMEL公司研发并投入生产,其内部拥有4KB存储空间并且拥有Flash只读程序存储器,它的擦写次数可达到1000次,内部采用高密度、非易失性存储器技术,并且能很好的兼容其他MCS-51单片机。
MCS-51单片机内部采用国际上通用的8位中央处理器和ISPFlash存储单元,具有高性能的AT89C51可以作为许多嵌入式控制应用系统的首选芯片[]。
因此,在论文中,我们将讨论以AT89C52作为主控器的系统构成。
AT89C52单片机与其它MCS-51系列的单片机引脚完全兼容[]。
AT89C52的引脚如图3.1所示。
图3.1单片机引脚
单片机各引脚功能如下:
VCC:
电源电压。
GND:
地。
P0:
P0口是8位的双向I/O接口,由漏极电路组成。
P0口可以作为地址或数据总线口使用。
当有外部的程序或者数据需要被读取时,这时P0口就分时转换数据和地址总线复用,在读取外部数据时,由于P0口内部没有上拉电阻,所以需要外加上拉电阻。
P1、P2口:
其内部都具有上拉电阻的8位双向I/O接口,当访问外部数据存储器时,作为数据总线口使用,当访问外部16位地址的程序存储器时,作为地址总线口使用,其中,P2口送出高8位地址。
P3口作I/O口时与P1、P2的功能一样,P3口还有特殊功能,P3口的特殊功能如表3.1所示。
表3.1单片机P3口功能
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
T0(定时器0的外部输入)
P3.5
T1(定时器1的外部输入)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
RST:
复位输入端。
系统正常工作状态下,该端口应该保持低电平。
需要对系统复位时,对RST引脚接入连续两个机器周期的高电平即可复位。
ALE/
:
地址锁存端口。
该端口可以对地址的低8位进行锁存。
另外,该端口还可以作为编程脉冲的输入端口。
/VPP:
外部访问允许端口。
该端口为低电平时,表明单片机正在访问外部存储器。
EA端为高电平时,单片机不访问外部存储器。
:
程序存储允许端口。
3.2单片机最小系统
单片机的最小系统由电源供电模块、复位电路模块、晶体振荡电路模块组成。
3.2.1电源供电模块
计费系统的设计应该是直接可以在出租车上应用,所以,不能采用220V的交流电,而应该采用直流电压,由于实验条件限制,本次直接采用5V的直流输入电压。
3.2.2复位电路
此次设计采用的复位操作方式是按键复位方式。
主要由电源、电容、独立开关键以及10KΩ电阻组成。
其中,10KΩ电阻主要是起分压限流的作用,而10uF电容则是为了实现上电复位操作。
若要复位只需按一下独立开关键S1就能完成复位。
RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。
按键复位电路模块如图3.2所示。
图3.2按键复位电路
3.2.3晶振电路
单片机内部各个部件必须同步工作,故必须参照唯一时序来工作。
时序是由时钟信号产生的,而单片机的时钟分为内部和外部两种,本设计采用的是内部时钟。
本设计中用到的时钟信号是由微调电容(20pF)和晶振(12MHZ)构成的自激振荡器产生的晶振电路如图3.3所示。
图3.3晶振电路
3.3掉电存储模块的设计
出租车司机每次在启动出租车计价器的时候,计价器的价格等信息都会被重置,因此给出租车司机带来了很多麻烦。
对计价器系统添加一个掉电存储模块,之前设置好的数据在掉电时候就会保存,故避免了每次上电需要重新设置的麻烦。
在此次设计中采用了AT24C02芯片。
AT24C02芯片是一款大存储容量的记忆芯片,它的内部采用两线串行的总线和单片机进行通信。
在不受损坏的情况下,其保存的资料可以保存40年以上,外部为8引脚的DIP封装,便于保存和安装。
掉电保护电路如图3.4所示。
图3.4掉电存储电路
3.4时钟电路模块设计
在此次设计中,还为出租车计价器添加了实时时钟,该时钟可以为系统自动调整价格提供一个时间基准,准确性要求高,所以一款高稳定性的时钟芯片显得尤为重要。
DS1302是一款高性能、低功耗的实时时钟芯片[],它采用SPI三线接口与单片机之间进行同步通信,可以实时为系统提供年、月、日、时、分、秒,并且还可以进行修改。
在对DS1302设置好基本信息后即可工作。
时钟电路如图3.5所示。
图3.5时钟电路
3.5路程测量电路模块设计
路程测量的原理是传感器对车轮的转动进行检测,并以脉冲的形式发送到主控器端,主控器收到的脉冲和对脉冲进行计数,通过计算,得出里程,总金额等信息[]。
在本设计中,霍尔传感器A44E对车轮转动检测。
3.5.1霍尔传感器简介
霍尔传感器,是一种基于霍尔效应的传感器件,它具有很多其他类型传感器不具备的优点,它的体积小,高性能、低功耗、频率高、耐腐蚀、波形输出稳定、并且安装非常方便。
霍尔传感器A44E属于单极性霍尔开关电路,其工作温度在-40度至85度之间,它的输出电压为数字信号,并且符合TTL电平标准,主控器可直接连接到I/O口,它的最高检测频率可达1兆赫兹[]。
集成霍耳开关外形及接线如图3.6所示。
图3.6集成霍耳开关外形及接线
3.5.2里程计算计价单元的设计
里程计算是对控制器对传感器传送来的脉冲计数,出租车车轮每转一周(周长为95cm),传感器就输出一个脉冲,主控器通过P3.3口接收脉冲并对脉冲进行计数,依据公式MileAge=MileAge+19/2计算出里程数,然后程序再根据里程以及等待时间,计算出总金额,并送达显示电路显示。
霍尔传感器A44E对车轮检测的工作原理如图3.7所示。
P3.3单片机
小磁铁
霍尔传感器
图3.7A44E传感器工作原理
此次的设计为里程检测电路添加了防作弊功能,在A44E的电源输入端和信号的输出端均添加了P521光偶器件,如图3.8所示,只有控制器输出允许信号时,A44E才变为工作状态,对车轴转数进行检测,然后通过光耦器件将信号输出。
防作弊电路阻止了不法出租车司机的作弊行为,有效的维护了乘客的利益。
图3.8A44E防作弊电路
3.6显示电路的设计
3.6.1LCD1602简介
显示部分包括起步价、日期、单价、总金额、里程、等待时间等信息。
此次设计中,显示模块采用的是LCD1602液晶显示器[]。
液晶显示是一种极低功耗的显示器件,可以显示各种文字、汉字,还可以自定义显示内容,而且占用的I/O口少,有效节约了系统的资源,使整个系统更加简洁,并且成本低廉。
LCD1602液晶显示器可以显示16*2个字符,它的正常工作电压在4.5至5.5V之间,额定工作电流为2.0mA,字符尺寸为2.95*4.35(W*H)mm。
LCD1602的各个引脚功能如表3.2所示。
表3.2LCD1602引脚说明
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源接地
9
D2
DATAI/O
2
VDD
电源正极
10
D3
DATAI/O
3
VL
液晶显示偏压信号
11
D4
DATAI/O
4
RS
数据命令选择端(H/L)
12
D5
DATAI/O
5
R/W
读写数据端(H/L)
13
D6
DATAI/O
6
E
使能信号
14
D7
DATAI/O
7
D0
DATAI/O
15
BLA
背光源正极
8
D1
DATAI/O
16
BLK
背光源负极
3.6.2显示电路的硬件设计
根据LCD1602液晶显示器的基本工作参数以及各个端口功能,设计的显示电路如图3.9所示。
图3.9显示电路设计
3.7按键电路的设计
设计一共采用五个按键,其电路如图3.10所示。
图3.10按键电路
按键功能:
KEY1键:
出租车在处于非计价状态下,按下KEY1键,可以对日期,单价等信息作调整,当计价器处于计价状态时候,该键失效。
KEY2键:
当KEY1键按下时,通过该键,对要调整的参数进行选择。
KEY3键:
数据调整中的+键。
KEY4键:
数据调整中的-键。
KEY5键;计价器启动键/退出键,同时也是设置退出键,保存设置值。
第四章出租车计价器的软件设计
4.1模块介绍
该系统主要由主程序模块,里程计数器中断服务程序模块,中途等待中断程序模块,显示程序模块,键盘服务程序模块组成[12]。
以下为对每个模块的描述。
开始
初始化
读取单价起步价等
根据时间选择模式
读DS1302
键盘扫描
夜间模式
白天模式
键盘子程序
返回
图4.1主程序流程图
4.2主程序模块
主程序模块的任务,是协调各个模块的工作,并对每一个模块完成芯片初始化工作。
当计价器工作的时候,主程序模块需要根据时钟模块提供的时间判断当前计费模式(6点到22点为白天计价模式,22点到第二天6点为夜间计价模式),并且判断行驶路程是否在三公里(起步价7元或8元三公里)之内,若在三公里之内,则按照起步价计算总金额,若超过三公里,则按照起步价加上超出三公里部分的金额再加上等待时间金额进行计算,将时间,金额,里程,价格等信息发送到显示电路[13]。
当乘客到达目的地,按下停止按钮,总金额,里程,等候时间等信息将显示在显示器上,在交易完成后,出租车司机按下清零键,主程序模块对各个模块重新初始化,为下一次启动做好准备。
主程序的流程图如上图4.1所示。
设置状态
等待
是否中断
N
Y
不处理
是否作弊
Y
N
累加器+1
计算里程、价格
显示
结束
图4.2里程中断计数服务流程图
4.3里程计数中断服务程序模块
每次霍尔传感器A44E传来脉冲信号,在控制器允许的情况下,就会引起控制器中断,控制器转向处理中断子程序,中断子程序根据设定好的车轮周长计算出里程数,并将结果送达显示电路。
如果未经控制器允许传感器就传送来脉冲,则视为作弊,不予处理[14]。
里程计数中断流程如上图4.2所示。
4.4中途等待中断服务程序模块
当控制器在计价状态下时,控制器内的定时器也随之启动并将等待时间设为1秒。
如果霍尔传感器在1秒之内没有传来脉冲信号,那么就进入等待金额计算公式(中途等待价为1.2元/分钟),并且将等待时间送达显示电路显示[15]。
当霍尔传感器又重新有脉冲信号输入时,表明出租车开始行驶,控制器就转到里程计价模式,并且记录当前等待时间。
中途等待终端服务流程图如图4.3所示。
计数初始化
等待
N
进入中断
Y
计数并开启等待时间
返回
图4.3中途等待中断服务流程图
4.5显示程序模块
LCD1602液晶显示器自带字符库它可以显示16*2个字符,当控制器将信息送达显示电路显示时,首先需要判忙,确定空闲后,控制器首先写入命令,对字符的位置进行设置,在对LCD1602设置完毕后,再写入数据,将总金额、里程、日期等信息显示出来。
液晶显示程序流程图如图4.4所示。
显示
写完
P0.7=0
LCD判忙
写数据
设置字符位置
LCD判忙
写数据
LCD初始化
开始
P0.7=0
是
否
是
写完
否
是
图4.4显示服务程序流程图
4.6按键服务程序模块
主程序来控制整个系统的运行,设计采用键盘查询方式,主程序模块上,不断检查按键是否按下,当按下一个键,主程序转向相应的子程序处理。
按键处
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89C52 单片机 出租车 计价器 设计