基于单片机的出租车计费系统DOCWord文档下载推荐.docx
《基于单片机的出租车计费系统DOCWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机的出租车计费系统DOCWord文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
PulsePerKM=1000m/1.634m=612(个脉冲)
2.2.2费用计算功能
费用计算包括三部分:
起步费、行使费和燃油附加费:
a)起步费用(StartPrice)—
当行驶里程(RunMilege)在2.3Km(含2.3Km)以内按起步价(StartPrice即行使费用(RunPrice)为:
)7元计费。
RunPrice=StartPrice+1=8
(元)
b)行使费用(RunPrice)--
行使费用分短途与长途两种情况:
①.当行驶里程(RunMilege)超出2.3Km时并且小于35Km时,按2.6元/Km收费,这时
行驶费用为:
RunPrice=StartPrice+2.6x(RunMilege-StartMilege)+1
其中:
StartPrice为起步价=6元
StartMilege为起步里程=2.3Km
RunMilege为行使里程(总行使里程)
RunPrice为行使费用(总行使金额)
②.当行使里程超过35Km后,要加空驶费,即每公里升至3.50
元,这时行驶费用为:
RunPrice=StartPrice+3.5x(RunMilege-StartMilege)+1
c)燃油附加费--每车次加收一元。
2.2.3语音播放功能
①.当初次按下“start/stop”键,出租车开始启动,司出租汽车,谢谢!
”播送完毕,计费器开始计费。
系统播放
“您好!
欢迎乘坐本公
②.按下“SpeedUp键,出租车加速行使,最高速为
100Km
③.按下“SpeedDown键,出租车减速行使,最低速为
0Km
④.在行使状态下,按下“start/stop”键,表示出租车到站,结束行使。
这时候,系统播放“您好!
行使里程XXX公里,应付XXX元,请检查您的随身物品,欢迎再次乘坐再见!
”的提示音。
⑤.按下“Reset”键,进入空车状态。
2.2.4中文菜单显示功能
①.在空车状态下(启动前),LCD屏幕上显示如图2-2所示的中文信息:
2007年XX月XX日XX时XX分XX秒
<空车>
图2-2
②.在空车状态下,按下“start/stop”键,系统播放“您好!
欢迎乘坐本公司出租汽车,谢谢!
”的提示音,同时在LCD屏幕上显示如图2-3所示的中文信息:
您好!
欢迎乘坐本公司出
租汽车,谢谢!
图2-3
③.播完提示音后,进入行使状态,LCD屏幕显示如图2-4所示的信息:
2007年XX月XX日
XX时XX分XX秒
图2-4
④.在行使状态,按下“SpeedUp键,里程显示的公里数增加的速度会不断的变快,金额数值也在作相应的变化。
按下“SpeedDown键,里程显示的公里数增加的速度会不断的变
慢。
⑤.在行使状态,按下“start/stop”键,表示出租车到站,结束行程。
这时屏幕显示如图2-5所示的信息:
起步价:
7.0元总里程:
XXX.XX公里总金额:
XXX.XX元
图2-5
同时,系统播放“您好!
行使里程XXX.XX公里,应付XXX.XX元,请检查您的随身物品,欢迎再次乘坐,再见!
”的提示音。
2.2.5实时时钟功能
用实时时钟芯片DS1302作为时钟电路,产生年/月/日/时/分/秒等信号,供系统调用。
2.2.6按键的功能
“start/stop”键一开始进入行使/结束行使(到站)。
“SpeedUp键一行使加速按键。
按下次按键,可使出租车的速度由OKmh升到lOOKm
“SpeedDown键--行使减速按键。
按下次按键,可使出租车的速度由100K下降到
OKm
“Reset”键--进入空车状态。
第3章硬件设计
3.1电源模块
方案比较:
1、电源采用220v交流电,通过整流滤波电路再经过稳压器件得到需要的+5V
电压
2.直接输入一个6-10V的直流电压,再用稳压芯片芯片得到+5V电压;
通过仔细的考虑,计费系统最终是安装在计程车上的,电源一般不是220V交流电压,而是
有电瓶输出的直流电压,再考虑总体设计成本问题,因此采用方案具体电路图如下图3-1:
2。
电源的输入可以采用两路输入,可接一路备用电源。
防止了突然断电而丢失数据的情况,进一步增加了系统的稳定性。
ram
mOUI
Giro
l+l
Olif
图3-1电源结构图
3.2控制模块
目前比较实用的mcu方案有:
51系列单片机,
avr系列单片机,菱阳系列单片机Pic系列单片机
通过分析系统需求,对于此系统做系统的mcu控制单元性价比最高。
本系统采用11.0592Mhz的晶振,
减小开发时的成本。
具体电路图如图
*
1M:
51系列单片机的资源已经足够,所以采用89S52单片机
S51系列支持isp下载编程,可以方便程序的调试开发,
3-2:
P5
⑴
C3
013345DD<
J67O1*u133322222gjgj111TTTTppppppppMEipppM商
二1LEDAK
3—处Tj3gCLK/_畑“_cs
STATE
START
STOP
bOsa
lOuF
RESETX
cALETPXPSEH
lOK
|«
E7
图3-2控制器电路
R5
IDK
P0
Dsa
3.3Led显示模块
1、led数码管轮流显示
2、1602led显示
3、12864lcd显示
Led显示可以基本实现要显示的功能,但轮流显示给顾客的界面很不方面,各种数据不
能同时显示,虽然成本低,但不可取。
1602led可以实现教多数据的显示,但要显示汉字比较麻烦,所能显示的汉字个数也太少,也不可取
12864led大屏幕显示,能显示比较人性化的页面,采用串行控制只需4根控制线,不必占有控制系统的过多io口,性价比最高
因此选取12864led作为显示部分。
其中设计了背光控制电路,ledak端为低电平是背光亮,高电平时灭,可以工作在节电模式。
具体电路如图3-3所示:
TG12864E是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128X64全点阵液晶
显示器组成。
可完成图形显示,也可以8X4个(16X16点阵)汉字。
主要技术参数和性能:
-电源:
VDD+2.7~+5V;
模
块内自带-10V负压,用于LCD勺驱动
电压。
-显示内容:
128(列)X64(行)点
-全屏幕点阵
-七种指令
-与CP接口采用8位数据总线并行输
入输出和8条控制线
-占空比1/64
-工作温度:
-10C~+60C,储存温度:
-20C~+70C,可选择宽温:
-20C~+70C
外形尺寸图如图3-4所示:
Sa±
Q.5-
87±
0.370X0,3-?
?
±
心
6^-52-
,R1
VCC
..R2
10K
rM
P3
LED!
7-6-54321
B-B-BBBBBsD-D-DDDpdelsc
20
19
13
17
16
15L4
12
11
10g
5
7
6
4
3
图3-3
液晶显示电路
MST岂器I■G-n岂I
128X64DDT
图3-4
液晶显示屏外形
.TG12864EL串口接线方式如图3-5所示:
1-&
图3-5
3.4按键模块
1、使用触摸屏作为控制输入
2、使用矩阵或独立按键作为控制输入
分析:
本系统本考虑使用触摸屏,使系统界面感觉更加人性化,但使用触摸屏在要输入数字时,12864同时也要显示出数字,由于12864要显示键盘的数字比较勉强,要输入数字时还是用矩阵键盘比较合适,如此考虑触摸屏就非常多余,
矩阵键盘扫描时需要较长的时间,因此利用两个独立按键作为系统开始与结束的按键,运用比较方便。
具体电路如图3-6和图3-7所示:
①按键扫描模块电路图及说明:
整个系统只有两个按键,一个“启动/停止”一个“复位”;
本模块功能:
扫描按键功能,
返回扫描结果。
1
£
]KE
图3-6独立按键
图3-7矩阵按键
3.5实时时钟模块
本模块采用ds1302性价比较高,晶振采用时钟标准频率32.768Mhz,控制电路较简单,符合I2C总线。
可实现年月日时分秒的显示,还可选择工作12小时制还是24小时制模式。
电路接图如图3-8所示:
XTALtL22pF
图3-8
3.6掉电存储模块
本模块采用24CXX系列EEPROM此芯片工作在I2C总线模式,控制读写方便,数据存储量大,24C256可达到32kb的容量。
电路图如图3-9所示:
图3-9
3.7语音报价模块
语音功能实现:
为实现语音报价功能,决定采用一块语音芯片录入若干段语音,然后用单片机通过组合方式实现语音报价。
方案比较:
1.采用apr9600音乐芯片实现该功能,apr9600通过串行工作方式分别录入语音段,然后用串行选段控制方式播放语音段,控制方式是每次给/M2一个低电平,芯片地址指向下一段语音,而当给/M1一个低电平时,播放当前段语音,通过控制/M2和/M1即可实现语音播放。
曰,
2.采用isd2560语音芯片实现,isd2560通过地址方式在相应地址分别存入若干段语音,再经单片机按需要调用各段语音,控制方式为单片机通过口线选通所需地址,然后触发芯片
的片选端,即可播放语音。
比较,由于语音报价主要是播放金额的数字,每个数字都要分别存为一段语音,所以导致所需存储的语音段较多,这时如果采用apr9600芯片,由于选段需要提供/M2低电平,选
到后面的段时,需要很多个低电平才能选到,在实际应用中应会造成不小的延时,对语音播放的效果造成影响,而采用isd2560时,由于采用地址方式选段,不存在上述问题,所以语音段之间的延时非常小,由此比较决定,采用isd2560芯片实现语音功能。
电路图如图3-10所示:
图3-10语音芯片电路
3.8车轮模拟测速模块
1、采用红外传感器测量车轮转过的圈数
2、采用接近开关测量车轮转过的圈数
红外传感器价格比较便宜,但红外线的干扰比较多,容易出现误触发,影响系统的稳定性,接近开关稳定性较好,干扰少,为了加强系统稳定性,采用接近开关。
接近开关使用方便,只要接电源和地,当有金属接近到一定距离时数据输出低电平,平时保持高电平,可以产生
中断,接近开关的工作速度也不会太低,所以工作稳定。
其电路图如图3-11所示:
INTI
图3-11
电机驱动电路,采用另一个稳压芯片输出与单片机电源电路隔离开来,可以防止电机大电流对单片机的干扰,并用电位器可实现调速设置,可以简单的模拟车轮的转动。
其电路图如下图3-12所示:
图3-12电机驱动电路
第4章系统程序设计
4.1系统主程序流程框图:
(如图4-1所示)
―单片机—
I/O口初始化
亠
外部中断
初始化
显示模块
时钟模块
各变量、标志清零
显示模式设为
图形方式
显示一幅个性
化图片
显示模式转为
文本方式
显示一幅个人
信息
=0
/工作模式'
=2
MODE=?
/
进入模式0
工作状态
执行空车工作
模式
进入模式1
Wg=?
’
V=1
显示迎客中文
界面
进入载客工作\状态
脉冲计数
及里程计算
播放语音信息
费率计算
键盘扫描模块
进入模式2
=1
VPiay_gi老1
To
显示到站菜单
显示里程及金额
播报行使里程
及应付金额数
显示
结束中文界面
vPlay_g2=?
>
「=0
播报“请检查您的随身物品”、“欢迎再次乘坐本公司岀租汽车,再见”
4.2里程和费率计算程序流程图(女口图4-2所示):
Milege:
里程Price:
费率
开始
图4-2
〃*********************************************************
voidPriceO
if(RunMilegev=2300)
//TotalPrice=700+100;
TotalPrice=800;
if((RunMilege>
2300)&
&
(RunMilegev=35000))
//TotalPrice=700+(RunMilege-2300)*0.26+100;
TotalPrice=800+(RunMilege-2300)*0.26;
if(RunMilege>
35000)
//TotalPrice=700+(35000-2300)*0.26+(RunMilege-35000)*0.35+100;
TotalPrice=1112+(RunMilege-35000)*0.35;
Price=(ulong)TotalPrice;
}
4.3键盘处理程序流程图(如图4-3所示)
mode=0x00;
write」nst(0x01);
count=0;
voidscankey()
{
if(k2())
bell();
if(mode==0x00)
mode=0x01;
write_inst(0x01);
}"
elseif(mode==0x01)
flag=0;
mode=0x02;
if(k4())
if(mode==0x02)
play_fg1=0;
play_fg2=0;
结束语
通过这次设计,我觉得自己学到了很多东西:
其中我接触到了更多平时没有接触到的元器等,发现了自己很多不足之。
我体会到了所学理论知识的重要性:
知识掌握越多,设计得就更加严谨,更加顺利。
了解了进行一项相对比较大型的科研设计所必不可少的几个阶段。
我经过这次系统的课程设计,熟悉了对一项课题进行研究,设计和试验的详细过程。
这些在我们在将来的工作和学习当中都会有很大的帮助。
加深了解了查阅资料和利用工具书的重要性.平时课堂上所学习的知识大多比较陈旧,作为电子信息工程的学生,由于专业涉及知识广,一个人不可能什么都学过,什么都懂,因此,当我在设计过程中需要用到一些不曾学过的东西时,就要去有针对性地查找资料,然后加以利用吸收,以提高自己的应用能力,而且还能增长自己见识,补充我的专业知识。
参考文献
(1)张鑫、华臻、陈书谦.《单片机原理及应用》[M].电子工业出版社,2005..
(2)丁元杰、吴大伟.《单片微机实题集与实验指导书》[M].机械工业出版社,2004.
(3)凌阳大学计划一《出租车计费系统》一电子文档资料