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

上传人:b****5 文档编号:12014203 上传时间:2023-04-16 格式:DOCX 页数:32 大小:578.78KB
下载 相关 举报
基于单片机的出租车计价器的设计.docx_第1页
第1页 / 共32页
基于单片机的出租车计价器的设计.docx_第2页
第2页 / 共32页
基于单片机的出租车计价器的设计.docx_第3页
第3页 / 共32页
基于单片机的出租车计价器的设计.docx_第4页
第4页 / 共32页
基于单片机的出租车计价器的设计.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

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

《基于单片机的出租车计价器的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的出租车计价器的设计.docx(32页珍藏版)》请在冰豆网上搜索。

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

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

摘要

随着经济的发展,以及城市的发展,带动了出租车行业的快速发展,使出租车成为我们日常生活中不可缺少的交通工具,了解和研究出租车上应用的计费原理及计费系统,对我们日常生活也有帮助。

而使用单片机实现出租车计价系统,是学习和深化单片机应用的较好途径。

本系统将会提高我们用C语言编写程序的能力、对C语言的实际应用有更深的了解,单片机应用系统设计综合能力的训练、培养我们分析问题和解决问题的能力。

对我们以后的工作招聘以及参加工作均有一定的帮助。

本设计的是一个基于单片机STC89C52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。

复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。

时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。

在上电时字符型液晶1602显示最初的起步价,里程收费,等待时间收费三种收费,通过按键可以调整起步价,里程收费,等待时间收费。

通过按键模拟出租车的运行,暂停,停止。

在1602液晶上可以显示运行的时间,运行时暂停的时间,通过计算可以得出总共的费用和总的路程。

【关键词】STC89C521602液晶出租车计费器

基于单片机的计程车计价器设计

1绪论

1.1研究背景

出租车行业在我国是八十年代初兴起的一项新兴行业,近年来在国内各大城市都发展很快,现在出租车杀过使用的计价器只具备单一的计量功能。

现在我国生产计价器的企业有很多家,主要是集中在北京,上海,广州等发达地方。

我国的第一家生产计价器企业是重庆市起重机厂,最早的计价器全部采用机械齿轮结构,只能完成简单的计程功能,可以说早期的计价器就是一个简单的里程表。

只会显示出租车行驶了多长的距离,而无法准确或者人性化的显示更多的其他信息。

随着电子信息技术的发展,产生了第二代计价器。

它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化。

使它在计程的同时还可以完成计价的工作。

后来,大规模集成电路的发展又催生了第三代计价器,也就是全电子化的计价器。

当单片机出现并应用于出租车计价器后,现代出租车计价器的模型也就初步形成了,它可以实现计程,计价,显示,语音播报等基本功能。

随着我国国民经济的高速发展,人民生活水平的日益提高,城市的交通日趋完善,出租汽车已成为城市公共交通的不可分割的重要组成部分,出租车计价器是出租车上必不可少的重要仪器,它是负责出租车营运收费的专用智能化仪表,能根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并直接显示车费值的重要器具。

1.2研究意义

采用单片机芯片做的出租车计价器,相对来说功能较强大,用较少的硬件和灵活的软件编程相互配合就能容易的实现设计要求,且灵活性强,可以使用软件编程来实现更多的附加功能,本设计采用STC89C52单片机,附加按键,实现对出租车的多功能的计价设计,输出采用1602LCD液晶显示屏,此设计不仅能实现基本的计价功能,而且还可以根据里程手动修改单价,通过软件实现白天和晚上计价之分,车辆行驶里程通过按键来模拟实现。

要将出租车计价系统产品化,应该根据不同的需求进行相应的设计,为了使其对我们生活带来更多的方便,因此研究基于单片机的出租车计价器是有很现实的意义。

1.3研究内容

1.3.1系统的主要功能

本出租车自动计费,上电后显示最初的起步价,里程计费单价,等待时间,通过按键可以调节起步价,里程计费单价,等待时间计费单价。

同时具有运行,暂停,停止等状态,可以显示运行里程,同时可以显示等待的时间,具有累加功能,暂停和运行时间在暂停和运行前一次的状态上计时。

出租车停止后能够显示行驶的总费用。

1.3.2方案论证与比较

方案一:

采用数字电子技术,利用555定时芯片构成多谐振荡器,或采用外围的晶振电路作为时钟脉冲信号,采用计数芯片对脉冲尽心脉冲的计数和分频,最后通过译码电路对数据进行译码,将译码所得的数据送给数码管显示,以下是该方案的流程框图,方案一如图1-1所示:

 

图1-1方案一

方案二:

采用EDA技术,根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块计量模块、译码和动态扫描显示模块,其系统框图如图1-2所示:

时钟信号

等待信号

公里脉冲

计费/复位

分频器

控制器

计费

计时

计程

 

译码

显示

 

图1-2方案二

方案三:

采用MCU技术,通过单片机作为主控器,利用1602字符液晶作为显示电路,采用外部晶振作为时钟脉冲,通过按键可以方便调节,以下是方案三的系统流程图。

方案图如图1-3所示:

 

STC89C52

1602液晶

LED灯

电源电路

按键电路

复位电路

 

图1-3方案三

方案总结:

通过各个方案的比较,本次采用方案三,不但控制简单,而且成本低廉,设计电路简单。

方案三解读:

出租车计价器在有乘客上车,司机启动计价器,出租车司机开始可以手动调节运营模式,系统通过按键识别当前运营模式,分辨白天\晚上,调节起步价及单价,计价器开始计价,显示时间、里程、金额等信息。

另外,在遇到交通堵塞或等候红等低速行驶时,实行等候计时收费。

当达到目的地,显示计程计费和计时计费的总价。

2系统总体设计

2.1硬件设计

硬件由以下五个部件组成硬件设计主要包括单片机STC89C52、存储单元的设计、振荡电路、复位电路、显示电路、按键电路以及供电电路等。

在硬件设计过程中,首先要弄清楚各部件的功能,各个引脚的作用,以及如何将各硬件连接组合到一起。

充分利用各部件的功能,实现多功能的出租车计价器设计。

2.2软件设计

在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。

另外,在主程序模块中还需要设置启动/清除标志寄存器、路程寄存器和价格寄存器,并对它们进行初始化。

然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程、计时和计价等不同的操作启动计价,将根据里程寄存器中的内容计算和判断出行驶路程是否已超过起价公里数。

若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。

当到达目的地的时候,由于霍尔开关没有送来脉冲信号,停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。

 

3硬件设计

3.1STC89C52单片机介绍

STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52有更加优越的性能。

3.2单片机各引脚功能说明

 

图3-1STC89C52引脚图

下面对STC89C52各引脚的功能进行较为详细的介绍:

(1)电源引脚

VCC(40脚):

电源端为+5VGND(20脚):

接地端。

(2)时钟电路引脚XTAL1和XTAL2

XTAL2(18脚):

接外部晶体和微调电容的一端。

在单片机内部它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。

若需采用外部时针电路时,该引脚输入外时钟脉冲。

要检查89C52的振荡电路是否正常工作,可用示波器查看XTAL2端是否有脉冲信号输出。

XTAL1(19脚):

接外部晶体和微调电容的另一端。

在片内,它是振荡电路反向放大器的输入端。

在采用外部时钟时,该引脚必须接地。

(3)控制信号脚RSTALEPSEN和EA。

RST(9脚):

RST是复位信号输入端,高电平有效。

在此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。

ALE/PROG(30引脚):

地址锁存允许信号端。

当STC89C52上电正常工作后,ALE引脚不断向外输出正脉冲信号。

此频率为振荡器频率fosc的1/6,当CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。

在CPU访问片外数据存储时,每取值一次(一个机器周期)会丢失一个脉冲。

平时不访问片外存储时,ALE端也以1/6的振荡频率固定输出正脉冲,因而ALE信号可以用作对外输出时钟或定时信号。

如果你想看一下STC89C52芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出,如有脉冲信号输出,则STC89C52基本上是好的。

ALE的负载驱动能力为8个LS型TTL(低功耗高速TTL)。

PSEN(29脚);程序存储允许输出信号引脚,在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。

此引脚接ERROM的OE端。

PSEN端有效,即允许读出ERROM/ROM中的指令码。

CPU在从外部ERROM/ROM取指令期间,每个周期PSEN两次有效。

不过,在访问片外RAM时,要少产生两次PSEN负脉冲信号。

要检查一个STC89C52小系统上电后CPU能否正常到ERROM/ROM中读取指令码,也可用于示波器看PSEN端有无脉冲输出。

如有,说明基本上工作正常。

EA/VPP(31脚):

外部程序存储器地址允许输入端/固化编程电压输入端。

当EA引脚接高电平时,CPU只访问片内ERROM/ROM并执行内部程序存储器中的指令。

但在PC(程序计数器)的值超过OFFFH(对8751/8051为4k)时,将自动转向执行片外存储器的程序。

当出入信号EA引脚接低电平(接地)时,CPU只访问外部ERROM/ROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。

对于无芯片内的ROM的8031或8032,须外扩ERROM,此时必须将EA引脚接地。

如果使用有片内ROM的STC89C52,外扩ERROM也是可以的,但也要使EA接地。

(4)I/O(输入/输出端口,P0,P1,P2,P3)

P0口:

P0口是一个漏极开路的8位准双向I/O端口。

P1口:

8位准双向I/O端口。

P2口:

即可以做地址总线输出地址高8位,也可以做普通I/O用,(此时为准双向口)。

P3口:

双功能口,即可以做普通I/O口用(此时为准向口,也可以按每位定义实现第二功能操作)。

见表3.1

表3.1P3口的第二功能表

引脚

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

INT0(外部中断0)

P3.3

INT1(外部中断1)

P3.4

T0(定时器0外部中断)

P3.5

T1(定时器1外部中断)

P3.6

WR(外部存储器写选通)

P3.7

RD(外部存储器读写通)

3.3振荡电路设计

单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。

通过这两个引脚在芯片外并接石英晶体振荡器和两只电容(电容和一般取20pF)。

这样就构成一个稳定的自激振荡器。

振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生ALE信号,此时得到的信号时机器周期信号。

振荡电路如图3-2所示:

图3-2振荡电路

3.4复位电路设计

复位操作有两种基本形式:

一种是上电复位,另一种是按键复位。

按键复位具有上电复位功能外,若要复位,只要按图中的RESET键,电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。

上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。

上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。

RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。

按键复位电路图如图3-3所示。

图3-3复位电路

3.5键盘接口电路设计

独立式键盘:

独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立。

I/O口通过按键与地相连,I/O口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚电平被拉低。

I/O口内部有上拉电阻时,外部可不接上拉电阻。

键盘接口电路如图3-4所示:

图3-4键盘接口电路

3.6显示电路设计

3.6.11602LCD的基本参数及引脚功能

1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图3-5所示。

图3-5LM016L结构图

LCD1602主要技术参数:

 

容量:

16×2个字符

芯片工作电压:

4.5—5.5V

工作电流:

2.0mA(5.0V)

模块最佳工作电压:

5.0V

字符尺寸:

2.95×4.35(W×H)mm

引脚功能说明:

表3.2引脚接口说明表

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

数据

2

VDD

电源正极

10

D3

数据

3

VL

液晶显示偏压

11

D4

数据

4

RS

数据/命令选择

12

D5

数据

5

R/W

读/写选择

13

D6

数据

6

E

使能信号

14

D7

数据

7

D0

数据

15

BLA

背光源正极

8

D1

数据

16

BLK

背光源负极

1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3.2所示:

第1脚:

VSS为地电源。

第2脚:

VDD接5V正电源。

第3脚:

VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:

R/W为读写信号线,高电平时进行读操作,低电平时进行写操

作。

当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。

第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:

D0~D7为8位双向数据线。

第15脚:

背光源正极。

第16脚:

背光源负极。

3.6.2显示模块采用1602液晶显示接口电路

 

图3-6显示电路

4软件设计

4.1单片机资源使用

在本次设计中电路键盘用到了P2口,其中P2.0到P2.5口作为键盘的输入,显示电路用到了P1和P3口,P1口为液晶的数据口。

4.2单片机软件模块设计

4.2.1中断子函数

对于中断程序,只要定时器计数满就会产生中断50ms中断一次,共计20次,秒钟加1,秒钟计满再分钟加,当分钟加到99时全部清零。

以下是中断子函数的流程图如图4-1所示:

 

图4-1中断子程序流程图

4.2.2判键子函数

对于独立式键盘判键,首先看有键按下不,如果有键按下则延时一会儿,在判断是否真的有键按下,如果确实有键按下,再判键释放,最后执行键功能程序。

判键子函数的流程框图如图4-2所示:

 

开始

延时去抖动

是否按键

判断键释放

执行键功能程序

结束

图4-2判键子程序流程图

4.2.3显示子程序

1602液晶是字符型液晶,它的内部自带字符库,它可以写两行的字符,同时每行可以写40个字符,在写显示程序的时候,我们先写命令,再设定字符显示,最后写数据,在每写一次命令或数据都需要判断液晶是否忙。

液晶显示程序流程图如图4-3所示:

 

 

图4-3显示子程序流

首先是LCD的初始化,初始化完成后对LCD进行写命令,如果系统发现LCD忙,则继续进行判断是否忙,如果系统不忙,则写入命令,如果命令未写完成则继续写命令,写命令完成后进行字符设置,然后写入数据,完成数据的写入之后再判断LCD是否处于忙的状态,如果判断未忙的状态后继续进行判断,如果不忙,则写入数据响应成功后进行显示。

4.3总程序流程框图

整体程序的流程框图如图4-4所示:

 

图4-4整体程序的流程框图

4.4.使用软件proteus的介绍

Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件,它组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。

此系统受益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—“TheRoutetoPCBCAD”Proteus产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。

用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。

其功能模块:

—个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真;ARESPCB设计。

PROSPICE仿真器的一个扩展PROTEUSVSM便于包括所有相关的器件的基于微处理器设计的协同仿真。

此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型。

支持许多通用的微控制器,如PIC,AVR,HC11以及8051。

最新支持ARM。

交互的装置模型包括:

LED和LCD显示,RS232终端,通用键盘,I2C,SPI器件。

强大的调试工具,包括寄存器和存储器,断点和单步模式。

IARC-SPY和KeiluVision2等开发工具的源层调试。

应用特殊模型的DLL界面-提供有关元件库的全部文件。

5系统测试

5.1计价器模式测试

完成设计之后上电,按系统电源启动按键,设备显示屏显示初始化状态,屏幕上显示运行里程,等待时间(00:

00:

00),出租车起步价(010.0元),超过起步里程数(3公里)后的每公里单价(1.4元)。

计价器分为2种模式,白天模式和夜晚模式,使用按键选定相应模式后,LCD显示屏上将显示夜晚模式时设定的参数,使用按键进行运行里程和等待时间的模仿,等待时间按钮每按一次等待时间增加1分钟,里程按键每按一次里程数增加0.1公里。

进行测试,计价器可以准确的显示计价金额及里程数等相应信息。

系统初始状态测试如图5-1所示:

图5-1系统初始状态

系统等待时间测试如图5-2所示:

图5-2系统等待时间测试

系统运行里程测试如图5-3所示:

图5-3系统运行里程测试

可以从图5.3看出,当模拟出租车运行1公里后,出租车的计价器金额变成11.4,符合我们当初设计要求,可以精确的进行计价。

5.2计价器计价参数测试

启动设备进入系统后,分别选择白天和夜晚模式后进行基本参数的设定测试,例如白天参数设定为兰州出租车现在执行标准,起步价3公里10元,超过3公里每公里1.4元,夜晚参数设定为起步价3公里10元,超过3公里每公里1.6元。

对系统完成参数设定后,我们分别用白天模式和夜晚模式进行测试。

测试完毕后我们会看到系统可以准确的显示计价金额及里程数等相应信息。

所以次计价器的计价参数配置正确。

5.3计价器稳定性测试

启动设备进入系统,长时间运行设备,设备运行情况良好,再不停的进行按键压力测试,设备运行情况良好。

通过以上各种测试,可以得出结论,此款基于单片机的出租车计价器的性能稳定,易于操作和使用。

但有些方面还可以进一步扩展,以后会进行进一步的改进,使其更加完美。

 

总结

出租车计费器系统的设计和测试已经全部完成,能按预期的效果进行实现特定功能,并能够通过LCD显示车费金额。

本款出租车计价器包括单价输出、单价调整、以及白天和晚上运营模式之分。

另外,多功能出租车计价器还具有性能可靠、电路简单、成本低、实用性强等特点,加上经过优化的程序,使其有很高的智能化水平。

几个月来,经过自己努力和老师同学的帮助,基本上完成了设计要求的内容,在系统可行性分析、原理图设计等方面都作了许多实际工作,取得了一些成绩,同时也遇到了一些问题,存在一些不足。

经过这几个月的学习和工作,我觉得自己不论是在理论知识方面还是在动手能力方面都有了不小的进步,自己从中受益匪浅。

这次设计很好的把以前学到的理论知识应用于实践,使我认识到理论知识与实践之间有一定的差距,只有通过不断的努力学习和实践才能很好的把理论知识应用到实践当中,也只有通过不断的实践才能对理论知识的理解。

通过这次设计不仅学会了如何去查找相关资料,更重要的是通过查找资料和翻阅书籍学到了不少知识,扩大了知识面,提高了知识水平。

经过单元设计和系统设计巩固了以前所学的专业知识,自己真正认识到理论联系实际的重要性,为以后的学习和工作提供了很多有价值的经验。

通过这次设计不仅增强了自己的动脑能力和动手能力,也提高了我思考问题、分析问题、解决问题的能力,更重要的是学会用工程化的思想来解决问题。

这在以前的学习过程中是不曾学到的。

在短短的三个月时间内完成设计内容,在很大程度上得益于王老师的帮助。

这次设计是我认真认识到完整、严谨、科学分析问题、解决问题的思想是多么的重要,只有拥有了科学的态度才能设计出有用的产品。

另外通过本次设计,是我认识到自己理论知识的应用能力有很大的欠缺,需要在以后的学习中进一步提高。

 

参考文献

[1]李广弟,朱月秀,冷祖祁.单片机基础[M].第3版.北京航空航天大学出版社,2007年1月

[2]李华.MCS-51系列单片机实用接口技术[M].北京航空航天大学出版社,1996

[3]马忠梅,张凯,马岩,单片机的C语言应用程序设计,[M],北京:

北京航空航天大学出版社,2003年11月;

[4]胡辉,单片机原理及应用设计—21世纪高等院校规划教材[M],水利水电出版社,2005.7;

[5]刘守义,单片机应用技术[M],西安:

西安电子科技大学出版社,1996年8月;

[6]JeanJ.Labrosse(美),著,邵贝贝等译,嵌入式实时操作系统[M],UC/OS-II(第2版)

[7]杨宁王吴田蔚风等.高精度飞轮控制系统方案分析研究[J].航天控制,2004,22(3):

50一53.

[8]彭为,黄科,雷道仲.单片机典型系统设计实例精讲[M].北京:

电子工业出版社.2007年

[9]李学礼.基于Proteus的8051单片机实例教程[M].北京:

电子工业出版社,2008年

[10]陈伯时.电力拖动自动控制系统[M].北京:

机械工业出版社,2003:

103—107。

[11]张毅刚彭喜元.MCS-51单片机应用设计[M].哈尔滨工业大学出版社.2003年

[12]周航慈.单片机应用程序设计技术[M].北京航空航天大学出版社,2002(11)

[13]徐爱钧.单片机原理实用教程—基于Proteus虚拟仿真[M].北京:

电子工业出版社.2009年

[14]TexasInstrumentsIncorporatedTMS320c54xDSP[J].BI0SUsersGuideSPRU326C,2000年5月.

[15]刘涳主编.毕业设计宝典.西安:

西安电子科技大学出版社.2008年

附录1元件清单

表8-1元器件清单

名称

规格

数量

备注

电阻

200

1个

1K

1个

10K

5个

100

2个

电容

20pF

2个

10μF

2个

极性电容

发光二极管

3个

按键

7个

直流电机

1个

晶振

12MHz

1个

芯片

STC89C52

1块

1602液晶

1块

内带字符库

附录2原理图

附录3单片机程序

#include

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1