首页 > 范文大全 > 正文

基于AT89S51单片机的出租车计价器系统设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于AT89S51单片机的出租车计价器系统设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:以AT89S51单片机为核心器件,附加A44E霍尔传感器测距,实现对出租车的计价统计。采用AT24C02实现在系统掉电时保存单价和系统时间等信息,输出采用8段数码显示管。用该电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机提供方便。关键词:单片机; 霍尔传感器; 出租车计价器; 数码显示管

中图分类号:TN911-34; TP368.1 文献标识码:A

文章编号:1004-373X(2010)22-0057-03

Design of Taximeter System Based on AT89S51 SCM

SHU Tao, WU Yuan-chao, LI Ming

(Civil Aviation Flight University of China, Guanghan 618307, China)

Abstract: The design takes the SCM of AT89551 as the core component and is with additional A44E hall sensor distance to realize the taximeter statistics. The unit price and system time information are saved when the system power-down by AT24C02, and the output adopts the 8-segment digital display tube. The taximeter designed by this circuit can not only realize the basic valuation, but also adjust the unit price according to day, night and halfway to wait, at the same time the taximeter also can as a clock to provide convenience for the drivers comrades when it's not denominated.Keywords: single chip microcomputer; Hall sensor; taximeter; digital display tube

收稿日期:2010-06-26

随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在买卖纠纷困扰着行业的发展。然而解决这一矛盾的最好方法就是改良出租车的计价器,用更加精良的计价器来为乘客提供更加方便快捷的服务。我国的出租车始于20世纪70年代,随着电子技术的发展,出租车计价器的设计技术也在不断进步和提高。国内出租车计价器的发展已经经历了4个阶段,从传统的全部由机械元器件组成的机械式到半电子式出租车计价器,再从集成电路式到目前的基于单片机系统设计的出租车计价器。基于单片机系统设计的出租车计价器是以单片机作为核心的控制元件,采用灵敏的霍尔开关型器件,具有功能强,性能可靠,电路简单,成本低的特点,加上经过优化的程序,使其具有很高的智能化水平。

1 系统硬件设计

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

图1 出租车计价器系统框图

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

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

当前单价 × 公里数 = 金额

1.2 数据显示电路的设计

设计使用一个定时/计数器每0.1 s向主机发1次中断请求信号,并利用并行接口电路完成对时钟的实时显示功能[7]。同时,利用动态扫描电路完成对出租车的起价和当前累计价的显示。

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

图2 A44E测距原理图

在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总里程时,就可以按下S1 切换到里程和单价显示屏,供客户查询。

1.3 AT24C02掉电存储电路的设计

存储电路的作用是在电源断开的时候,存储当前设定的单价信息。存储电路如图3所示,采用Atmel公司推出的容量为2 KB 的串行电可擦除、可编程存储芯片AT24C02 设计,传输方式为I2C总线。该设计优点在其简单性和处理的高效性上。一般地址输入端A0,A1,A2,写保护WP接VCC或GND;SCL,SDA 接上拉电阻(上拉电阻的阻值可参考有关数据手册选择,通常可选用5 ~10 kΩ的电阻,设计中选用的电阻阻值为5.1 kΩ)后再接单片机的普通I/ O 口,这便可实现单片机对AT24C02 的操作[9]。上拉电阻的作用是减少AT24C02的静态功耗。

图3 存储电路

1.4 启动及清除电路

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

1.5 按键电路的设计

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

2 系统软件设计

2.1 主程序模块

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

图4 主程序流程图

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