(3)可设定单程价格和往返价格,单程价格为2元/公里,往返价格为1.5元/公里。
(4)起步公里数为3公里,价格为5元,若实际距离大于3公里,按规则3计算价格。
(5)按暂停键,计价器可暂停计价,按查询键,可显示总等待时间。 二、发挥部分
(1)增加了空车指示功能,当无客人时,按下功能切换按键,空车指示灯亮。
(2)增加实时时间显示,无论计价器工作或者空车,都能显示实时时间,便于时间提醒。
(3)增加信息储存功能。可以储存等待时间,里程和金额。
2.2 设计的主要功能
本设计所设计的出租车数字计价器的主要功能有:金额输出、路程输出、数据复位、计时计价、空车显示等。输出采用LCD12864液晶显示屏显示。
2.3 方案的选取
本设计是由软件设计和硬件设计两部分组成的。软件设计要进行程序的编写和软件仿真;硬件设计要设计电路、硬件仿真和制作电路板。 2.3.1 硬件设计方案
本系统的硬件设计主要包括单片机AT89S52、数据显示部件、U18霍尔传感器电路、里程计算及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。
计价器的单片机系统框图如图2-1所示。它由以下几个部件组成:霍尔传感
器单元、AT89S52单片机、金额显示、里程显示、电源。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程和价格的计算及显示功能。
图2-1计价器系统框图
2.3.2 软件设计方案
本设计程序的采取C语言进行编写,使用Keil uVision4编译和Proteus7.4a仿真软件进行仿真调试。其中的里程计算和费用计算方案如下。
1、里程计算
(1)霍尔传感器对车轮进行信号检测,产生并输出脉冲信号到单片机; (2)单片机对传感器输出的脉冲信号进行计数,并进行km计算:每一个信号代表轮胎旋转一周,设轮胎的周长为2m ;每km产生的信号数为500,里程显示为N × 2m = 2N(km)
2、费用计算
(1)出租车的起步费为5元,并且3km内不需额外计价; (2)出租车行驶3km后,单程2元/km,双程1.5元/km。
(3)等待收费的标准为5分钟算一公里; (4)暂停时计价器暂停计价,不收费用。
3 硬件设计
本设计的硬件设计包括单片机AT89S52单元、测距单元、显示单元(数码管显示金额、等待时间和里程,指示灯对单双程切换指示、空车指示、等待计时指示)、按键单元、时钟单元和储存单元。
3.1 AT 89S52单片机及最小系统 1、AT89S52单片机
AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器, 256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,3个16位可编程定时计数器,全双工串行口,看门狗(WDT)电路,片内时钟振荡器。
图3-1 AT89S52引脚图
P0口有二个功能:
1、外部扩展存储器时,当做数据/地址总线。
2、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口只做I/O口使用:其内部有上拉电阻。 P2口有两个功能:
1、扩展外部存储器时,当作地址总线使用。 2、做一般I/O口使用,其内部有上拉电阻。
P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。
设计中用到的单片机各管脚(图3-1)功能以及与其他模块连接介绍如下: VCC:接+5V电源。 VSS:接地。
时钟引脚:XTAL1和XTAL2两端接晶振和30PF的电容,构成时钟电路。 它可以使单片机稳定可靠的运行。