搜档网
当前位置:搜档网 › 基于单片机的出租车计价器设计

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

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

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

摘要

出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有应用价值的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。数据信息一目了然,并且即使是成品也可以方便的修改使用界面,更可根据不同的公司客户使用不同的界面。

该课题主要设计一款计价器,实现对出租车计价统计,采用时钟芯片DS1302实现在系统掉电的时候保存单价和系统时间等信息,输出采用8段数码显示管。本课题设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价。同时在不计价的时候还能作为时钟为司机同志提供方便。

关键词:出租车计价器;多功能;AT89C52;软硬件设计

The Design Of T aximeter Based On MCU

Abstract

Taxi meter is the trading of both passengers and driver standards, it is an important indicator in taxi industry ,and it is the most important tool of a taxi.It relates to the interests of both transactions.Good performance of the meter, whether the vast number of friends and passengers, taxi drivers are very necessary.A good performance of the meter is very necessary to passengers and taxi drivers.Therefore, the research to taxi meter is very valuable.The design of the meter by the analog circuit and digital circuit have a larger scale,using a lot of device , resulting in high failure rate, difficult to debug, the mode switch need to use mechanical switches, mechanical switches over time will cause poor contact, function is not easy to achieve.The use of MCU design and relatively powerful, with less hardware and appropriate software can be easily complement each other to achieve the design requirements, and flexibility, can be programmed through software to perform additional functionality.Billing model for the switch can be easily programmed through the software.Avoiding the instability caused by mechanical switches.Data information can be understand at a glance, and even the finished product can easily modify the user interface, but also according to different customers using different interfaces.

In the paper we designed a taxi meter realize of a meter taxi valuation statistics, using the system clock chip DS1302 achieved when the power-down unit and the system saved time and other information, the output 8-segment digital display tube. The subject of the meter design can not only realize the basic valuation, but also according to day and night, halfway to wait to adjust the unit price. While not denominated as the clock for the driver when the comrades can facilitate.

Keywords:taximeter;multifunction;AT89C52;software/hardware des ign

目录

引言 ............................................................................................................................... - 0 - 第1章绪论 ......................................................................................................................... - 1 - 1.1 出租车计价器的意义 ................................................................................................... - 1 - 1.2 出租车计价器的发展历程 ........................................................................................... - 1 - 1.3 本课题研究现状 ........................................................................................................... - 1 - 1.4 论文的研究内容 ........................................................................................................... - 1 - 第2章系统总体设计......................................................................................................... - 2 - 第3章系统的硬件设计..................................................................................................... - 5 - 3.1 单片机功能介绍 ............................................................................................................ - 5 -

3.1.1 主要功能特性 ................................................................................................... - 6 -

3.1.2 引脚功能说明 ................................................................................................... - 6 -

3.1.3时钟电路及复位电路 ...................................................................................... - 12 -

3.1.4 单片机时序 ..................................................................................................... - 14 - 3.2 存储控制模块设计 ..................................................................................................... - 15 - 3.3 里程计算、计价单元的设计 ..................................................................................... - 19 - 3.4 显示单元设计 ............................................................................................................. - 20 - 3.5 键盘电路设计 ............................................................................................................. - 22 - 第4章系统的软件设计................................................................................................... - 23 -

4.1 主程序模块 ................................................................................................................. - 23 - 4.2 时钟程序、掉电存储程序模块 ................................................................................. - 24 - 4.3 里程计数中断服务程序 ............................................................................................. - 25 - 4.4中途等待服务程序 ...................................................................................................... - 25 - 结论与展望 ......................................................................................................................... - 28 - 致谢 ............................................................................................................................. - 29 - 参考文献 ............................................................................................................................. - 30 - 附录A总原理图 ............................................................................................................. - 31 - 附录B 外文文献及其翻译 ............................................................................................. - 32 - 附录C主要参考文献的题录及摘要 ............................................................................. - 37 - 附录 D 主要原程序......................................................................................................... - 39 -

插图清单

图2-1 数字电路方案 .......................................................................................................................... - 3 - 图2-2 单片机控制方案...................................................................................................................... - 4 - 图3-1AT89C52 引脚图 ..................................................................................................................... - 6 - 图3-2 AT89C52振荡电路.............................................................................................................. - 13 - 图3-3复位电路图.............................................................................................................................. - 13 - 图3-4 片外RAM读/写时序 ........................................................................................................... - 14 - 图3-5DS1302的外部引脚分配 .................................................................................................... - 15 - 图3-6DS1302的内部结构.............................................................................................................. - 16 - 图3-7 控制字示意图 ........................................................................................................ - 18 -图3-8 数据读写时序 ........................................................................................................................ - 18 - 图3-9 DS1302电路原理图............................................................................................................. - 19 - 图3-10 传感器测距示意图.............................................................................................................. - 19 - 图3-11 集成开关型霍耳传感器原理图 ....................................................................................... - 20 - 图3-12 集成霍耳开关外形及接线................................................................................................ - 20 - 图3-13 LED数码管的分屏显示示意图 ........................................................................................ - 21 - 图3-14 74HC164引脚配置图 ........................................................................................................ - 22 - 图3-15 按键电路接线图 .................................................................................................................. - 23 - 图4-1 主程序流程图......................................................................................................................... - 24 - 图4-2 DS1302工作流程图............................................................................................................... - 26 - 图4-3 里程计数中断流程图 ........................................................................................................... - 27 - 图4-4 中途等待计价流程图 ........................................................................................................... - 27 -

表格清单

表3-1P1端口第二功能 ..................................................................................................................... - 7 - 表3-2P3端口第二功能 ..................................................................................................................... - 7 - 表3-3DS1302有关日历、时间的寄存器 .................................................................................. - 16 - 表3-4DS1302静态RAM的地址................................................................................................. - 17 - 表3-5 DS1302突发模式寄存器...................................................................................................... - 17 - 表3-674HC164引脚功能说明 ...................................................................................................... - 22 -

引言

随着生活水平的提高,人们已不在满足于衣食住行的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但总是存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。

我国在70年代开始出现出租车,但那时的计费系统大都是国外进口,不但不够准确,价格还十分昂贵。但随着改革的日益深入,出租车行业的发展势头已十分突出。出租车计价器的功能从刚开始的只显路程,到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。

现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。

汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有应用价值的。

采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合就可以实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。

第1章绪论

1.1 出租车计价器的意义

出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有应用价值的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。数据信息一目了然,并且即使是成品也可以方便的修改使用界面,更可根据不同的公司客户使用不同的界面。

1.2 出租车计价器的发展历程

我国在70年代开始出现出租车,但那时的计费系统大都是国外进口,不但不够准确,价格还十分昂贵。但随着改革的日益深入,出租车行业的发展势头已十分突出。出租车计价器的功能从刚开始的只显路程,到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。

国内出租车计价器已经经历了 4 个阶段的发展。从传统的全部由机械元器件组成的机械式,到DS1302 时钟电路、ISD2560 语音半电子式即用电子线路代替部分机械元器件的出租车计价器;再从集成电路式到目前的单片机系统设计的出租车计价器。

1.3 本课题研究现状

目前市场上出租车计价器主要还是由传统的全部由机械元器件组成的机械式和由DS1302 时钟电路、ISD2560 语音半电子式即用电子线路代替部分机械元器件的出租车计价器。其功能主要有具有数据的复位功能、白天、晚上转换功能、数据输出功能、计时计价功能等等。

随着单片机技术的发展和普及,由单片机所构成的出租车计价器必将逐步占领市场,并且功能会越来越强大,就目前而言,单片机控制的出租车计价器系统主要具有计量、显示等功能。少数城市的出租车计价器则已经具有语音、打印等更高级的功能,同时电路越来越简单,成本也越来越低,编程调试和系统升级也越来越方便,系统也越来越可靠。在不久的将来,具有上述优点的出租车计价器必将得到进一步的普及。

1.4 论文的研究内容

该系统由以下几个部件组成:单片机AT89C52、键盘控制部件、存储控制部件DS1302、里程计算单元A44E、数码显示单元等。利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。

当车子启动,计价开关闭合,由霍尔传感器A44E检测到的脉冲信号,经过处理送到单片机里程寄存器中进行计算,判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,再将时间和当前累计价格送LED显示电路显示出来。显示系统采用由移位

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

论文的总体结构:

第1章:概述出租车计价器的发展历程,剖析其研究现状,引出本论文的研究内容。

第2章:首先综述了几种设计方案,然后提出一种基于单片机芯片AT89C52的出租车计价器的方案,分析计价器的设计原理与实现方法。

第3章:详细阐述系统各个模块的设计,本章是全文的重点,包括存储控制模块,里程计算单元电路,键盘输入,LED输出显示电路的设计等。

第4章:对系统采用的控制算法进行研究,并简要阐述软件流程图。

第2章系统总体设计

方案一:采用数字电路控制。其原理方框图如图2-1所示。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。

图2-1 数字电路方案

方案二:采用单片机控制。利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。通常采用MCS - 51 芯片,在EEPROM 中预先已写入了有关程序和数据的信息,如基本距离、续程距离、候时时间的规定值,与收费标准规定相应的收费价格值,不同出租条件下收费的变化比率,附加车费值计费方式等数据和与收费办法相应的车费计算与控制程序等。计价器的原理结构如图2-2 所示。

图2-2 单片机控制方案

通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求而且相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。数据信息一目了然,并且即使是成品也可以方便的修改使用界面,更可根据不同的公司客户使用不同的界面。

本设计中采用DS1302实现在系统掉电的时候保存单价和系统时间等信息,输出采用8段数码显示管。所设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价。同时在不计价的时候还能作为时钟为司机同志提供方便。

本课题所设计的系统由以下几个部件组成:单片机AT89C52、键盘控制部件、存储控制部件、里程计算单元、数码显示单元等。

第3章系统的硬件设计

3.1 单片机功能介绍

本课题采用ATMEL公司的AT89C52单片机作为控制系统的核心。AT89C52是一个低功耗、高性能CMOS 8位单片机,引脚图如图3-1所示。

图3-1AT89C52 引脚图

3.1.1 主要功能特性

● 兼容MCS-51指令系统

● 32个双向I/O口

● 3个16位可编程定时/计数器

● 全双工UART串行中断口线

● 2个外部中断源

● 中断唤醒省电模式

● 看门狗(WDT)电路

● 灵活的ISP字节和分页编程

● 8k可反复摖写(>1000次)ISP Flash ROM

● 4.5-5.5V工作电压

● 时钟频率0-33MHz

● 256×8bit内部RAM

● 低功耗空闲和省电模式

● 3级加密位

● 软件设置空闲和省电功能

● 双数据寄存器指针

AT89C52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其他功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP、和PLCC三种封装式,以适应不同产品的需求。

3.1.2 引脚功能说明

(1)主电源引脚

VCC:+5V电源端

GND:接地端

(2)输入/输出引脚

P0端口(P0.0~P0.7):P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0可用作多路复用的低字节地址/数据总线。在这种模式下,P0具有内部上拉电阻。在对flash存储器行编程时,P0口用于接收指令字节;在程序校验时,输出指令字节;这时需要外部上拉电阻。

P1端口(P1.0~P1.7):P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作输为入使用时,被输入信号拉低的引脚由于内部上拉电阻的原因,将输出电流IIL。此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3-1所示。在flash编程和校验时,P1口接收低8位地址字节。

4个TTL逻辑平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,输入信号拉低的引脚由于内部上拉电阻的原因,将输出电流IIL。在访问外部程序存储器或用16位地读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3端口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电基于单片机控制的直流恒流源的设计对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被输入信号拉低的引脚由于内部上拉电阻的原因,将输出电流IIL。P3口亦作为AT89C52特殊功能(第二功能)使用,如表3-2所示。在flash编程和校验时,P3口也接收一些控制信号。

表3-2P3端口第二功能

RST:复位输入端。晶振工作时,RST引脚的输入高电平有2个机器周期就会对单片机复位。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。

ALE/:地址锁存控制信号。存取外部程序存储器时,这个输出信号用于锁存低8位地址。在对flash存储器编程时,此引脚也用

作编程输入脉冲。在一般情况下,ALE以晶

振六分之一的固定频率输出脉冲,可用作外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,会跳过一个ALE脉冲。在需要时,可以将地址为8EH的SFR寄存器的第0位置为“1”,从而屏蔽ALE的工作。而只有在MOVX或MOVC指令执行时ALE才被激活。在单片机处于外部执行方式时,对ALE屏蔽位置“1”并不起作用。

:外部程序存储器选通信号。当AT89C52从外部程序存储器执行外部代码时,在每个机

器周期被激活两次,而在访问外部数据存储器时,

的两次激活会被跳过。

/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,

必须接GND。为了执行内部程序指令,

应该接VCC。在flash编程期间,EA也接收12伏VPP电压。

(4)振荡器引脚

XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:振荡器反相放大器的输出端。

3.1.3时钟电路及复位电路

AT89C52中有一个构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路如图3.2左图所示[7]。

外接石英晶体(或陶瓷谐振器)及电容C1,C2接在放大器的反馈回路中构成并联振荡电路。对外电容C1,C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作稳定性、起振的难易程度及温度的稳定性。如果使用石英晶体,电容使用30pF士l0pF,如果使用陶瓷谐振器,电容使用40pF士l0pF。

用户也可以使用外部时钟。采用外部时钟的电路如图3-2右图所示。在这种情况下,外部时钟脉接到XTAL1端,即内部时钟发生器的输入端,XTAL2端悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空没有特殊要求,但最小高电平持续时间和最大低电平持续时间应符合产品技术条件的额定要求。

本课题用到的晶振频率为12MHz。

本课题所用的时钟电路如图3-2左图所示。

a)内部振荡电路b)外部振荡电路

图3-2 AT89C52振荡电路

复位是单片机的初始化操作。其主要功能是将程序计数器PC初始化为0000H,使单片机从0000H单元开始执行程序。

在运行中,外界干扰等因素可使单片机的程序陷入死循环状态或跑飞。为摆脱困境,可将单片机复位,以重新启动。

复位也使单片机退出低功耗工作方式而进入正常工作状态。

RST引脚是复位信号的输入端,高电平有效。其有效时间应持续24个振荡周期(即两个机器周期)以上。振荡周期就是晶振的振荡周期。

a)传统复位电路b)改进复位电路

图3-3复位电路图

从原理上讲,一般采用上电复位电路。这种电路的工作原理是:通电时,电容两端相当于时短路,于是RESET引脚上为高电平,然后电源通过电阻对电容充电,RESET

相关主题