出租车计价器的设计Word文档下载推荐.docx

上传人:b****4 文档编号:16941649 上传时间:2022-11-27 格式:DOCX 页数:40 大小:898.32KB
下载 相关 举报
出租车计价器的设计Word文档下载推荐.docx_第1页
第1页 / 共40页
出租车计价器的设计Word文档下载推荐.docx_第2页
第2页 / 共40页
出租车计价器的设计Word文档下载推荐.docx_第3页
第3页 / 共40页
出租车计价器的设计Word文档下载推荐.docx_第4页
第4页 / 共40页
出租车计价器的设计Word文档下载推荐.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

出租车计价器的设计Word文档下载推荐.docx

《出租车计价器的设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《出租车计价器的设计Word文档下载推荐.docx(40页珍藏版)》请在冰豆网上搜索。

出租车计价器的设计Word文档下载推荐.docx

按下停止按键,停止计费,LCD液晶显示所走里程和乘客所需付总金额结束此次服务。

1.3论文主要工作概述

(1)了解题目的背景;

(2)明确系统的方案选择,查阅相关资料明确设计要求;

(3)依据设计要求选择合适的控制器;

(4)学习相关芯片;

(5)设计原理框图;

(6)在Proteus制作对应的硬件系统;

(7)测试每部分硬件系统的正确性;

(8)绘制程序流程图;

(9)编译程序并在KeilC中调试;

(10)在Proteus环境下进行仿真测试直到成功。

2系统硬件设计

2.1方案选择

主控电路的选择

方案一:

采用数字电路控制。

将传感器输出的脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,电路不够使用。

方案二:

采用单片机控制。

利用单片机丰富的I/O端口,以及控制的灵活性,实现基本的里程计价功能和价格调节。

这种设计价格便宜,可扩展的功能强大,人机界面丰富[1]。

2.2系统框图

如图2.1为出租车计价器的整个设计框图,主要由五部分电路组成:

主控部分、显示部分、传感器部分、输入部分、其他部分。

图2.1出租车计价器系统框图

(1)主控部分

控制器不仅是处理数据的核心部位,而且还是控制各部分如何工作的部件。

这一部分我们选用的是AT89S52单片机。

(2)显示部分

显示器件是直接接触乘客的器件,这一部分的好坏给乘客的印象最深刻,因此这一部分是提升品质的部分。

我们选用的是1602液晶。

(3)传感器部分

传感器部分是公平的源头,如果传感器不稳定直接导致计价的不准。

这样很容易引起司机与乘客之间的纠纷。

因而传感器的设计选择尤为重要。

(4)输入部分

输入部分较上面两个部分来说较为简单和次要,输入部分主要是完成计价开始与结束的功能。

(5)其他部分

其他部分主要是指器件的连接部分中间环节等。

2.3硬件电路设计

本设计硬件组成主要包括:

AT89S52单片机、显示电路、复位电路、时钟电路、按键电路、A44E霍尔传感器。

2.3.1AT89S52主要性能参数

(1)与MCS-51单片机产品兼容

(2)8K字节在系统可编程Flash闪速存储器

(3)1000次擦写周期

(4)全静态操作:

0Hz~24MHz

(5)三级加密程序存储器

(6)32个可编程I/O口线

(7)三个16位定时器/计数器

(8)八个中断源

(9)全双工UART串行通道

(10)低功耗空闲和掉电模式

(11)掉电后中断可唤醒

(12)看门狗定时器

(13)双数据指针

(14)掉电标识符

2.3.2AT89S52功能特性概述

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于党规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

(1)AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线。

如图2.2AT89S52引脚图,看门狗定时器,2个数据指针,三个16位定时器/计

图2.2AT89S52引脚图

数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结单片机一切工作停止,直到下一个中断或硬件复位为止。

(2)AT89S52的内部组成

AT89S52内部有8个部件组成,即CPU、时钟电路、数据存储器、串行口、并行口(P0~P3)、定时计数器和中断系统,它们均由单一总线连接并被集成在一块半导体芯片上,即组成了单片微型计算机,AT89S52就是MCS-51系列单片机中的一种。

如图2.3。

图2.3单片机组成框图

1CPU中央处理器

中央处理器是AT89S52的核心,它的功能是产生控制信号,把数据从存储器或输入口送到CPU,或将CPU数据写入存储器或送到输出端口。

还可以对数据进行逻辑和算术的运算。

2时钟电路

AT89S52内部有一个频率最大为33MHz的时钟电路,它为单片机产生时钟序列,但需要外接石英晶体做振荡器和微调电容调整频率。

3内存

内部存储器可分做程序存储器和数据存储器,AT89S52内部集成了8K的ROM和256RAM。

4定时/计数器

AT89S52有两个16位的定时计数器,每个定时器和计数器都可以设置成定时的方式和计数的方式,但只能用其中的一个功能,以定时或计数结果对计算机进行控制。

5并行I/O口

MCS-51有四个8位的并行I/O口,P0,P1,P2,P3,以实现数据的并行输入输出。

6串行口

它有一个全双工的串行口,它可以实现计算机间或单片机同其它外设之间的通信,该串行口功能较强,可以作为全双工异步通讯的收发器,也可以作为同步移位器用。

7中断控制系统

AT89S52有六个中断源,既外部中断两个,定时计数器中断三个,另外还有一个串行中断,全部的中断分为高和低的两个输出级。

(3)AT89S52管脚介绍

AT89S52的制作工艺为HMOS,采用40管脚双列直插式DIP封装参见图2.2引脚说明如下:

VCC:

电源。

GND:

接地。

P0口:

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

作为输出口,每位能驱动8个TTL逻辑电平。

对P0端口写“1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,P0具有内部上拉电阻。

在flash编程时,P0口也用来接收指令字节;

在程序校验时,输出指令字节。

程序校验时,需要外部上拉电阻。

P1口:

P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。

此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表2.1所示。

在flash编程和校验时,P1口接收低8位地址字节。

表2.1

引脚号

第二功能

P1.0

T2(定时器/计数器T2的外部计数输入),时钟输出

P1.1

T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

P1.5

MOSI(在系统编程用)

P1.6

MISO(在系统编程用)

P1.7

SCK(在系统编程用)

P2口:

P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。

对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。

在这种应用中,P2口使用很强的内部上拉发送1。

在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3口:

P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。

对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

P3口亦作为AT89S52特殊功能(第二功能)使用,如下表2.2所示。

在flash编程和校验时,P3口也接收一些控制信号。

RET:

复位输入。

晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。

看门狗计时完成后,RST脚输出96个晶振周期的高电平。

特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。

DISRTO默认状态下,复位高电平有效。

地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。

在flash编程时,此引脚(

)也用作编程输入脉冲。

在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。

然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。

如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。

这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。

否则,ALE将被微弱拉高。

这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。

表2.2

P3.0

RXD(串行输入)

P3.1

TXD(串行输出)

P3.2

(外部中断0)

P3.3

(外部中断1)

P3.4

T0(定时器0外部输入)

P3.5

T1(定时器1外部输入)

P3.6

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

P3.7

外部程序存储器选通信号(

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

当AT89S52从外部程序存储器执行外部代码时,

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

将不被激活。

/VPP:

访问外部程序存储器控制信号。

为使能从0000H到FFFFH的外部程序存储器读取指令,

必须接GND。

为了执行内部程序指令,

应该接VCC。

在flash编程期间,

也接收12伏VPP电压。

XTAL1:

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

XTAL2:

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

芯片擦除:

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持

管脚处于低电平10ms来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89S52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

经过计算和考虑,51系列的AT89S52即可满足我们所设计的产品。

AT89S52不用像8031一样外接存储器,节约了空间,提高了稳写性能,而且其内部资源正好可以满足存储要求,再高级的单片机一般多是用在比较精密麻烦的电器设计上,我们这里所设计的计价器是一个较为简单的控制系统,使用AT89S52就完全可以达到我们设计的要求,如果使用更高性能的单片机就会造成资源的浪费,所以我们选AT89S52作为我们的主机电路核心器件。

2.3.3霍尔传感器

里程计算是通过安装在车轮上的霍尔传感器检测到的脉冲信号,送到单片机产生中断,单片机再根据程序设定,计算出里程。

其原理如图2.4所示。

图2.4霍尔传感器计数原理框图

霍尔传感器的工作原理

霍尔传感器选用A44E集成传感器如图2.5所示。

A44E集成霍尔开关由稳压管A、霍尔电势发生器(即硅霍尔片)B、差分放大器C、施密特触发器D和OC门输出E这五个基本部分组成。

在输入端施加输入电压Vcc,经稳压管施加后加在霍尔电势发生

器的两端,根据霍尔效应原理,当霍尔处在磁场中时,在垂直于磁场的方向通以电流,则在于这两者相垂直的方向上将会产生霍尔电势差HV输出,该HV信号经放大器放

大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。

当施加的磁场

图2.5霍尔传感器A44E结构

达到工作点时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常这种状态为“开”。

当施加的磁场达到释放点时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为“关”[2]。

这样通过两次电压变换,使霍尔开关完成一次开关动作见图2.6。

集成霍尔开关A44E的外形及接线如图2.7,图2.8所示。

系统中选择P3.2口作为信号的输入端,采用外部中断0,车轮每转一圈(设车轮的周长是1米),霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数,当计数达到1000次时,也就是1公里,单片机就控制将金额增加。

图2.6霍尔传感器A44E结构

图2.7外形

图2.8接线

2.3.4显示电路的设计

(1)1602简介

1602上的液晶板上排着若干5×

7点阵的字符显示位,每个显示位可显示1个字符,每行16位,有两行。

其控制器内部有80×

8位的RAM缓冲区。

模块内部的控制器常用的有11条控制指令,丰富的指令可以完成液晶的时序控制、工作方式设置和数据显示等。

(2)1602引脚说明:

VSS为地电源

VDD接5V正电源

VO为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。

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

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

当RS和RW共同为低电平时(00)可以写入指令或者显示地址;

当RS为低电平RW为高电平时(01)可以读入忙信号;

当RS为高电平RW为低电平时(10)可以写入数据。

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

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

1602液晶能够同时显示16x02即32个字符。

(16列2行)

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:

阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如’A’。

(3)1602液晶指令

1602通过D0-D7的8位数据端传输数据和指令。

①显示模式设置:

(初始化)

00111000[0x38]设置16×

2显示,5×

7点阵,8位数据接口;

②显示开关及光标设置:

(初始化)详见表2.3

表2.3

指令码

功能

00001DCB

D=1开显示

D=0关显示

C=1显示光标

C=0不显示光标

B=1光标闪烁

B=0光标不闪烁

000001NS

N=1当读或写一个字符后地址指针加一,且光标加一

N=0当读或写一个字符后地址指针减一,且光标减一

S=1当写一个字符,整屏显示左移(N=1)或右移,以得到光标不移动而屏幕移动的效果

S=0当写一个字符,整屏显示不移动

③数据指针设置:

数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)

④其他设置:

详见表2.4

(4)初始化过程(复位过程)

延时15ms

写指令38H(不检测忙信号)

延时15ms

(以后每次写指令、读/写数据操作之前均需检测忙信号)

写指令38H:

显示模式设置

写指令08H:

显示关闭

写指令01H:

清屏

写指令06H:

显示光标移动设置

写指令0CH:

显示开及光标设置

表2.4

地址码

01H

显示清屏,数据指针=0,所有显示=0

02H

显示回车,数据指针=0

(6)读操作时序图见图2.9

图2.9读操作时序图

(7)写操作时序图见图2.10

图2.10写操作时序图

2.3.5复位电路的设计

通过某种方式,使单片机内各寄存器的值变为初始状态的操作称为复位。

单片机的复位是由外部的复位电路电路实现的,复位电路通常采用上电自动复位和按钮复位两种方式。

上电自动复位是通过外部复位电路的电容充电来实现的。

除了上电复位外还需要按键手动复位。

按键手动复位有电平方式和脉冲方式两种。

其中电平复位是通过RST端经电阻与电源VCC接通而实现的。

当需要外部复位时,按下复位按钮即可达到复位目的。

单片机的复位速度比外围I/O接口电路快。

为了能够保证系统可靠的复位,在初始化程序中应安排一定的复位延时时间。

图2.11上电复位

2.3.6时钟电路的设计

MCS-51系列的单片机的各功能部件都是以时钟控制信号为基准,内部电路在时

钟信号的控制下,严格地按时序执行指令进行工作,单片机本身如同一个复杂的同步时序电路,为了保证其各个部分同步工作,电路要在唯一的时钟信号控制下,严格地按照时序进行工作。

其实只需在时钟引脚连接上外围的定时控制元件,就可以构成一个稳定的自激振荡器。

为更好地保证振荡器稳定可靠地工作,谐振器和电容应尽可能安装的与单片机芯片靠近。

本设计中使用的振荡电路,由12MHZ晶体振荡器和两个约30PF的电容组成,在XTAL1和XTAL2两端跨接晶体[4],电容的大小不会影响振荡频率的高低。

在整个系统中为系统各个部分提供基准频率,以防因其工作频率不稳定而造成相关设备的工作频率不稳定,晶振可以在电路中产生振荡电流,发出时钟信号。

图2.12时钟电路

2.3.7按键电路的设计

按键控制电路中,单片机的P2.7管脚接启动/停止按键,通过软件编程,上电时显示祝福词,通过按下启动按键来开始计价,LCD液晶开始显示消费金额和行驶里程;

2.3.8硬件设计说明

单片机是单片机微型计算机的简称,单片机以其卓越的性能,得到广泛的应用,已经深入到各个领域。

对单片机的控制,其实就是对I/O口的控制,无论单片机对外界进行何种控制,或接受外部的何种控制,都是通过I/O口进行的。

51单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。

4个I/O端口都能作输入输出口用,其中P0和P2通常用于对外部存储器的访问。

图2.13按键电路

(1)单片机的31引脚/EA接高电平,使用内部ROM。

(2)C1,S1和R1是复位电路,形成一阶电路中的RC电路。

(3)C2,C3和X1(晶振)构成振荡电路,提供时钟信号。

(4)P2.7接开始停止按钮。

(5)P3.2接霍尔开关输出。

在这次设计中,我用到P0口、P2口和P3口,P0口为8位三态I/O口,此口为地址总线及数据总线分时复用;

P2口为8位准双向口,与地址总线高八位复用;

P0口和P2口都有一定的驱动能力,P0口得驱动能力较强。

并用霍尔传感器产生脉冲信号[8]。

我们还设计了控制按键,能够很好的对出租车计价器控制,如启动/停止按键等。

当按下计价按键时,显示行驶里程和应付金额。

我们可以方便地设计起步价格,单价,多少次脉冲加一次里程数,等待时间设置,等待时间加钱多少设置等。

这是本次设计的优点,只要能看懂汉字就可以更改各项设置。

本次设计是依据山西省物价局最新出版的《太原市城市客运出租车运价调整》标准:

当乘客的行驶里程小于三公里时总价等于起步价;

行驶里程等于或大于三公里后,总计与行驶里程的关系式为:

总价=起步价+单价×

(总里程—起步里程),进行计价。

本设计中,起步价为8元,起步里程为3公里,当然这些数据可以在程序中很方便地改写,以满足不同时期价格调整的需要。

3系统软件设计

3.1编程工具-C51语言

AT89S52单片机的应用程序设计,使用C

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

当前位置:首页 > 农林牧渔 > 林学

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

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