首页 计费

计费

举报
开通vip

计费数理与信息工程学院《单片机原理及应用》期末课程设计——基于单片机的出租车计费系统 数理与信息工程学院《单片机原理及应用》期末课程设计——基于单片机的出租车计费系统 数理与信息工程学院 《单片机原理及应用》期末课程设计 题 目: 基于单片机的出租车计费系统 专 业: 电子信息工程 班 级: 061班 姓 名: ...

计费
数理与信息工程学院《单片机原理及应用》期末课程设计——基于单片机的出租车计费系统 数理与信息工程学院《单片机原理及应用》期末课程设计——基于单片机的出租车计费系统 数理与信息工程学院 《单片机原理及应用》期末课程设计 题 目: 基于单片机的出租车计费系统 专 业: 电子信息工程 班 级: 061班 姓 名: 刘桂珠 学 号: 06220304 指导老师: 余 水 宝 成 绩: 2008年12月 目 录 第1章 引言…………………………………………………………………3 第2章 系统总体介绍 …………………………………………………… 4 2.1系统组成 ……………………………………………………………4 2.2系统各部分功能………………………………………………………4 2.2.1里程计量功能………………………………………………………4 2.2.2费用计算功能………………………………………………………4 2.2.3语音播放功能………………………………………………………5 2.2.4中文菜单显示功能…………………………………………………5 2.2.5实时时钟功能………………………………………………………7 2.2.6按键功能……………………………………………………………7 第3章 硬件设计……………………………………………………………8 3.1电源模块………………………………………………………………8 3.2控制模块………………………………………………………………8 3.3Lcd显示模块 …………………………………………………………9 3.4按键模块………………………………………………………………11 3.5实时时钟模块…………………………………………………………12 3.6掉电存储模块 ………………………………………………………12 3.7语音报价模块…………………………………………………………13 3.8车轮模拟测速模块 ………………………………………………………14 第4章 系统程序设计 ……………………………………………………16 4.1系统主程序流程框图 ………………………………………………16 4.2里程和费率计算程序流程图 ……………………………………………17 4.3键盘处理程序流程图 …………………………………………………………18 结束语 ………………………………………………………………………19 参考文献 ……………………………………………………………………20 基于单片机的出租车计费系统 数理与信息工程学院 06电子信息 刘桂珠 指导教师:余水宝 第1章 引 言 随着经济的发展,带动汽车行业快速发展,出租车日益普遍,了解在出租车上应用的计费系统,对我们日常生活也有帮助。而使用单片机实现该系统,是深化单片机应用的良好途径。 本系统由单片机89S52和一些外围原件组成,具有操作简单,显示明了,功能强大的特点。 使用TG12864E 液晶模组作为显示器,可以显示数字、字母、中文、图片等,使系统信息一目了然; 本系统除了里程统计和费用计算以外,还具有万年历和语音播报功能。 语音播报由语音芯片ISD1420提供语音信息,语音信息放在不同的地址里,由单片机从这些地址中调用合适的语音进行播放。 本 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 充分发挥人性化的特点,利用ISD1420的语音功能,配合TG12864液晶模组,模拟实现带语音提示的出租车计价系统。比较真实地模拟出租车的空车、载客、到站及对各状况的费率的计算、统计、显示和语音播报等功能。 第2章 系统总体介绍 2.1系统组成 整体方案设计框图如图2-1所示: 图2-1 方案设计框图 本系统采用89s52做核心控制单元,实现了实时时钟,掉电存储,语音报价,等功能,使用大屏幕lcd显示,人机界面好,功能强大,操作简单易用,通过仔细选择器件,成本在不降低性能尽量做到最低,完全符合工业产品的性质。 2.2系统各部分功能 2.2.1里程计量功能 a) 单片机对传感器输出脉冲进行计数,并将脉冲数换算成公里数; b) 每一个脉冲代表轮胎旋转一周,设轮胎的直径为520mm,轮胎的周长为:(即每转一圈的距离) 520x3.14159=1634mm=1.634m c) 每公里的脉冲数: PulsePerKM=1000m/1.634m=612(个脉冲) 2.2.2费用计算功能 费用计算包括三部分:起步费、行使费和燃油附加费: a) 起步费用(StartPrice)— 当行驶里程(RunMilege)在2.3Km(含2.3Km)以内按起步价(StartPrice)7元计费。即行使费用(RunPrice)为: RunPrice = StartPrice + 1 = 8(元) b) 行使费用(RunPrice)-- 行使费用分短途与长途两种情况: ①.当行驶里程(RunMilege)超出2.3Km时并且小于35Km时,按2.6元/Km收费,这时行驶费用为: RunPrice=StartPrice+2.6×(RunMilege-StartMilege)+1 其中:StartPrice为起步价=6元 StartMilege为起步里程=2.3Km RunMilege为行使里程(总行使里程) RunPrice为行使费用(总行使金额) ②.当行使里程超过35Km后,要加空驶费,即每公里升至3.50元, 这时行驶费用为: RunPrice=StartPrice+3.5×(RunMilege-StartMilege)+1 c) 燃油附加费--每车次加收一元。 2.2.3语音播放功能 ①.当初次按下“start/stop”键,出租车开始启动,系统播放“您好!欢迎乘坐本公司出租汽车,谢谢!”播送完毕,计费器开始计费。 ②.按下“SpeedUp”键,出租车加速行使,最高速为100Km。 ③.按下“SpeedDown”键,出租车减速行使,最低速为0Km。 ④.在行使状态下,按下“start/stop”键,表示出租车到站,结束行使。这时候,系统播放“您好!行使里程XXX 公里,应付XXX元,请检查您的随身物品,欢迎再次乘坐,再见!”的提示音。 ⑤.按下“Reset”键,进入空车状态。 2.2.4中文菜单显示功能 ①.在空车状态下(启动前),LCD屏幕上显示如图2-2所示的中文信息: 图2-2 ②.在空车状态下,按下“start/stop”键,系统播放“您好!欢迎乘坐本公司出租汽车,谢谢!”的提示音,同时在LCD屏幕上显示如图2-3所示的中文信息: 图2-3 ③.播完提示音后,进入行使状态,LCD屏幕显示如图2-4所示的信息: 图2-4 ④.在行使状态,按下“SpeedUp”键,里程显示的公里数增加的速度会不断的变快,金额数值也在作相应的变化。按下“SpeedDown”键,里程显示的公里数增加的速度会不断的变慢。 ⑤.在行使状态,按下“start/stop”键,表示出租车到站,结束行程。这时屏幕显示如图2-5所示的信息: 图2-5 同时,系统播放“您好!行使里程xxx.xx公里,应付xxx.xx元,请检查您的随身物品,欢迎再次乘坐,再见!”的提示音。 2.2.5实时时钟功能 用实时时钟芯片DS1302作为时钟电路,产生年/月/日/时/分/秒等信号,供系统调用。 2.2.6按键的功能 (1)“start/stop”键—开始进入行使/结束行使(到站)。 (2)“SpeedUp”键—行使加速按键。按下次按键,可使出租车的速度由0Km上升到100Km。 (3)“SpeedDown”键--行使减速按键。按下次按键,可使出租车的速度由100K下降到0Km。 (4)“Reset”键--进入空车状态。 第3章 硬件设计 3.1电源模块 方案比较:1、电源采用220v交流电,通过整流滤波电路再经过稳压器件得到需要的+5v电压 2. 直接输入一个6—10v的直流电压,再用稳压芯片芯片得到+5v电压; 通过仔细的考虑,计费系统最终是安装在计程车上的,电源一般不是220v交流电压,而是有电瓶输出的直流电压,再考虑总体设计成本问题,因此采用方案2。 具体电路图如下图3-1: 电源的输入可以采用两路输入,可接一路备用电源。防止了突然断电而丢失数据的情况,进一步增加了系统的稳定性。 图3-1 电源结构图 3.2控制模块 方案比较:目前比较实用的mcu方案有: 51系列单片机, avr系列单片机, 菱阳系列单片机 Pic系列单片机 通过分析系统需求,对于此系统51系列单片机的资源已经足够,所以采用89s52单片机做系统的mcu控制单元性价比最高。 本系统采用11.0592Mhz的晶振,s51系列支持isp下载编程,可以方便程序的调试开发,减小开发时的成本。具体电路图如图3-2: 图3-2 控制器电路 3.3 Lcd显示模块 方案比较: 1、led数码管轮流显示 2、1602lcd显示 3、12864lcd显示 Led显示可以基本实现要显示的功能,但轮流显示给顾客的界面很不方面,各种数据不能同时显示,虽然成本低,但不可取。 1602lcd可以实现教多数据的显示,但要显示汉字比较麻烦,所能显示的汉字个数也太少,也不可取 12864lcd大屏幕显示,能显示比较人性化的页面,采用串行控制只需4根控制线,不必占有控制系统的过多io口,性价比最高 因此选取12864lcd作为显示部分。 其中设计了背光控制电路,ledak端为低电平是背光亮,高电平时灭,可以工作在节电模式。具体电路如图3-3所示: TG12864E 是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64 全点阵液晶 显示器组成。可完成图形显示,也可以8×4 个(16×16 点阵)汉字。 主要技术 参数 转速和进给参数表a氧化沟运行参数高温蒸汽处理医疗废物pid参数自整定算法口腔医院集中消毒供应 和性能: ·电源:VDD:+2.7~ +5V; 模 块内自带-10V负压,用于LCD的驱动 电压。 · 显示内容:128(列)×64(行)点 ·全屏幕点阵 · 七种指令 · 与CPU接口采用8 位数据总线并行输入输出和8 条控制线 · 占空比1/64 · 工作温度:-10℃~+60℃,储存温度:-20℃~+70℃,可选择宽温:-20℃~+70℃ 外形尺寸图如图3-4所示: 图3-3 液晶显示电路 图3-4 液晶显示屏外形 .TG12864EL 串口接线方式如图3-5所示: 图 图3-5 3.4按键模块 方案比较: 1、使用触摸屏作为控制输入 2、使用矩阵或独立按键作为控制输入 分析: 本系统本考虑使用触摸屏,使系统界面感觉更加人性化,但使用触摸屏在要输入数字时,12864同时也要显示出数字,由于12864要显示键盘的数字比较勉强,要输入数字时还是用矩阵键盘比较合适,如此考虑触摸屏就非常多余, 矩阵键盘扫描时需要较长的时间,因此利用两个独立按键作为系统开始与结束的按键,运用比较方便。 具体电路如图3-6和图3-7所示: ① 按键扫描模块电路图及说明: 整个系统只有两个按键,一个“启动/停止”,一个“复位”;本模块功能:扫描按键功能,返回扫描结果。 图3-6 独立按键 图3-7 矩阵按键 3.5实时时钟模块 本模块采用ds1302,性价比较高,晶振采用时钟标准频率32.768Mhz,控制电路较简单,符合I2C总线。可实现年月日时分秒的显示,还可选择工作12小时制还是24小时制模式。电路接图如图3-8所示: 图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所示: 图3-11 电机驱动电路,采用另一个稳压芯片输出与单片机电源电路隔离开来,可以防止电机大电流对单片机的干扰,并用电位器可实现调速设置,可以简单的模拟车轮的转动。其电路图如下图3-12所示: 图3-12 电机驱动电路 第4章 系统程序设计 4.1系统主程序流程框图:(如图4-1所示) 图4-1 4.2里程和费率计算程序流程图(如图4-2所示): 图4-2 //********************************************************* // 费率计算函数 //********************************************************* void price() { if(RunMilege<=2300) //TotalPrice=700+100; TotalPrice=800; if((RunMilege>2300)&&(RunMilege<=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所示) 图4-3 键盘扫描子程序模块//********************************************************* void scankey() { if(k2()) { bell(); if(mode==0x00) { mode = 0x01; write_inst(0x01); } else if(mode==0x01) { flag = 0; mode = 0x02; write_inst(0x01); } } if(k4()) { bell(); if(mode==0x02) { flag = 0; play_fg1 = 0; play_fg2 = 0; mode = 0x00; write_inst(0x01); count = 0; } } } 结束语 通过这次设计,我觉得自己学到了很多东西: 其中我接触到了更多平时没有接触到的元器等,发现了自己很多不足之。我体会到了所学理论知识的重要性:知识掌握越多,设计得就更加严谨,更加顺利。 了解了进行一项相对比较大型的科研设计所必不可少的几个阶段。我经过这次系统的课程设计,熟悉了对一项课题进行研究,设计和试验的详细过程。这些在我们在将来的工作和学习当中都会有很大的帮助。 加深了解了查阅资料和利用工具书的重要性.平时课堂上所学习的知识大多比较陈旧,作为电子信息工程的学生,由于专业涉及知识广,一个人不可能什么都学过,什么都懂,因此,当我在设计过程中需要用到一些不曾学过的东西时,就要去有针对性地查找资料,然后加以利用吸收,以提高自己的应用能力,而且还能增长自己见识,补充我的专业知识。 参考文献 (1)张鑫、华臻、陈书谦.《单片机原理及应用》[M].电子工业出版社,2005.. (2)丁元杰、吴大伟.《单片微机实题集与实验指导书》[M].机械工业出版社, 2004. (3)凌阳大学计划—《出租车计费系统》-电子文档资料 Mcu 控制部分 显示部分 按键输入 实时时 钟 掉电存 储 语音报价 车轮模拟测速 +5v电源 � EMBED Visio.Drawing.11 ��� � EMBED Visio.Drawing.11 ��� � EMBED Visio.Drawing.11 ��� � EMBED Visio.Drawing.11 ��� � EMBED Visio.Drawing.11 ��� � EMBED Visio.Drawing.11 ��� � EMBED Visio.Drawing.11 ��� PAGE - 3 - _1229694405.vsd �  2007年xx月xx日 xx时xx分xx秒 < 空 车 >� _1240719756.vsd � � � 单片机 I/O口初始化� 开始� 外部中断 初始化� 显示模块 初始化� 时钟模块 初始化� 各变量、标志 清零 显示模式设为图形方式 显示一幅个性化图片 显示模式转为文本方式 显示一幅个人信息 =0 执行空车工作模式 进入模式1 工作状态 脉冲计数 及里程计算 工作模式 MODE=? 进入载客工作 状态 =1 =2 Flag=?� 显示迎客中文 界面 播放语音信息 费率计算 键盘扫描模块 进入模式0 工作状态 =0 =1 进入模式2 工作状态 Play_g1=?� =0 显示到站菜单 显示里程及金额 播报行使里程 及应付金额数 显示 结束中文界面 =1 Play_g2=?� 播报“请检查您的随身物品”、“欢迎再次乘坐本公司出租汽车,再见” =0 =1 _1240719957.vsd � � 开始� 工作方式 = 2 � K2 被按下? 工作方式 = 0 ? 工作方式 = 1 � 工作方式 = 1 ? K4 被按下? 工作方式 = 0 � 工作方式 = 2 ? 返回� 是 是 否 是 否 是 否 是 否 否 _1240719892.vsd � � 开始� Milege<=2.3Km Milege=7.00+1.00� (Milege>2.3Km)&& (Milege<=35Km) Price=8.00+(Milege-2.3)*2.6; � (Milege>35Km) Price=8.00+(35-2.3)*2.6+� 是 是 是 否 否 开始� Milege:里程 Price:费率 _1233648011.vsd � 起步价:7.0元 总里程:xxx.xx公里 总金额:xxx.xx元� _1229111341.vsd � 您好! 欢迎乘坐本公司出租汽车,谢谢!�
本文档为【计费】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_120456
暂无简介~
格式:doc
大小:809KB
软件:Word
页数:21
分类:互联网
上传时间:2010-06-28
浏览量:23