基于单片机的车辆计价器设计
扫描二维码
随时随地手机看文章
引言
随着经济的发展,出租车已经成为城市交通的重要组成部分,为保证司机和消费者的权益,车辆计价器必不可少。单片机功能强大,灵活性高,可以软硬件相结合。设计的计价器能实现计价、显示、打印、播报等功能,还可以根据时间段的不同来调节单价。整个行车过程中的总费用=起步价+行车费用+等候费用。
1系统硬件设计
计价器系统主要由六部分组成:选定AT89S52单片机为主控器件,A44E霍尔传感器检测电路,独立键盘来实现功能的调整,AT24C02来实现存储功能,ISD2560语音芯片来实现语音播报,数码管实现数据显示。
本设计通过A44E霍尔传感器来检测汽车行进的里程,并将产生的脉冲送到单片机进行计算处理,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算好的金额、里程和单价都实时地显示在数码管上。当乘客到达目的地时,通过按键进行语音播报和打印乘车数据。独立键盘可以调节价格等相关数据,EEPROM存储调节好的数据,系统结构图如图1所示。
1.1里程计算和计价电路的设计
A44E属于开关型的霍尔器件,其工作电压范围比较宽(4.5〜18V),其输出的信号符合TTL电平标准,可以直接接到单片机的I。端口上%霍尔传感器有信号转换、电压放大、整形输出等功能。里程计算是通过安装在车轮上的A44E检测到的脉冲信号,送到单片机产生中断,单片机再根据程序设定,计算出里程。其原理如图2所示。
图2 传感器测距原理示意图
1.2AT24C02掉电存储电路设计
AT24C02是一个2Kb串行CMOSEEPROM,内部有256个8位字节。掉电存储的作用是在掉电时,当前信息能够被存储。当重新上电时,被存储的信息可以继续使用。A2〜A0为地址引脚,SDA、SCL为总线接口,WP为保护引脚。WP接VSS时,禁止写入高位地址;WP接VDD时,允许写入任何地址。
1.3数据显示电路设计
显示单元由7个8段共阴极数码管组成,采用动态扫描进行显示。74LS244是单向三态数据缓冲器,内部有8个三态驱动器,分成两组,分别由控制端控制。当两个控制端接地时,相当于8个三态门均打开。由于单片机驱动能力有限,本设计采用74LS244作为数码管的驱动。数码管段选位接P2口用于显示总金额和显示里程与单价;位选接P0口,用于控制数码管。
1.4语音播报系统设计
语音播报主要对行驶里程、消费金额进行播报,乘客有知情权。设计采用了集成度较高的ISD2560芯片,其最大的特点是采用EEPROM进行模拟信息的直接存取,而不必经过A/D和D/A转换。它内部带有话筒放大器、自动增益控制时钟、扬声器驱动电路等。
1.5票据打印电路设计
当出租车到达指定地点时,司机通过翻车牌将信号传到单片机,单片机启动打印服务,将行车的公里数、单价、金额、中途等待时间、日期及上下车时间等乘车数据打印成出租车票据,供乘客保留。这样可以防作弊,保障消费者的权益。
2系统软件设计
2.1系统主程序模块
主程序模块主要完成单片机各工作模式设定、相应存储单元的初始化、数据处理以及中断控制等工作。主程序模块还要实现对各个模块的控制,使计价器完成计费、计程、播报、打印等功能。主程序流程如图3所示。
2.2定时中断服务程序
定时器的定时与系统的震荡频率有关。在定时中断服务程序中,每100ms产生一次中断,当产生10次中断的时候,也就到了1s,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。当选择定时/计数器作为定时器工作时,每经过1个机器周期,计数器加1,直至计数溢出为止。
2.3里程计数中断服务程序
霍尔传感器每输出一个低电平信号,单片机中断一次,程序将中断次数累加,进入里程计数中断服务程序中。在该程序中,需要完成当前行驶里程数和总额的累加操作,并将结果存入里程和总额寄存器中。
图3 系统主流程图
2.4中途等待中断程序
在计数状态下,霍尔开关没有输出信号,T1定时器便被启动。每当计时到达5min时,就对当前金额加上中途等待的单价,以后每5min都自动加上中途等待的单价。当中途等待结束时,就自动切换到正常的计价。
2.5显示程序
显示程序利用定时器的中断和主程序的循环点亮数码管,并利用延时程序使人眼可察。由于是分屏显示数据,所以就要用到4个显示子程序,分别是时间显示子程序、金额显示子程序、路程显示子程序和单价调节子程序。
2.6键盘服务程序
键盘采用查询的方式,放在主程序中。当没有按键按下的时候,单片机循环主程序;一旦有按键按下,便转向相应的子程序处理,处理结束再返回。
3调试结果分析
3.1计价单元测试分析
测试分白天和晚上,再按照不同的单价、行车里程来计算总金额。将白天和晚上单价分别设为三个数值,让汽车行驶不同的里程,来测试所做出的实物是否符合要求。设定标准为3km以内以起步价8元计,超过3km以每千米按设定单价计价,假设模拟车轮转1圈实际车轮转2圈,其测试结果如表1所列。
表1 里程计价测试数据
模式 |
单价/元 |
里程/km |
总金额/元 |
2.5 |
10 |
25.5 |
|
白天 |
2.0 |
2 |
8 |
1.5 |
1 |
8 |
|
3.5 |
7 |
22 |
|
晚上 |
3.0 |
2 |
8 |
2.5 |
5 |
13 |
由表1可以看出,测试结果与理论值相符,系统比较稳定,达到了设计要求。
3.2中途等待测试
在计价模式下,当车轮速度低于1.4m/s(5km/h)时,若10s内没有改变这种状态,则进入中途等待模式,屏幕会进入等待计价状态,5min后计价器自动增加0.5元。
3.3掉电单元测试
掉电时,可以把当前信息存储起来,重新上电后数据可以被继续利用。
4结语
出租车计价器是一种智能化仪表,它通过AT89S52、A44E霍尔传感器、独立键盘、AT24C02、ISD2560、数码管等器件实现了计价器的计程、计费、打印、播报等功能。它功能强、成本低、电路设计简单安全,能满足市场的需求。
20211106_61864c9f1d568__基于单片机的车辆计价器设计