简易出租车计价器
摘 要:介绍了一种以单片机为核心的多功能出租车计价器,该计价器采用单CPU结构,具有计量功能、掉电保护功能、语音功能等。文中阐述了系统的硬件及软件结构。
关键词:出租车计价器 单片机 多功能
第1节 引 言
汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。
电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。
随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。
现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。
1.1 出租车计价器概述
本电路以89S51 单片机为中心、附加A44E 霍尔传感器测距,实现对出租车计价统计,采用AT24C02 实现在系统掉电的时候保存单价和系统时间等信息,输出采用8 段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。
1.2 本设计任务 1.2.1 设计任务
- 1 -
简易出租车计价器设计
设计简易出租车计价器
1.2.2 课程设计目的
?微机原理与接口技术?是一门实践性和实用性都很强的课程,学习的目的在于应用。本课程设计是配合“微机原理与接口技术”课堂教学的一个重要的实践教学环节,它能其到巩固课堂和书本上所学知识,加强综合能力,提高系统设计水平,启发创新思想的效果。我们希望每个学生都能自己动手独立设计完成一个典型的微机应用小系统。
1.2.3 课程设计内容
㈠ 系统功能任务要求
1)自动记录(日、夜)单价、总额、里程、耗时 2)按十进制显示以上数据 3)全部采用LED显示 4)有语音播放提示 ㈡ 系统设计说明
1)可以自增系统功能
2)允许用MSC-51系列或8086系列 3)系统程序采用汇编或C语言编程 4)硬件原理图采用电子CAD绘制
1.3 系统主要功能
本课程设计所设计的出租车计价器的主要功能有:数据的复位、白天/晚上转换、数据输出、计时计价、单价输出及调整、路程输出、语音播报数据信息、实现在系统掉电的时候保存单价和系统时间等信息等功能。输出采用8 段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。
第2节 计价器硬件设计
本系统的硬件设计主要包括单片机AT89S51、数据显示部件、A44E霍尔传感器电路、AT24C02 掉电存储单元的设计、里程计算及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。
2.1 系统的硬件构成及功能
它由以下几个部件组成:单片机AT89S51、总金额及单价显示部件、键盘控制部件,AT24C02 掉电存储控制、里程计算单元、串中显示驱动电路等。
利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。具体电路参见“总体电路图”。
- 2 -
简易出租车计价器设计
键盘 控制 AT24CO2掉电存储 总金额 显示 单价 显示 89S51 单片机 里程计算单元 串口显示驱动电路 2.2 AT89S51单片机及其引脚说明
AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes
ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有很高性价比。
AT89S51是一个有40个引脚的芯片,引脚配置如下图所示。
AT89S51引脚配置
AT89S51芯片的40个引脚功能为:
- 3 -
简易出租车计价器设计
VCC 电源电压。 GND 接地。
RST 复位输入。当RST变为高电平并保持2个机器周期时,将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFR AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISKRTO位缺省为RESET输出高电平打开状态。
XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2 来自反向振荡放大器的输出。 P0口 一组8位漏极开路型双向I/O口。也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口 一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,P1接收低8位地址。P1口部分端口引脚及功能如表1所示。
表1 P1口特殊功能
P1口引脚 P1.5 P1.6 P1.7
特殊功能 MOSI(用于ISP编程) MOSI(用于ISP编程) SCK(用于ISP编程) P2口 一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口线上的内容在整个访问期间不改变。Flash编程和程序校验期间,P2亦接收低8位地址。
P3口 一个带内部上拉电阻的8位双向I/O口。P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写“1”时,它们被内部的上拉电阻把拉到高电并可作输入端口。作输入端口使用时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表2所示。P3口还接收一些用于Flash闪速存储器编程和程序校验期间的控制信号。
表2 P3口特殊功能
P3口引脚 特殊功能 - 4 -
简易出租车计价器设计
P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD(串行输入口) TXD(串行输出口) (外部中断0) (外部中断1) T0(定时器0外部输入) T1(定时器1外部输入) (外部数据存储器写选通) (外部数据存储器读选通) PSEN 程序储存允许输出是外部程序存储器的读先通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN/有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN/信号。
EA/VPP 外部访问允许。欲使CPU仅访问外部程序存储器,EA端必须保持低电平,需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。Flash存储器编程时,该引脚加上+12V的编程电压VPP。
2.3 AT24C02引脚图及其引脚功能
AT24C02芯片引脚配置如下图所示:
AT24C02引脚配置图
功能 AT24C02芯片DIP封装,共有8个引脚,下表是其引脚功能表: 引脚名 A0~A2 SDA/ SCL WP VCC/GND
地址引脚 连续数据信号/连续时钟信号 写保护引脚 电源端/接地端 WP接VSS时,禁止写入高位地址,WP接VDD时,允许写入任何地址;
2.3.1 AT24C02 掉电存储单元的设计
掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02是ATMEL 公司的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40 年以上,而且采用8脚的DIP封装,使用方便。其电路如下图:
- 5 -
简易出租车计价器设计