当前位置:首页 > 汽车电子 > 汽车电子
[导读]生活水平不断提高,出行的舒适已受到越来越多人的关注。于是,出租车行业发现了掘金的良机。但是总存在买卖纠纷困扰着行业的发展。归根究底就是要改良出租车的计价器。今天介绍的基于单片机系统设计的出租车计价器是

生活水平不断提高,出行的舒适已受到越来越多人的关注。于是,出租车行业发现了掘金的良机。但是总存在买卖纠纷困扰着行业的发展。归根究底就是要改良出租车的计价器。

今天介绍的基于单片机系统设计的出租车计价器是以单片机作为核心的控制元件,采用灵敏的霍尔开关型器件,具有功能强,性能可靠,电路简单,成本低的特点,加上经过优化的程序,使其具有很高的智能化水平。

1 系统硬件设计

出租车计价器系统以AT89S51单片机为核心,由按键电路、AT24C02掉电存储电路、里程计算电路、数码管显示电路组成。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,不仅能实现基本的里程计价价格调节、时钟显示,而且能很大程度上实现扩展功能,同时可方便日后对系统进行升级。图1给出计价器系统框图。

1.1 里程计算、计价电路的设计

通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元,这样便完成了里程计算。检测原理如图2所示,P3.2口作为信号的输入端,内部采用外部中断0,车轮每转一圈(设车轮的周长是1 m),霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数,当计数达到1 000次时,也就是1 km,单片机就控制将金额自动增加,其计算公式为:

当前单价×公里数=金额

1.2 数据显示电路的设计

由于设计要求有单价(2位)、路程(2位)、总金额(3位)显示输出,加上另外扩展的时钟显示(包含时分秒的显示),采用LCD液晶段码显示,在距离屏幕 1 m之外就无法看清数据,不能满足要求,而且在白天其对比度也不能够满足要求,因此采用6位LED数码管的分屏显示。

设计使用一个定时/计数器每0.1 s向主机发1次中断请求信号,并利用并行接口电路完成对时钟的实时显示功能。同时,利用动态扫描电路完成对出租车的起价和当前累计价的显示。在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总里程时,就可以按下S1切换到里程和单价显示屏,供客户查询。

1.3 AT24C02掉电存储电路的设计

该设计优点在其简单性和处理的高效性上。存储电路的作用是在电源断开的时候,存储当前设定的单价信息。存储电路如图3所示,采用Atmel公司推出的容量为2 KB的串行电可擦除、可编程存储芯片AT24C02设计,传输方式为I2C总线。

一般地址输入端 A0,A1,A2,写保护WP接Vcc或GND;SCL,SDA接上拉电阻(上拉电阻的阻值可参考有关数据手册选择,通常可选用5~10kΩ的电阻,设计中选用的电阻阻值为5.1kΩ)后再接单片机的普通I/O口,这便可实现单片机对AT24C02的操作。上拉电阻的作用是减少AT24C02的静态功耗。

1.4 启动及清除电路

在系统电路中,设计一个启动/清除按钮,用来作为启动里程计数或清除里程数计数的开关。将该按钮开关接到微机系统的某个中断请求线上,当开关被按下1次时就作为计程启动中断请求;再按下1次时,就作为系统的计程清零中断处理。

1.5 按键电路的设计

电路共采用4个按键,即S1,S2,S3,S4,其功能是:S1为分屏显示切换按键;S2为功能设定按键;S3为‘+’/白天晚上切换按键;S4为‘-’/中途等待开关。

2 系统软件设计

2.1 主程序模块

主程序流程图如图4所示,在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。

当按下S1时,就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。

当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价。到下次启动计价器时,系统自动对显示清零,并重新进行初始化过程。

2.2 定时中断服务程序

在定时中断服务程序中,每100 ms产生一次中断,当产生10次中断的时候,也就到了1 s,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。

2.3 里程计数中断服务程序

每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1 000次时,就有程序将当前总额累加,使微机进入里程计数中断服务程序中。在该程序中,需要完成当前行驶里程数和总额的累加操作,并将结果存入里程和总额寄存器中。

2.4 中途等待中断服务程序

当在计数状态下霍尔开关没有输出信号,片内的T1定时器便被启动,每当计时到达10 min,就对当前金额加上中途等待的单价,以后每10 min都自动加上中途等待的单价。当中途等待结束时,就自动切换到正常的计价。

2.5 启动/清除计程中断服务程序

当系统有启动/清除中断请求产生时,可以设定第一次中断为启动中断,第二次中断为清除中断,并在中断服务程序中将标志寄存器的内容相应置“1”或清“0”。其中,标志为“1”时表示本次中断是启动中断;为“0”时表示是清除中断。

2.6 显示子程序服务程序

由于是分屏显示数据,所以就要用到4个显示子程序,分别是:时分秒显示子程序(HMS_DIS),金额单价显示子程序(CP_DIS),路程单价显示子程序(DP_DIS)和单价调节子程序(PA_DIS)。

2.7 键盘服务程序

键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦右键按下,便转向相应的子程序处理,处理结束再返回。

3 结语

本系统具有功能强,性能可靠,电路简单,成本低的特点,完全归功于本出租车计价器采用单片机作为核心控制元件,采用灵敏的霍尔传感器器件作为检测,再加上经过优化的程序,智能化水平更上一层,解决了以往价器计价不准确,使用寿命短等缺点。是一款十分实用的方案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

74LS175是一款4D触发器集成电路,它包含6个D触发器,这些触发器可以组合起来形成寄存器或抢答器等多种功能部件。

关键字: 74ls175 触发器 寄存器

单片机复位电路的作用是:使单片机恢复到起始状态,让单片机的程序从头开始执行,运行时钟处于稳定状态、各种寄存器、端口处于初始化状态等等。

关键字: 复位电路 单片机 寄存器

霍尔传感器的工作原理是:磁场中有一个霍尔半导体片,恒定电流I从A到B通过该片。在洛仑兹力的作用下,I的电子流在通过霍尔半导体时向一侧偏移,使该片在CD方向上产生电位差,这就是所谓的霍尔电压。

关键字: 霍尔传感器 霍尔电压 电位差

寄存器变量是计算机中一种重要的存储方式,它使用CPU中的寄存器来存储数据和指令。寄存器直接与CPU的运算和控制部件相连,因此访问速度非常快,通常在一个CPU周期内就能完成数据的读写操作。相比于内存和硬盘等存储设备,寄存器...

关键字: 寄存器 存储器

寄存器和存储器是计算机及其它电子设备中的两种重要存储组件,它们在存储方式、存储容量和访问速度等方面存在明显的差异。

关键字: 寄存器 存储器

寄存器和内存是计算机系统的两个重要组成部分,它们之间存在着密切的关系。本文将介绍寄存器和内存的基本概念、功能、类型以及它们之间的关系,旨在帮助读者更好地理解计算机系统的运行原理。

关键字: 寄存器 内存

寄存器是计算机硬件中的重要组件,用于临时存储数据和指令。正确地使用寄存器能够提高程序的执行效率,然而不正确的使用也可能导致各种问题。本文将详细介绍寄存器的使用方法以及在使用时需要注意的事项。

关键字: 寄存器 计算机硬件

寄存器和暂存器都是计算机硬件中的重要组件,它们在计算机系统中发挥着不同的作用。下面我们来详细了解一下它们的区别以及各自的特点和应用。

关键字: 寄存器 暂存器

寄存器是一种重要的计算机硬件组件,用于临时存储数据或指令。在计算机架构中,寄存器是CPU内部的一部分,用于加速数据的处理速度。寄存器通常由高速缓存(cache)和随机存取存储器(RAM)组成。

关键字: 寄存器 计算机硬件

霍尔传感器是根据霍尔效应制作的一种磁场传感器,霍尔效应是磁电效应的一种,由霍尔效应 的原理可得霍尔电势的大小取决于

关键字: 霍尔传感器 磁电效应 霍尔电势
关闭
关闭