1、 单片机应用与仿真训练设计报告 出 租 车 计 价 器 1 摘要 随着出租车行业的发展 ,出租车行业已经是城市交通的重要组成部分 ,从加强行业管理以及减少与乘客的纠纷出发 , 以单片机为核心的智能出租车计价系统的开发就显得尤其重要 。本设计采用 89C51 单片机为主控器,以霍尔传感器测距,实现对出租车的多功能的计价设计。并且还添加有其他的附加设计,使司机师傅操作起来更加方便,例如,按暂停键,计价器可暂停计价,按查询键,可显示总等待时间等。 关键词: 89C51,霍尔传感器 2 目录 一、概论 - 2 1、前言 - 3 2、设计的意义 - 3 3、设计任务 - 4 4、设计的目的和要求 - 4
2、 二、系统总体方案及硬件设计 - 5 1、系统总体方案 - 5 2、霍尔传感器检测单元 - 5 3、键盘调整单元 - 7 三、软件设计 - 8 1、 系统主程序 - 8 2、中断程序 - 9 2.1、里程计数中断程序 - 9 2.2、中途等待中断程序 - 9 2.3、计算程序 - 10 2.4、显示程序 - 10 2.5、键盘程序 - 10 四、 Proteus 软件 仿真 - 11 五、实物图 - 14 六、程设计心得体会 - 15 参考文献 - 16 附 1:源程序代码 - 17 附 2:系统原理图 - 17 3 一 概述 1、前言 计价器是出租汽车的经营者和乘坐出租汽车的消费者之间用于公
3、平贸易结算的工具,因而计价器计价准确与否,直接关系到经营者和消费者的经济利益。依据国家有关法律、法规,出租汽车计价器是列入国家首批强制检定的工作计量器具之一, 也是近年来国家质量技术监督部门强化管理的六类重点计量器具之一。在出租车是城市交通的重要组成部分,行业健康和发展也获得越来越多的关注。汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。 出租车已经成为我国城市公共交通的重要组成部分和现代化城市必备的基础设施,成为人们工作、生活中补课缺少的交通工具。而出租
4、车计价器在出租汽车服务行业中占着极为重要的地位,因为出租车必须安装出租车 计价器才能投入正常的运营。出租车计价器是一种能根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并直接显示车费值得计量器具。计价器是出租汽车经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,因而计价器准确与否,直接关系到经营者和消费者的经济利益。依据国家有关法律、法规,出租车计价器是列入国家首批强制检定的工作计量器具之一,也是近年来国家质量技术监督部门强化管理的的六类重点计量器具之一。 2、设计的意义 在出租车时城市交通的重要组成部分的大环境下,行业的健康和发展也获得越来越多的关注。汽车计价器是乘客 与司机双方的交
5、易准则,它是出租车行业发展的重要标志,是出租车种最重要的工具。她关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有应用价值的,尤其是对于出租车行业有着极其重要的意义。 4 3、设计任务 本设计是采用 AT89C51 单片机为主控器,以霍尔传感器测距,实现对出租车的多功能的计价设计,输出采用 8 段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据单程,返程和起步来调节单价,并实现了暂停和等待时间查询的功能。 4、设计 的目的和要求 目的:通过单片机课程设计,熟练掌握 c 语言的编程方法,将理论联系到实践中
6、去,提高我们的动脑和动手的能力。通过出租车计价器系统的设计,掌握单片机个资源的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。 基本要求: (1)能显示里程,单位为公里,最后一位为小数位。 (2)能显示金额数,单位为元,最后一位为小数位。 (3)可设定单程价格和往返价格,单程价格为 2 元 /公里,往返价格为 1.5 元 /公里。 (4)车速 5 公里 /小时的时间累积为总等待时间,每 5 分钟等待时间相当于里程数增加1 公里。 (5)起 步公里数为 3 公里,价格为 5 元,若实际距离大于 3 公里,按规则 3 计算价格。 (6)按暂停键,计价器可暂停计价,按查询键,可显示总等待时间
7、。 5 二 系统总体方案及硬件设计 1、系统总体方案 模拟计数器系统主要由 四 大模块组成:霍尔传感器、 AT89C51 单片机、独立键盘。 霍尔传感器安装在车轮的旁侧,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据价格等相关数据进行金额的计算,计算好的金额、里程都实时地显示在 数码管上。独立键盘可以调节价格等相关数据,按下相应的按钮,产生信号交由单片机处理并实时显示出来。总体方案结构图如下: 图 2.1 系统总体结构框图 2、霍尔传感器检测单元 属于开关型的霍尔器件,其工作电压范围比较宽( 4.5 18V
8、),其输出的信号符合 TTL电平标准,可以直接接到单片机的 IO 端口上,而且其最高检测频率可达到 1MHZ。 集成霍耳开关由稳压器 A、霍耳电势发生器 (即硅霍耳片 )B、差分放大器 C、施密特触发器 D 和 OC 门输出 E 五个基本部分组成。 在输入端输入电压 Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差 VH 输出,该 VH 信号经放大器放大后送至施密特触发器整形,使其成为方波输送到 OC 门输出。当施加的磁场达到工作点(即 Bop)时,触发器输出高电压(相对于地电位),使
9、三极管导通,此时 OC 门输出端输出低电压,三极管截止,使 OC 门输出高电压,脉冲输入 霍尔 传感器 调整 切换 计算输出 独立键盘 AT89C51单片机 数码管 显示电路 6 这种状态为关。这样两次电压变换,使霍尔开关完成了一次开关动作。 霍尔传感器原理如图 5 所示。 图 2.2 传感器测距示意图 里程计算是通过安装在车轮上的霍尔传感器检测到的脉冲信号,送到单片机产生中断,单片机再根据程序设定,计算出里程。其原理如图 2.4 所示。 本系统选择了将霍尔传感器的脉冲输出口接到 P3.3 口外部中断 1 作为信号的输入端(这样可以减少程序设计的麻烦),车轮每转一圈(设车轮的周长是 5 米),
10、霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数,当计数达到 200 次时,即 1 公里,单片机就控制将金额自动增加,如图 2.5(霍尔传感器)。 INT1001122*霍尔传感器VCCGND图 2.3 霍尔传感器 P3.2 霍尔传感器 小磁铁 AT89C51单片机 7 3、键盘调整单元 当单价等信息需要进行修改时,就要用到键盘进行修改。由于调节信息不多,故采用 4个独立键盘即可,分别实现清零、切换、增大、减小和功能等作用。电路原理如图所示。 图 2.4 键盘调整 模块 S1:接 P1.1 口, 实现路程和单价的切换。 S2:接 P1.2 口, 实现单程和往返程的切换。 S3:接 P1.
11、3 口, 实现清零功能(在按下查询总价键之后实现)。 S4:接 P1.4 口, 暂停功能。 S5:接 P1.5 口,对等待时间进行查询 。 S6: 接 P1.6 口, 查询总价。 S5S4S1S2S3GNDP11P12P13P14P15暂停切换 /增加减小功能查询8 三 软件设计 1、系统主程序 在主程序模块中,需要完成对各参量和接口的初始化、出租车起步价和单价的初始化以及中断、计算、循环等工作。另外,在主程序模块中还需要设置启动 /清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。 开 始初 始 化切
12、 换金 额 计 算结 束显 示清 零Y返 程 单 价N3.1 主程序流程图 当汽车运行起来时,就启动计价,根据里程寄存器中的内容计算和 判断行驶里程是否已超过起步价公里数。若已超过,则根据里程值、每公里的单价数和起步价数来计算出当前的总金额,并将结果存于总金额寄存器中;中途等待时,脉冲输入小于设定值时,当时间超过等待设定值时,开始进行计时,并把等待价格加到总金额里,然后将总金额、里程送数码管显示出来。程序流程如图所示。 9 2、中断程序 2.1、里程计数中断程序 每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满 1500 次时,进入里程计数中断服务程序中,里程变量
13、加一。主函数中总金额也相应地变化。在中途等待中断程序中 ,每 1ms 产生一次中断,将由当前里程计算出速度值送入某个缓存变量。把当前速度值与预先设定的速度值相比较,当小于设定的车速时,进入等待计时。等待时间 5 分钟相当于里程增加一公里。流程如图 3.4 所示: 图 3.2 中断流程 2.2、中途等待中断程序 在中途等待中断程序中,每 1ms 产生一次中断,将当前里程值送入某个缓存变量,每 5分钟将缓存变量中的值和当前里程值比较,当汽车 车速小于 5 公里 /小时 , 将存储器里面的值与实时测量的值比较 , 当行进的里程小于 5 公里每分钟时 ,则进入等待计时,每 5 分钟记一次价格。 中 断 开 始中 断 初 始 化a a = 2 5 ?脉 冲 计 数r o u n d + + d e n g d a i+ +结 束NY