出租车计价器毕业设计论文.docx
《出租车计价器毕业设计论文.docx》由会员分享,可在线阅读,更多相关《出租车计价器毕业设计论文.docx(73页珍藏版)》请在冰豆网上搜索。
出租车计价器毕业设计论文
毕业论文
题目
多功能出租车计价器设计
学生姓名
学号
15075039
系部
电子工程系
专业
应用电子
班级
150750
指导教师
高级工程师
顾问教师
实验师
二〇一〇年六月
摘要
摘 要:
随着人们生活水平的提高,科技不断进步,新一代多功能出租车计价器应运而生,介绍一种以单片机AT89S52为核心的多功能出租车计价器的设计,阐述软硬件设计过程中关键技术的处理。
该计价器具有集计程、计时、计费、存储、查看、统计等多种计量功能,并且具有超速提醒、防止司机作弊、语音、打印、显示、电子钟和电子温度计和实现对出租车计价月统计,同时采用AT24C64实现在系统掉电的时候保存单价和系统时间等信息等多种功能。
与已有的系统相比,该系统具有超速提醒等更强的功能。
本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。
关键词:
AT89S52单片机电子温度数据黑匣子显示查询票据打印
第一章绪论
1.1整体方案
整体方案设计方框图如图1所示,整个系统由单片机AT89S52控制电路、A44E霍尔传感器电路、AT24C64存储电路、DS1302时钟电路、ISD2560语音播报电路、票据打印电路、按键调整电路、MAX7219驱动显示电路及电源电路组成。
图1-1整体硬件设计电路示意图
片机采集并判断空车灯信号及路程检测传感器信号,当出租车启动时,单片机检测到霍尔传感器的脉冲信号并进行里程计算。
当无乘客时,单片机调用实时时间芯片DS1302程序MAX7220串口显示驱动程序,用12864液晶屏进行时钟等数据显示;当空车灯掰下乘客上车时:
ISD2560语音播报电路进行语音播报1(欢迎乘客乘坐本出租车⋯),通过DS1302获取时间信息分辨白天/晚上,然后调用ATAT24C64程序获取白天/晚上的单价及起始价,便开始计价并显示时间、里程和金额等信息;当空车灯打上乘客下车时:
进行播报2(谢谢再次乘坐本出租车,请交金额?
⋯),并打印好票据,单片机将营运数据信息存储到AT24C64中,等待出租车再次启动后单次金额与里程等信息清零复位,就此完成一次计价。
第二章系统硬件设计
2.1核心控制器选择介绍
1.AT89S52主要性能
A.与MCS-51单片机产品兼容
B.8K字节在系统可编程Flash存储器
C.1000次擦写周期
D.全静态操作:
0Hz~33Hz
E.三级加密程序存储器
F.32个可编程I/O口线
G.三个16位定时器/计数器
H.八个中断源
I.全双工UART串行通道
J.低功耗空闲和掉电模式
K.掉电后中断可唤醒
L.看门狗定时器
M.双数据指针
N.掉电标识符
2、功能特性描述
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、
中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2.2引脚介绍
图2-1引脚封装图
2.3硬件电路设计
由电源部分、霍尔传感器路程测量部分、数据显示部分、时钟部分、语音播报部分、票据打印部分和数据存储部分等组成,各部分端口分别与单片机AT89S52的输出口相连,通过单片机的控制来实现计价器的功能实现。
2.3.1电源部分设计
由于计价器的工作环境比较差,它要求有抗振动、抗高低温、抗潮湿、抗电磁干扰等能力,特别是电源方面的干扰,如出租车启动时,发动机打火、电瓶充电等造成输入计价器的+12V电源不稳定。
因此采用+12V电瓶电源经过滤波和电源稳压管理芯片7805后得到+5V的稳定电压输出,保证整个系统能够正常工作。
如图3.3-1所示。
图2-2电源部分电路
2.3.2测量部分设计
1、A44E霍尔传感器介绍
A44E集成霍耳开关,A44E集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)(mT)、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成在输入端输入电压VCC,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差HV输出,该HV信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。
当施加的磁场达到工作点(即BOP)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开。
当施加的磁场达到释放点(即BrP)时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为关。
这样两次电压变换,使霍耳开关完成了一次开关动作。
BOP与BrP 的差值一定,此差值BH=BOP-BrP称为磁滞,在此差值内,V0保持不变,因而使开关输出稳定可靠,这也就是集电成霍耳开关传感器优良特性之一。
2、A44E霍尔传感器应用
出租车中需要一个能准确获得车轮转动即路程计量信号的装置,以得到标准的脉冲信号送入单片机的定时/计数器T1即P3.5引脚,利用单片机的T1的计数功能完成100次的计数后产生一中断来完成路程的测量。
(设车轮周长为1m,则霍尔传感器每产生100个脉冲便表示车已行程0.1km,根据实际情况在程序中进行设置)。
汽车联轴器按圆周间隔嵌入磁钢,用霍尔传感器集成芯片A44E检测并输出脉冲,其工作原理如图2-4所示,霍尔传感器集成芯片A44E有信号转换、电压放大、整形输出等功能,为增加其抗干扰的能力,经过74LS14对信号整形后再通过光偶送入P3.5引脚。
如图5所示。
而在此电路中为了防止司机作弊,可采用加密传感器的方法,先对霍尔传感器采集到的计数脉冲加密,使计费脉冲以密文方式传输,最后解密为明文脉冲,传送到计价器计费。
在密码传感器中,加密器向解码器发送的是密码,只有加密器和解密器固有密码相同时,解码器才向计价器发送计数脉冲,计价器才计费,因此,密码传感器提高了计价器计费可靠性,不法出租车司机也无法使车费增加,同时司机也不能私自更换计价器传感器,实现了计价器由国家计量部门统一安装、维修和年检的统一管理。
图2-4A44E霍尔传感器工作原理示意图
图2-5A44E霍尔传感器接口电路
2.3.3数据显示部分设计
一、12864液晶显示
1、概述
FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
基本特性:
A.低电源电压(VDD:
+3.0--+5.5V)
B.显示分辨率:
128×64点
C.内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)
D.内置128个16×8点阵字符
E.2MHZ时钟频率
F.显示方式:
STN、半透、正显
G.驱动方式:
1/32DUTY,1/5BIAS
H.视角方向:
6点
I.背光方式:
侧部高亮白色LED,功耗仅为普通LED的1/5—1/10
J.通讯方式:
串行、并口可选
K.内置DC-DC转换电路,无需外加负压
L.无需片选信号,简化软件设计
M.工作温度:
0℃-+55℃,存储温度:
-20℃-+60℃
2、模块接口说明
表2-1LCD12864接口
*注释1:
如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。
*注释2:
内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:
如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。
3、模块主要硬件构成说明
1、控制器接口信号说明:
表2-2RS,R/W的配合选择决定控制界面的4种模式:
RS
R/W
功能说明
L
L
MPU写指令到指令暂存器(IR)
L
H
读出忙标志(BF)及地址记数器(AC)的状态
H
L
MPU写入数据到数据暂存器(DR)
H
H
MPU从数据暂存器(DR)中读出数据
表2-3E信号
E状态
执行动作
结果
高——>低
I/O缓冲——>DR
配合/W进行写数据或指令
高
DR——>I/O缓冲
配合R进行读数据或指令
低/低——>高
无动作
a)忙标志:
BF
BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据。
利用STATUSRD指令,可以将BF读到DB7总线,从而检验模块之工作状态。
b)字型产生ROM(CGROM)
字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。
DFF=1为开显示(DISPLAYON),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAYOFF)。
DFF的状态是指令DISPLAYON/OFF和RST信号控制的。
c)显示数据RAM(DDRAM)
模块内部显示数据RAM提供64×2个位元组的空间,最多可控制4行16字(64个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H—0006H的编码中(其代码分别是0000、0002、0004、0006共4个)将选择CGRAM的自定义字型,02H—7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140—D75F),GB(A1A0-F7FFH)。
d)字型产生RAM(CGRAM)
字型产生RAM提供图象定义(造字)功能,可以提供四组16×16点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。
e)地址计数器AC
地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6——DB0中。
f)光标/闪烁控制电路
此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定DDRAM中的光标或闪烁位置。
2、指令表说明
当IC1在接受指令前,微处理器必须先确认其内部处于非忙碌状态,即读取BF标志时,BF需为零,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即是等待前一个指令确实执行完成。
3、指令控制指令
模块控制芯片提供两套控制命令,基本指令和扩充指令如下表:
指令表2-4:
(RE=0:
基本指令)
指令
指令码
功能
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
清除
显示
0
0
0
0
0
0
0
0
0
1
将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H"
地址
归位
0
0
0
0
0
0
0
0
1
X
设定DDRAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM的内容
显示状态开/关
0
0
0
0
0
0
1
D
C
B
D=1:
整体显示ON
C=1:
游标ON
B=1:
游标位置反白允许
进入点
设定
0
0
0
0
0
0
0
1
I/D
S
指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位
游标或显示移位控制
0
0
0
0
0
1
S/C
R/L
X
X
设定游标的移动与显示的移位控制位;这个指令不改变DDRAM的内容
功能
设定
0
0
0
0
1
DL
X
RE
X
X
DL=0/1:
4/8位数据
RE=1:
扩充指令操作
RE=0:
基本指令操作
设定CGRAM
地址
0
0
0
1
AC5
AC4
AC3
AC2
AC1
AC0
设定CGRAM地址
设定DDRAM
地址
0
0
1
0
AC5
AC4
AC3
AC2
AC1
AC0
设定DDRAM地址(显示位址)
第一行:
80H-87H
第二行:
90H-97H
读取忙标志和地址
0
1
BF
AC6
AC5
AC4
AC3
AC2
AC1
AC0
读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值
写数据到RAM
1
0
数据
将数据D7——D0写入到内部的RAM(DDRAM/CGRAM/IRAM/GRAM)
读出RAM的值
1
1
数据
从内部RAM读取数据D7——D0
(DDRAM/CGRAM/IRAM/GRAM)
3、读写时序图
1)数据传输过程
图2-68位和4位数据线的传输过程
图2-7串口数据线模式数据传输过程
2)时序图
图2-8MPU写资料到ST7920(8位数据线模式)
图2-9MPU从ST7920读资料(8位数据线模式)
3)串口读写时序:
图2-10串口方式下MPU写数据到ST7920
4、应用说明
用FYD12864-0402B显示模块时应注意以下几点:
①欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。
②显示ASCII字符过程与显示中文字符过程相同。
不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。
③当字符编码为2字节时,应先写入高位字节,再写入低位字节。
④模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。
如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。
指令执行的时间请参考指令表中的指令执行时间说明。
⑤“RE”为基本指令集与扩充指令集的选择控制位。
当变更“RE”后,以后的指令集将维持在最后的状态,除非再次变更“RE”位,否则使用相同指令集时,无需每次均重设“RE”位。
2.3.4时钟部分设计
1、DS1302简介
DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1RES复位2I/O数据线3SCLK串行时钟时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW,DS1302是由DS1202改进而来增加了以下的特性双电源管脚用于主电源和备份电源供应Vcc1为可编程涓流充电电源附加七个字节存储器它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域下面将主要的性能指标作一综合。
a)实时时钟具有能计算2100年之前的秒分时日日期星期月年的能力还有闰年调整的能力
b)318位暂存数据存储RAM
c)串行I/O口方式使得管脚数量最少
d)宽范围工作电压2.05.5V
e)工作电流2.0V时,小于300nA
f)读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式
g)8脚DIP封装或可选的8脚SOIC封装根据表面装配
h)简单3线接口
i)与TTL兼容Vcc=5V
j)可选工业级温度范围-40+85
k)与DS1202兼容
l)在DS1202基础上增加的特性
A、对Vcc1有可选的涓流充电能力
B、双电源管用于主电源和备份电源供应
C、备份电源管脚可由电池或大容量电容输入
D、附加的7字节暂存存储器
2、管脚说明
图2-11DS1302引脚图
a.X1X232.768KHz晶振管脚
b.GND地
c.RST复位脚
d.I/O数据输入/输出引脚
e.SCLK串行时钟
f.Vcc1,Vcc2电源供电管脚
3、硬件设计
计价器在出租车空车行驶时需要显示实时时钟,因为它的时钟是作为白天/晚上单价自动转换的一个基准,而且计价器的时钟显示能为司机和乘客提供方便,所以选择一个好的时钟芯片对计价器很重要。
DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,采用SPI三线接口与CPU进行同步通信;时钟可提供秒、分、时、日、星期、月和年;通过设置DS1302的控制/状态寄存器选择日历,时钟方式经过初始校准后即可工作使用;工作电压宽达2.5~5.5V,采用双电源供电(主电源和备用电源),并设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力,在没有主电源的情况下启用备用电源能保存时间信息及数据。
如图3.3-15所示。
图2-12DS1302硬件设计连线图
2.3.5语音提醒部分设计
1、IDS2500简介
本设计采用美国ISD公司的2500芯片,按录放时间60秒、75秒、90秒和120秒分成ISD2560、2575、2590和25120四个品种。
ISD2500系列和1400系列语音电路一样,具有抗断电、音质好,使用方便等优点。
它的最大特点在于片内E2PROM容量为480K(1400系列为128K),所以录放时间长;有10个地址输入端(1400系列仅为8个),寻址能力可达1024位;最多能分600段;设有OVF(溢出)端,便于多个器件级联。
2、引脚图及介绍
图2-13ISD2560引脚图
如图2-13
a.1-7A0/M0~A6/M6地址
b.8-10A7~A9地址
c.11AUXIN辅助输入
d.12,13VSSD、VSSA数字和模拟地
e.14,15SP+、SP-扬声器输出
f.16,28VCCA、VCCD模拟、数字信号电源正极
g.17,18MIC、MICREF麦克风输入和输入参考端
h.19AGC自动增益控制
i.20,21ANAIN、OUT模拟信号输入和输出
j.22OVF\溢出
k.23CE\片选(低电平允许芯片工作)
l.24PD芯片低功耗状态控制
m.25EOM\录放音结束信号输出
n.26XCLK外部时钟
o.27P/R\录/放控制选择
2、硬件设计
考虑到计价器的微型化、智能化,语音芯片采用集成度较高ISD2560芯片,其最大特点是采用E2PROM进行模拟信息直接存取而不必经过A/D和D/A转换。
它内部带有话筒放大器、自动增益控制时钟、扬声器驱动电路等,采用+5V电源供电。
语音模块与单片机的接口如图8所示,设计过程中,先将固定语音部分(上、下车用语、)信息存储到ISD2560内部的不同起点地址中。
营运过程中根据上、下车的不同营运状态来实现不同语音功能播放。
在语音芯片工作时,系统首先主程序调用放音处理程序,根据发音地址寻找ISD2560中的发音单元,然后将信号送到扬声器发出声音。
图2-14ISD2560语音接口图
2.3.6票据打印部分设计
当出租车到达指定地点,司机翻起空车牌,便产生一个信号通知单片机AT89S52,单片机启动打印服务,将行车的中途等待时间、营运里程、单价、金额、日期及上下车时间等数据打印成出租车专用发票,微型打印机接口电路如图9所示。
该电路采用接口插板方式与单片机相连,这一特点使得计价器的票据打印在功能上与主系统一体化,而在检查、维修时又可单独进行。
本设计中所用微打是EPSON公司生产的TPμp216微型打印机,微打与单片机通过并行接口相连,当所需要打印的数据出现在打印机I/O0~I/O7上时,STB只要从高电平转到低电平,再从低电平转到高电平,就可把数据送入打印机。
这时打印机将BUSY线置为忙(高电平),禁止新数据输入;当打印机取走数据并处理完毕后,BUSY线被置为闲(低电平),同时送出回答脉冲ACK通知系统,可以再次输入数据。
打印功能是税控计价器的另一重要技术特色,在过去的出租车上都没有打印功能,引发了许多管理方面的投诉问题。
现在开发的税控出租车计价器能在每次计价结算时,根据计价显示的应付车费,打印出统一车票。
有的计价器还可以根据要求打印出各种类型的累计票。
完成打印功能的设备是微型打印机,目前各个厂家用的打印机各不相同,有的厂家用的是针式打印头,有的则用轮式打印头。
针式打印头的原理是用4根打印针击打色带从而在发票上打印出结果,其最大特点是可打印少量汉字及字母。
但众所周知其打印针易折断,以致造成缺点现象,而且因为需要用微型色带,其日常消耗也较高。
我公司根据市场要求,综合各方面的技术,在大量实验下,选用了EPSON公司的Model-42V型轮式打印头,此种打印头具有字符轮串行双色打印、进纸速度快(达到每秒8行)、接触式上墨等特点。
打印机性能:
①字符轮式串行打印
②打印字列为最大19列(包括2个符号)
③字符类型为符号12位置+2个空格,数字14个位置
④字符尺寸为116mm(W)×218mm(H)
⑤字符间隔:
数字之间119mm,数字和符号间414mm,行间隔416mm
⑥打印速(610