0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于霍尔传感器和AT24C02的出租车智能计价器设计

电子设计 2018-09-02 22:11 次阅读

出租车作为城市交通中独特的交通工具,在城市交通运营中具有不可替代的重要作用。出租车司机最关心计价器的营运数据管理是否方便,而乘客往往最在意出租车计价计费是否合理。为了减少出租车司机和乘客间不必要的误会,设计既能准确计价又能方便使用的计价器显得非常重要。

科技在不断发展,社会在快速进步,出租车计价系统也需不断地得到优化。文中以嵌入式单片机AT89C51为主控MCU,设计多功能出租车智能计价器。此计价器能够按实际情况综合计价,并将乘车用时、行驶里程和乘车费用等重要信息显示出来,具有功能更齐全、系统更稳定、使用更方便等优势。

1 出租车智能计价系统总体设计

利用AT89C51作为单片机核心器件设计的智能计价系统,使用方便、灵敏性好,其强大的控制处理功能和可扩展功能为设计电路提供了很好的选择。利用其I/O端口及其控制的多功能特点,采用按键控制进行分屏显示,实现基本乘车计价和信息显示功能。系统总体设计框图如图1所示。


图1 系统总体设计框图


在系统硬件设计中,以AT89C51单片机为控制中心,外接A44E霍尔传感器信号采集模块、时钟模块、按键模块、显示模块以及掉电保护存储模块。其中,选用A44E霍尔传感器信号采集模块可将磁感应转换为脉冲信号,从而计测出行车里程;时钟模块采用DS1302芯片,设置标准时钟;掉电存储模块采用AT24C02芯片,以确保掉电时数据自动保存在存储单元;当系统重新上电时,能自动读取数据;按键模块采用四个按键控制,可实现分屏显示功能;显示模块采用8位LED数码管进行显示。

2系统软件设计

2.1系统主程序

在主程序模块中,不仅需要完成参量和接口的初始化设计、出租车起步价和单价的设置以及中断、计算等操作,还应设置启动/清除标志、里程以及价格寄存器,并对其进行初始化。最后,为实现寄存器中内容的完整性及精确性,主程序应能分别完成启动、清除、计程及计费等操作。

当出租车起步运行时,计价器同时启动开始计价,根据里程寄存器中的存储数据进行运算并判别行驶路程是否超过起步价的里程。若已超过起步价里程,则根据里程值、单价数和起步价等来综合计算当前的乘车费用;当处于等待时段时,若无脉冲输入,不产生中断,一旦等待时间超过预设时间则会把等待超标费用另加到乘车总费用中,并显示相关信息。系统主程序流程图如图2所示。


图2 系统主程序流程图


2.2系统模块程序

系统模块程序主要包括五个服务程序:显示子程序、里程计数中断、定时中断、中途等待中断和按键服务程序。各服务程序介绍如下:

(1)显示子程序。由于采取的是分屏数据显示方式,因此需要用到4款显示子程序:时、分、秒的显示,金额单价的显示,路程单价的显示以及标准时间的显示。

(2)里程计数中断。霍耳传感器每输出一个低电平信号便中断一次,当里程计数器计满1000个里程脉冲时,便将当前计数送至里程计数中断服务程序,并将当前行车里程及相关数据传至行车里程与乘车费用寄存器中。

(3)定时中断。在定时中断服务程序中,设置一次中断时间为50ms,20次中断时间为1s,计满1s后将数据送到相应显示单元实时显示。

(4)中途等待中断。在计数状态下霍耳开关无信号输出时,片内定时器启动。等待计时每达到5分钟,就会在当前金额基础上自动加上中途等待费用。等待结束后计价系统自动转换到正常计价程序。

(5)按键服务程序。按键服务采取查询模式,设置在主程序中。当无按键按下时,单片机循环运行主程序;按键被按下,则转向运行相应子程序,并进行其他操作处理。

3系统仿真与功能实现

3.1仿真软件Proteus简介

Proteus仿真软件是英国Labcenter Electronics公司设计开发的EDA工具,它不但拥有其它工具软件的仿真功能,而且可仿真微处理器和相关外围设备。Proteus软件功能强大:拥有Proteus电子设计工具,就等同搭建了一个电子设计和分析平台。利用功能强大的Proteus仿真软件,我们可以实现对电路的仿真,以确定方案是否可行,并且可使设计过程流畅。

3.2电路功能仿真

首先通过Proteus平台搭建电路,然后在KEIL中编写相应代码,并将生成的HEX文件在Proteus平台单片机模型中加载,便可看到仿真效果。
(1)单价仿真情况。根据实际情况,白天和夜晚的起步营运价格是不一样。对白天、夜晚分别进行仿真实验,得仿真效果如图3所示。


图3 单价仿真效果图


(a)白天单价(b)晚上单价
在图3中,图(a)为白天时间段,显示白天的起步价为6元;图(b)为夜晚时间段,显示夜晚的起步价为7元。

(2)其它相关重要参数仿真。另外,对计价系统其他主要方面也进行了仿真研究(为讨论问题简便,忽略了图3所示电路部分,只显示数据部分),仿真效果如图4所示。具体介绍如下:

显示3公里内和3公里外的单价、里程和金额:图4(a)显示路程为2公里(3公里内,起步价内),金额为6元;图4(b)为显示里程为22公里(3公里外),显示单价为2元,金额为44元。


图4 其它相关重要参数仿真


显示标准时间及里程用时:图4(c)为当前标准显示时间08:20:28;图4(d)为乘车过程用时20分28秒。

有无等待仿真对比效果:图4(e)为路上没有等待时间的价格;图4(f)为路上有等待时间的价格。根据程序设置的每5分钟加1元,可以看出图4(f)中路上有等待时问,且等待时间为5分钟。

(a)三公里内(b)三公里外
(c)标准时间(d)里程用时
(e)无等待时间(f)有等待时间
通过观察上述仿真效果,可分析得知:能在数码管上显示运行单价、乘车里程、行车用时及总费用等相关信息,因此本系统设计达到了预期目标和要求。

4系统实验及结果分析

按原理图进行焊接,确保接线无误后。对实物进行调试与实验,最终实验结果如图5所示。


图5 功能验证试验

由图5实验结果可知:
(1)图5(a)为显示单价。按下键1,进入载客状态,便会显示单价。
(2)图5(b)为显示单价、里程和金额。此外当掉电时,数据被会送入存储单元,重新上电后能显示掉电前的相关数据,从而较好地实现掉电存储保护功能。
(3)图5(c)为显示标准时间。按下键2便能查看标准时间。
(4)图5(d)为行车用时。按下键3便能实时查看行车用时。
实验结果表明,利用AT89C51主控,霍尔传感器进行采集,AT24C02进行掉电存储保护,配以程序,就能较好地实现出租车智能计价功能。

5结论

文中设计的出租车智能计价系统能够实时存储相关数据,并通过8位LED数码管分屏显示存储数据,实现基本的计价功能。本系统对乘车中可能出现的情况考虑较全面,能根据白天、夜晚、中途等待等不同情况来调节单价,从而达到出租车智能计价的目的。当然,要达到大规模的实际应用要求,还需不断改进和完善系统综合性能指标,以达到实际应用要求。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22441

    浏览量

    645832
  • 单片机
    +关注

    关注

    5998

    文章

    43963

    浏览量

    620678
  • 霍尔传感器
    +关注

    关注

    26

    文章

    653

    浏览量

    62318
收藏 人收藏

    评论

    相关推荐

    【FPGA设计实例】出租车计价器VHDL程序

    出租车计价器VHDL程序--文件名:taxi.hd --功能:出租车计价器利用FPGA轻松实现出租车
    发表于 03-05 14:51

    出租车计价器系统设计

    核心的控制元件AT89S51,采用灵敏的霍尔开关型器件,具有功能强,性能可靠,电路简单,成本低的特点,加上经过优化的程序,使其具有很高的智能化水平。1 系统硬件设计出租车计价器系统以A
    发表于 05-21 13:26

    多功能出租车计价器设计资料

    多功能出租车计价器设计资料
    发表于 08-20 11:20

    多功能出租车计价器设计资料

    多功能出租车计价器设计资料
    发表于 04-17 20:44

    多功能出租车计价器

    、数据显示部件、A44E霍尔传感器电路、AT24C02 掉电存储单元的设计、里程计算及计价单元的设计。在硬件设计过程中,充分利用单片机的功能,实现多功能的
    发表于 10-24 19:08

    基于multisim设计的出租车计价器

    本帖最后由 qion1994 于 2015-11-29 17:00 编辑 有没有人设计过基于multisim的出租车计价器,带延时计价的,如果有的话能否发我一份?我这里有一个电路图,可是仿真的时候,价格那里总是有问题,还有
    发表于 11-29 16:42

    出租车计价器设计的原理图和相关文档

    出租车计价器的文档,挺有用的
    发表于 07-12 22:58

    C++毕业设计出租车计价器

    C++毕业设计出租车计价器.doc
    发表于 08-05 22:04

    基于8086和Proteus仿真的出租车计价器设计

    `有没有基于8086(汇编语言)和Proteus的出租车计价器的设计资料啊`
    发表于 01-03 14:24

    基于单片机的多功能出租车计价器相关资料推荐

    文末下载完整资料1.1出租车计价器概述  计价器显示的营运金额是营运里程与价格的函数(等候时间一般折算成一定比例的里程来计算)。出租车计价器
    发表于 11-09 06:16

    出租车计价器VHDL程序

    程序设计与仿真。1. 出租车计价器VHDL程序--文件名:taxi.hd --功能:出租车计价器 --最后修改日期:2004.4.9
    发表于 06-27 10:51 1823次阅读
    <b class='flag-5'>出租车</b><b class='flag-5'>计价器</b>VHDL程序

    出租车计价器论文

    本电路以89S51 单片机为中心、附加A44E 霍尔传感器测距,实现对出租车计价统计,采用AT24C02 实现在系统掉电的时候保存单价和系统
    发表于 10-13 15:39 36次下载

    毕业设计出租车计价器

    毕业设计出租车计价器
    发表于 12-17 21:49 41次下载

    设计并制作一台出租车计价器

    本电路以89S51 单片机为中心、附加A44E 霍尔传感器测距,实现对出租车计价统计,采用AT24C02 实现在系统掉电的时候保存单价和系统
    发表于 03-03 16:42 41次下载
    设计并制作一台<b class='flag-5'>出租车</b><b class='flag-5'>计价器</b>

    利用单片机和霍尔传感器模拟实现出租车计价器

    利用单片机和霍尔传感器模拟实现出租车计价器,系统可以通过按键设置计价器的起步价,里程价,等待价等。
    发表于 10-17 10:52 1035次阅读