




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机出租车计费器的设计题 目 基于单片机的出租车计价器 学 生 指导教师 年 级 2012级专 业 电子信息工程二级学院 信息工程学院邯郸学院信息工程学院2015年1月目 录摘 要2abstract31 课程设计任务书41.1 课程设计任务41.2 课程设计方案42硬件电路设计62.1 振荡电路62.2 复位电路设计62.3 键盘接口电路72.4 显示电路72.4.1 1602lcd的基本参数及引脚功能72.4.2 显示模块采用1602液晶显示接口电路92.5 单片机各引脚功能说明93 软件设计113.1 单片机资源使用113.2 单片机软件模块设计123.2.1 中断子函数123.2.2 判键子函数123.2.3 显示子程序133.3 总程序流程框图14总结15参考文献16致谢17附录1 元件件清单18附录2 原理图19附录3 程序清单20基于单片机的出租车计价器1 引言随着现代经济飞速的发展,人民生活水平的提高,越来越多的居民为了方便的出行,大都会选择乘坐出租车出行,而且随着科学技术的前进,各种各样的打车软件相继出现,例如滴滴打车软件等,都更加方便了生活,人们为了高效率的活动也更倾向于打车,于是了解出租车必备设备计价器成了人们的兴趣,这可以使我们了解其原理,避免出现被多要费用等情况的出现。本课题采用stc89c52单片机进行设计,其中用按键来实现轮胎转圈行驶的里程数、显示模式的切换、时钟的调整、等待时间的增加等功能,使用ds1302进行计时,lcd1602液晶显示屏显示,使用芯片at24c02进行内容存储,使用keil编程软件编写程序,实现了路程清零、里程数增加及路程和费用的显示、时间的加减调整、显示内容的切换等功能。主要研究步骤如下:(1)熟悉stc89c52rc单片机及其最小系统与开发环境;(2)将所需器件按照原理图进行焊接(3)在keil中编写程序(4)将程序下载到单片机中,进行测试和调试。2 背景2.1 选题背景我国在70年代开始出现出租车,但那时的计费系统大都是国外进口,不但不准确,而且价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已经十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。现在各大中城市出租车行业都已经普及自动计价器,所以计价器技术的发展已成定局。随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,而计价器的普及也是毫无疑问,所以未来汽车计价器的市场十分有潜力。 2.2 选题目的及意义出租车时城市交通的重要组成部分,行业健康和发展也获得越来越多的关注。出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,出租车计价器的研究的研究也是十分有应用价值的。3 设计要求基于单片机出租车模拟计价器,采用at24c02存储芯片+lcd1602液晶显示等设计而成。用24c02来存储单价,通过按键来模拟增加里程,模拟出租车向前开。通过液晶显示器显示当前的行驶状态、行驶公里、行驶时间时间(时、分、秒)、费用、单价、等信息。可以设置每公里单价,以及夜间单价和白天单价的不同模式,设置后掉电无需重新设置,设置有等待/继续计时模式。计费分行走的里程*单价+等待的时间*价格。3.1 系统功能(1) k1:开启显示屏,模式选择。模式一:无人状态下,显示时间和单价;模式二:等待时间显示,模式三:显示时分秒和年月日。(2) k2:调整时钟(3) k3:在模式二中表示等待时间开始和暂停;在模式三中表示调整位的自减。(4) k4:在模式三中表示调整位的自加。(5) k5:在模式一中表示里程自加,每按下一次表示里程加0.1k。(6) k6:乘客下车后里程清零。4 课程方案论证4.1 方案一:采用数字电子技术,利用555定时芯片构成多谐振荡器,或采用外围的晶振电路作为时钟脉冲信号,采用计数芯片对脉冲尽心脉冲的计数和分频,最后通过译码电路对数据进行译码,将译码所得的数据送给数码管显示,一下是该方案的流程框图,方案一如图4.1所示:时钟脉冲等待信号公里脉冲计费脉冲计时计费译码数码管显示图4.1方案一4.2 方案二 采用eda技术,根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块 计量模块、译码和动态扫描显示模块,其系统框图如图4.2所示:时钟信号等待信号公里脉冲计费/复位分频器控制器计费计时计程译码显示图4.2方案二4.3 方案三采用mcu技术,通过单片机作为主控器,利用1602字符液晶作为显示电路,采用外部晶振作为时钟脉冲,通过按键可以方便调节,一下是方案三的系统流程图,本方案主要是必须对于数字电路比较熟悉,成本又高。方案图如图4.3所示:stc89c521602液晶led灯电源电路按键电路复位电路图4.3方案三 图4.3方案三4.4 方案选择通过各个方案的比较本次采用方案三,不但控制简单,而且成本低廉,设计电路简单。5 硬件电路设计5.1 振荡电路单片机内部有一个高增益、反相放大器,其输入端为芯片引脚xtal1,其输出端为引脚xtal2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容(电容和一般取30pf)。这样就构成一个稳定的自激振荡器。 振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生ale信号,此时得到的信号时机器周期信号。振荡电路如图5.1所示:图5.1振荡电路5.2 复位电路设计 复位操作有两种基本形式:一种是上电复位,另一种是按键复位。按键复位具有上电复位功能外,若要复位,只要按图中的reset键,电源vcc经电阻r1、r2分压,在reset端产生一个复位高电平。上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间reset引脚获得高电平,随着电容的充电,rerst引脚的高电平将逐渐下降。rerst引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。按键复位电路图如图2.2所示。 图5.2复位电路5.3 键盘接口电路 (1)独立式键盘:独立式键盘中,每个按键占用一根i/o口线,每个按键电路相对独立。i/o口通过按键与地相连,i/o口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚电平被拉低。i/o口内部有上拉电阻时,外部可不接上拉电阻。键盘接口电路如图2.3所示: 图5.3键盘接口电路5.4 显示电路5.4.1 1602lcd的基本参数及引脚功能1602lcd分为带背光和不带背光两种,基控制器大部分为hd44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图10所示。 图10 lm016l结构图lcd1602主要技术参数:容量:162个字符芯片工作电压:4.55.5v工作电流:2.0ma(5.0v)模块最佳工作电压:5.0v字符尺寸:2.954.35(wh)mm引脚功能说明:1602lcd采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表1所示: 表1引脚接口说明表编号符号引脚说明编号符号引脚说明1vss电源地9d2数据2vdd电源正极10d3数据3vl液晶显示偏压11d4数据4rs数据/命令选择12d5数据5r/w读/写选择13d6数据6e使能信号14d7数据7d0数据15bla背光源正极8d1数据16blk背光源负极第1脚:vss为地电源。第2脚:vdd接5v正电源。第3脚:vl为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10k的电位器调整对比度。第4脚:rs为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:r/w为读写信号线,高电平时进行读操作,低电平时进行写操作。当rs和r/w共同为低电平时可以写入指令或者显示地址,当rs为低电平r/w为高电平时可以读忙信号,当rs为高电平r/w为低电平时可以写入数据。第6脚:e端为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。第714脚:d0d7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。 5.4.2 显示模块采用1602液晶显示接口电路 图5.4显示电路 5.5 单片机各引脚功能说明 下面对stc89c52各引脚的功能进行较为详细的介绍:1)电源引脚vcc和vss vcc(40脚):电源端为+5v vss(20脚):接地端。 2)时钟电路引脚xtal1和xtal2xtal2(18脚):接外部晶体和微调电容的一端。在单片机内部它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时针电路时,该引脚输入外时钟脉冲。要检查89c52的振荡电路是否正常工作,可用示波器查看xtal2端是否有脉冲信号输出。xtal1(19脚):接外部晶体和微调电容的另一端。在片内,它是振荡电路反向放大器的输入端。在采用外部时钟时,该引脚必须接地。 3)控制信号脚 rst ale psen 和ea。rst(9脚):rst是复位信号输入端,高电平有效。在此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。ale/prog(30引脚):地址锁存允许信号端。当stc89c52上电正常工作后,ale引脚不断向外输出正脉冲信号。此频率为振荡器频率fosc的1/6,当cpu访问片外存储器时,ale输出信号作为锁存低8位地址的控制信号。在cpu访问片外数据存储时,每取值一次(一个机器周期)会丢失一个脉冲。平时不访问片外存储时,ale端也以1/6的振荡频率固定输出正脉冲,因而ale信号可以用作对外输出时钟或定时信号。如果你想看一下stc89c52芯片的好坏,可用示波器查看ale端是否有脉冲信号输出,如有脉冲信号输出,则stc89c52基本上是好的。ale的负载驱动能力为8个ls型ttl(低功耗高速ttl)。 psen(29脚);程序存储允许输出信号引脚,在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引脚接errom的oe端。psen端有效,即允许读出errom/rom中的指令码。cpu在从外部errom/rom取指令期间,每个周期psen两次有效。不过,在访问片外ram时,要少产生两次psen负脉冲信号。要检查一个stc89c52小系统上电后cpu能否正常到errom/rom中读取指令码,也可用于示波器看psen端有无脉冲输出。如有,说明基本上工作正常。ea/vpp(31脚):外部程序存储器地址允许输入端/固化编程电压输入端。当ea引脚接高电平时,cpu只访问片内errom/rom并执行内部程序存储器中的指令。但在pc(程序计数器)的值超过offfh(对8751/8051为4k)时,将自动转向执行片外存储器的程序。当出入信号ea引脚接低电平(接地)时,cpu只访问外部errom/rom并执行外部程序存储器中的指令,而不管是否有片内程序存储器。对于无芯片内的rom的8031或8032,须外扩errom,此时必须将ea引脚接地。如果使用有片内rom的stc89c52,外扩errom也是可以的,但也要使ea接地。4)i/o(输入/输出端口,p0,p1,p2,p3)p0口:p0口是一个漏极开路的8位准双向i/o端口。p1口:8位准双向i/o端口。p2口:即可以做地址总线输出地址高8位,也可以做普通i/o用,(此时为准双向口)。p3口:双功能口,即可以做普通i/o口用(此时为准向口,也可以按每位定义实现第二功能操作)。见表1。引脚第二功能p3.0rxd (串行输入口)p3.1txd (串行输出口)p3.2int0(外部中断0)p3.3int1(外部中断1)p3.4t0(定时器0外部中断)p3.5t1(定时器1外部中断)p3.6wr(外部存储器写选通)p3.7rd(外部存储器读写通)表1 p3口的第二功能表6 软件设计6.1 单片机资源使用在本次设计中像电路键盘用到了p2口,其中p2.0到p2.5口作为键盘的输入,显示电路用到了p1和p3口,p1口为液晶的数据口。6.2 单片机软件模块设计6.2.1 中断子函数 对于中断程序,只要定时器计数满就会产生中断50ms中断一次,共计20次,秒钟加1,秒钟计满再分钟加,当分钟加到99时全部清零。以下是中断子函数的流程图如图6.1所示:图3.1中断子程序流程图 图6.16.2.2 判键子函数 对于独立式键盘判键,首先看有键按下不,如果有键按下则延时一会儿,在判断是否真的有键按下,如果确实有键按下,在判键释放,最后执行键功能程序。判键子函数的流程框图如图6.2所示: 图6.2判键子程序流程图6.2.3 显示子程序 1602液晶是字符型液晶,它的内部自带字符库,它可以写两行的字符,同时每行可以写40个字符,在写显示程序的时候,我们先写命令,再设定字符显示,最后写数据,在每写一次命令或数据都需要判断液晶是否忙。液晶显示程序流程图如图6.3所示: 3.3显示子程序流程图 图6.36.3 总程序流程框图整体程序的流程框图如图6.4所示:图3.4整体程序的流程框图总结 图6.47 测试8 结论出租车计费器系统的设计已经全部完成,能按预期的效果进行模拟汽车启动,停止,暂停等功能,并能够通过lcd显示车费数目。本款出租车计价器包括单价输出、单价调整、显示当前的系统时间等功能。另外,多功能出租车计价器还具有性能可靠、电路简单、成本低、实用性强等特点,加上经过优化的程序,使其有很高的智能化水平。几个月来,经过自己努力,基本上完成了设计要求的内容,在系统可行性分析、原理图设计等方面都作了许多实际工作,取得了一些成绩,同时也遇到了一些问题,存在一些不足。经过这几个月的学习和工作,我觉得自己不论是在理论知识方面还是在动手能力方面都有了不小的进步,自己从中受益匪浅。这次设计很好的把以前学到的理论知识应用于实践,使我认识到理论知识与实践之间有一定的差距,只有通过不断的努力学习和实践才能很好的把理论知识应用到实践当中,也只有通过不断的实践才能对理论知识的理解。通过这次设计不仅学会了如何去查找相关资料,更重要的是通过查找资料和翻阅书籍学到了不少知识,扩大了知识面,提高了知识水平。经过单元设计和系统设计巩固了以前所学的专业知识,自己真正认识到理论联系实际的重要性,为以后的学习和工作提供了很多有价值的经验。通过这次设计不仅增强了自己的动脑能力和动手能力,也提高了我思考问题、分析问题、解决问题的能力,更重要的是学会用工程化的思想来解决问题。这在以前的学习过程中是不曾学到的。在短短的三个月时间内完成设计内容,在很大程度上得益于老师的帮助。这次设计是我认真认识到完整、严谨、科学分析问题、解决问题的思想是多么的重要,只有拥有了科学的态度才能设计出有用的产品。另外通过本次设计,是我认识到自己理论知识的应用能力有很大的欠缺,需要在以后的学习中进一步提高。参考文献1 李广弟,朱月秀,冷祖祁.单片机基础m.第3版.北京航空航天大学出版社,2007年1月2李华.mcs-51系列单片机实用接口技术m.北京航空航天大学出版社,19963 马忠梅,张凯,马岩,单片机的c语言应用程序设计,m,北京:北京航空航天大学出版社,2003.11;4 胡辉,单片机原理及应用设计21世纪高等院校规划教材m,水利水电出版社,2005.7;5 刘守义,单片机应用技术m,西安:西安电子科技大学出版社,1996.8;附录:致谢 本论文是在何淑珍老师的悉心指导下完成的,何老师的渊博学识和丰富经验给我留下了深刻的印象。从何老师那里我学到的不仅是专业知识与实际问题科学解决的方法,更为重要的是勤奋和严谨治学的精神以及对学生的认真负责,老师的谆谆教诲使我受益匪浅,在此向何老师表示衷心的感谢并致以崇高的敬意!感谢家人给予我学业上和生活上的支持与照顾。同时感谢给予我帮助的各位老师、同学以及朋友们!附录1 元件件清单 表5.1元器件清单 名称规格数量备注 电阻 2001个1k1个10k5个1002个 电容20pf2个10f2个极性电容 发光二极管3个 按键7个直流电机1个 晶振12mhz1个 芯片stc89c521块1602液晶1块内带字符库附录2 原理图附录3 程序清单#include /调用单片机头文件#define uchar unsigned char /无符号字符型 宏定义变量范围0255#define uint unsigned int /无符号整型 宏定义变量范围065535uchar miao,fen = 0,shi;uchar flag_bai_hei; /白天的晚上的标志位uchar value;uint bai_3l_price = 60; /白天3千米内的单价 6元uint bai_3w_price = 18; /白天3千米外的单价/千米 1.8元uint bai_wait_price = 5; /白天等待时的单价/分钟 0.5元uint wan_3l_price = 70; /晚上3千米内的单价/千米 7元uint wan_3w_price = 22; /晚上3千米外的单价/千米 2.2元uint wan_wait_price = 10; /晚上等待时的单价/分钟 1元uint distance = 0; /行使的距离uint zong_jia; /总的价bit flag_300ms = 0;bit flag_1s ;bit flag_time_en = 0;#include lcd1602.h/*1ms延时函数*/void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j= 5) /按键松开松手检测key_value = 0;key_new = 1;/按键松开后进入等待按键状态else if(key_io & 0x3f) != 0x3f) /按键按下key_value +;else key_value =0;if(key_value = 5)/按键按下消抖key_value = 0;key_new = 0; /按键松开后进入等待松开按键状态key_can = 20;if(key_new = 0) & (key_old = 1)switch(key_io & 0x3f)case 0x3e: key_can = 1; break; /得到按键值 case 0x3d: key_can = 2; break; /得到按键值 case 0x3b: key_can = 3; break; /得到按键值 case 0x37: key_can = 4; break; /得到按键值 case 0x1f: key_can = 5; break; /得到按键值 case 0x2f: key_can = 6; break; /得到按键值 /write_sfm2(2,0,key_can); /按键按下显示按键值 key_old = key_new; #include menu.h/*对应菜单内的处理函数*/void menu_dis()if(menu_1 = 0)if(key_can = 6)distance +;write_sfm4(1,0,distance); if(key_can = 5) /清零 从新计价flag_time_en = 0;shi = 0;fen = 0;miao = 0;zong_jia = 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北医药学院药护学院《新媒体与文学》2023-2024学年第二学期期末试卷
- 2024-2025学年福建省龙岩高中高三5月教学质量检测试题语文试题(A卷)试题含解析
- 2025公司劳动合同模板
- 2025届广西南宁市新民中学初三练习题四(山东卷)英语试题含答案
- 云南省屏边县第一中学2025年高三下学期期中质量检测试题语文试题含解析
- 山西师范大学现代文理学院《教学设计与评价》2023-2024学年第二学期期末试卷
- 泰山职业技术学院《词汇学》2023-2024学年第一学期期末试卷
- 永平隧道施工方案
- 2025租赁合同的法律特征和种类
- 2025企业咨询服务合同(参考文本)
- (八省联考)陕西省2025年高考综合改革适应性演练 生物试卷(含答案详解)
- DG-TJ 08-2336-2020 绿道建设技术标准
- 新建农副产品深加工项目立项申请报告
- 工商企业管理毕业论文范文 工商企业管理5000论文范文
- 国际金融学课件完整版
- 2024会计职业规划
- 2024年(中级)多媒体应用设计师软考试题库大全(含真题等)
- 国家电网公司招聘高校毕业生应聘登记表
- 公众号转移合同模板
- 施工现场扬尘控制专项方案
- DB4413-T 44-2024 废气收集处理设施安装维护消防安全指南
评论
0/150
提交评论