基于单片机的出租车计价器设计附源程序.docx

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

基于单片机的出租车计价器设计附源程序.docx

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

基于单片机的出租车计价器设计附源程序.docx

基于单片机的出租车计价器设计附源程序

基于单片机的出租车计价器设计(附源程序)

基于单片机的出租车计价器设计(附源程序)

摘要

 

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

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

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

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

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

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

在这里主要是以AT89S52单片机为核心控制器,P0口接1602液晶显示模块,P1口接按键的,通过按键输入。

关键字AT89S52;1602液晶;出租车计费器

 

ABSTRACT

 

ThedesignisbasedonamonolithicintegratedcircuitAT89S52taxibillingdesign,withresetcircuit,clockingcircuit,keyboardcircuit.Resetcircuitisinitialized,besidesthenormaloperationoftheinitialdilemma,asaforeigner,throughtheresetcircuitcanstartagain.12MHzadoptstheclockcircuit,asasystemofcrystaloscillator,higherclocksource.

Thecharactersinthecrystalthattheinitial1602,charges,feesmileagewaitingtime,threebuttonscanbeadjustedbychargingfees,justwaitingtime,mileage.Throughthesimulationofthetaxi,buttons,stop.SuspensionIntheliquidcrystaldisplaycanrun1602,operationtime,whensuspensioncanbeobtainedbythecomputationofthetotalcost.hereismainlyforthecorecontroller,AT89S52SCMP0mouthafter1602LCDmodule,P1mouthafterthekeys,throughthekeystroke.

1课程设计任务书

 

1.1课程设计任务

设计一个出租车自动计费器,计费包括起步价、行车里程计费、等待时间计费三部分,用1602液晶显示总金额,运行时间,暂停时间,最大值为99.9元,起步价为5.0元,3Km之内起步价计费,超过3Km,设速度为100m/s,10s增加1.3元(即1KM增加1.3元),等待时间单价为每分钟1.5元,用液晶显示总里程,同时用液晶显示等待时间和运行花费时间。

设计要求:

一、计费功能

费用的计算是按行驶里程收费。

设起步价为5.00元。

1、当里程<3km时,按起价计算费用

2、当里程>3km时,每公里按1.3元计费

3、等待累计时间>2min时,按1.5元/min计费

二、显示功能

1、显示行驶里程:

用四位数字显示,显示方式为“XXXX”,单位为km。

计程范围0-99km,精确到1km。

2、显示等候时间:

用两位数字显示,显示方式为“XX”,单位为min。

计时范围0-59min,精确到1min。

3、显示总费用:

用四位数字显示,显示方式为“XXX.X”,单位为元。

计价范围0-999.9元,精确到0.1元。

1.2功能要求

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

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

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

1.3课程设计方案

方案一:

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

 

图1.1方案一

案二:

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

图1.2方案二

方案三:

采用MCU技术,通过单片机作为主控器,利用1602字符液晶作为显示电路,采用外部晶振作为时钟脉冲,通过按键可以方便调节,一下是方案三的系统流程图,本方案主要是必须对于数字电路比较熟悉,成本又高。

方案图如图1.3所示:

 

图1.3方案三

方案总结:

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

2硬件电路设计

 

2.1振荡电路

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

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

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

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

振荡电路如图2.1所示:

 

图2.1振荡电路

2.2复位电路设计

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

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

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

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

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

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

按键复位电路图如图2.2所示。

 

图2.2复位电路

2.3键盘接口电路

(1)独立式键盘:

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

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

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

键盘接口电路如图2.3所示:

 

图2.3键盘接口电路

2.4显示电路

对于现实电路我们可以采用数码管,也可以采用液晶显示,液晶又分字符型和点阵型,我们使用的液晶是字符型液晶,并且带字符库的,不需要查找代码。

英文字符就可。

液晶电路使用时,如果发现液晶不亮可以调节连接液晶的点位器,改变液晶的亮度。

显示电路如图2.4所示:

 

图2.4显示电路

2.5直流电机电路

该直流电机主要是通过驱动芯片L298来驱动,这款芯片可以同时驱动2个直流电机,可以用直流电或PWM脉冲波驱动第5,7脚为控制电机的正反转,一个接负电压,一个接正电压,第6脚ENA控制电机的转速,通过PWM可以控制转速,这里我们给它一个高电平就可以了。

直流电机电路如图2.5所示:

 

图2.5直流电机电路

2.6单片机各引脚功能说明

AT89S52电路图如图2.6所示:

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行

校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

图2.6AT89S52

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89S52的一些特殊功能口,如表2.1所示。

表2.1AT89S52的一些特殊功能口

管脚

备选功能

P3.0RXD

(串行输入口)

P3.1TXD

(串行输出口)

P3.2/INT0

(外部中断0)

P3.3/INT1

(外部中断1)

P3.4T0

(记时器0外部输入)

P3.5T1

(记时器1外部输入)

P3.6/WR

(外部数据存储器写选通)

P3.7/RD

(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

2.7L298和1602液晶的简介

2.7.1字符液晶1602的介绍

字符型液晶1602主要技术参数如表2.2所示:

表2.2字符型液晶1602主要技术参数

显示容量:

16*2个字符

芯片工作电压:

4.5—5.5V

工作电流:

2.0mA(5.0V)

模块最佳工作电压:

5.0

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

当前位置:首页 > 工程科技 > 能源化工

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

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