出租车计费系统_第1页
出租车计费系统_第2页
出租车计费系统_第3页
出租车计费系统_第4页
出租车计费系统_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计报告项目名称:出租车计价器设计与制作课程名称:单片机技术二级学院:电气与电子工程学院系:电气工程系班级:14 电气 4 班学号: 2014010143409学生姓名:黄凌周小组成员:刘智超黄凌周指导教师:钟立华成绩:报告完成日期2016 年 12 月 20 日.目录摘 要.21 课程设计任务书 .31.1课程设计任务 .31.2课程设计方案 .32 硬件电路设计 .42.1振荡电路 .42.2复位电路设计 .52.3键盘接口电路 .52.4显示电路 .62.4.11602lcd 的基本参数及引脚功能 .62.4.2显示模块采用 1602 液晶显示接口电路 .72.5单片机各引脚功能说明

2、 .83 软件设计.103.1单片机资源使用 .103.2单片机软件模块设计 .103.2.1中断子函数 .103.2.2判键子函数 .113.2.3显示子程序 .113.3总程序流程框图 .13总结 .14参考文献 .15附录 1元件件清单 .16附录 2原理图 .17附录 3程序清单 .18;.摘 要本设计的是一个基于单片机stc89c52的出租车自动计费设计, 附有复位电路 , 时钟电路 , 键盘电路等。复位电路是单片机的初始化操作 , 除了正常的初始化外 , 为摆脱困境 , 通过复位电路可以重新开始。时钟电路采用 12mhz的晶振 , 作为系统的时钟源 , 具有较高的准确性。在上电时字

3、符型液晶 1602显示最初的起步价, 里程收费,等待时间收费三种收费,通过按键可以调整起步价,里程收费,等待时间收费。通过按键模拟出租车的运行,暂停,停止。在 1602液晶上可以显示运行的时间, 运行时暂停的时间,通过计算可以得出总共的费用和总的路程。在这里主要是以stc89c52单片机为核心控制器, p1口接 1602液晶显示模块。关键字stc89c52; 1602液晶;出租车计费器;.1 课程设计任务书1.1课程设计任务基于单片机出租车模拟计价器,采用at24c02 存储芯片 +lcd1602液晶显示等设计而成。 用 24c02 来存储单价, 通过按键来模拟增加里程,模拟出租车向前开。通过

4、液晶显示器显示当前的行驶状态、行驶公里、行驶时间时间(时、分、秒)、费用、单价、等信息。可以设置每公里单价,以及夜间单价和白天单价的不同模式,设置后掉电无需重新设置,设置有等待/ 继续计时模式。计费分行走的里程 * 单价 +等待的时间 * 价格。1.2课程设计方案方案一:采用数字电子技术, 利用 555 定时芯片构成多谐振荡器, 或采用外围的晶振电路作为时钟脉冲信号,采用计数芯片对脉冲尽心脉冲的计数和分频,最后通过译码电路对数据进行译码,将译码所得的数据送给数码管显示,一下是该方案的流程框图,方案一如图1.1 所示:时等待信号数计时码钟公里脉冲计费管脉译码显冲计费脉冲示图 1.1 方案一方案二

5、:采用 eda技术,根据层次化设计理论, 该设计问题自顶向下可分为分频模块,控制模块 计量模块、译码和动态扫描显示模块, 其系统框图如图 1.2 所示:时钟信号分频器计费等待信号计时译码显示公里脉冲控制器计费 / 复位计程图 1.2 方案二;.方案三:采用 mcu技术,通过单片机作为主控器,利用 1602 字符液晶作为显示电路,采用外部晶振作为时钟脉冲, 通过按键可以方便调节, 以下是方案三的系统流程图, 本方案主要是必须对于数字电路比较熟悉, 成本又高。方案图如图 1.3 所示:电源电路1602液晶按键电路stc89c52led灯复位电路图 1.3 方案三方案总结:通过各个方案的比较本次采用

6、方案三, 不但控制简单, 而且成本低廉,设计电路简单。2 硬件电路设计2.1振荡电路单片机内部有一个高增益、反相放大器,其输入端为芯片引脚xtal1,其输出端为引脚xtal2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容( 电 容 和 一 般 取20pf )。 这 样 就 构 成 一 个 稳 定 的 自 激 振 荡 器 。振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生 ale信号,此时得到的信号时机器周期信号。振荡电路如图2.1 所示:图 2.1 振荡电路;.2.2复位电路设计复位操作有两种基本形式: 一种是上电复位, 另一种是按键复位。 按键复位具有上电复位功

7、能外,若要复位,只要按图中的 reset键,电源 vcc经电阻 r1、 r2 分压,在 reset端产生一个复位高电平。上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间reset引脚获得高电平,随着电容的充电, rerst引脚的高电平将逐渐下降。 rerst引脚的高电平只要能保持足够的时间( 2 个机器周期),单片机就可以进行复位操作。按键复位电路图如图 2.2 所示。图 2.2 复位电路2.3键盘接口电路(1) 独立式键盘:独立式键盘中,每个按键占用一根 i/o 口线,每个按键电路相对独立。 i/o 口通过按键与地相连, i/o 口有上拉电阻,无键按下时,引脚端

8、为高电平,有键按下时,引脚电平被拉低。 i/o 口内部有上拉电阻时,外部可不接上拉电阻。键盘接口电路如图 2.3 所示:图 2.3 键盘接口电路;.2.4显示电路2.4.1 1602lcd的基本参数及引脚功能1602lcd分为带背光和不带背光两种,基控制器大部分为 hd44780,带背光的比不带背光的厚, 是否带背光在应用中并无差别, 两者尺寸差别如图 10 所示。图 10 lm016l 结构图lcd1602主要技术参数:容量 :16 2个字符芯片工作电压 :4.5 5.5v工作电流 :2.0ma(5.0v)模块最佳工作电压 :5.0v字符尺寸 :2.95 4.35(wh)mm引脚功能说明:1

9、602lcd采用标准的 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 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”, 使用时可以通过一个 1

10、0k的电位器调整对比度。第 4 脚: rs为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5 脚: r/w为读写信号线,高电平时进行读操作,低电平时进行写操作。当 rs和 r/w共同为低电平时可以写入指令或者显示地址,当rs为低电平 r/w为高电平时可以读忙信号,当rs为高电平 r/w为低电平时可以写入数据。第 6 脚:e 端为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。第 7 14 脚: d0d7为 8 位双向数据线。第 15 脚:背光源正极。第 16 脚:背光源负极。2.4.2显示模块采用 1602 液晶显示接口电路图 2.4 显示电路;.2.5单片机各引脚功

11、能说明下面对 stc89c52各引脚的功能进行较为详细的介绍:1) 电源引脚 vcc 和 vssvcc(40脚) :电源端为 +5vvss(20脚) :接地端。2) 时钟电路引脚 xtal1和 xtal2xtal2(18脚) :接外部晶体和微调电容的一端。在单片机内部它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。 若需采用外部时针电路时,该引脚输入外时钟脉冲。 要检查 89c52的振荡电路是否正常工作, 可用示波器查看 xtal2端是否有脉冲信号输出。xtal1(19脚) :接外部晶体和微调电容的另一端。在片内,它是振荡电路反向放大器的输入端。在采用外部时钟时,该引脚必须接地

12、。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

13、信号可以用作对外输出时钟或定时信号。如果你想看一下stc89c52芯片的好坏,可用示波器查看ale 端是否有脉冲信号输出,如有脉冲信号输出,则stc89c52基本上是好的。ale的负载驱动能力为8 个 ls 型 ttl(低功耗高速 ttl)。psen(29 脚);程序存储允许输出信号引脚,在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引脚接errom的 oe端。 psen端有效,即允许读出errom/rom中的指令码。 cpu在从外部 errom/rom取指令期间,每个周期 psen两次有效。不过,在访问片外 ram时,要少产生两次 psen 负脉冲信号。要检查一个

14、stc89c52小系统上电后 cpu能否正常到 errom/rom中读取指令码,也可用于示波器看 psen端有无脉冲输出。如有,说明基本上工作正常。ea/vpp( 31 脚):外部程序存储器地址允许输入端 / 固化编程电压输入端。当 ea 引脚接高电平时, cpu只访问片内 errom/rom并执行内部程序存储器中的指令。但在 pc(程序计数器)的值超过 offfh(对 8751/8051 为 4k)时,将自动转向执行片外存储器的程序。当出入信号 ea 引脚接低电平(接地)时, cpu只访问外部 errom/rom并执行外部程序存储器中的指令,而不管是否有片内程序存储;.器。对于无芯片内的 r

15、om的 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。表 1 p3口的第二功能表引脚第二功能p3.0rxd (串行输入口)

16、p3.1txd (串行输出口)p3.2int0(外部中断0)p3.3int1(外部中断1)p3.4t0(定时器0 外部中断)p3.5t1(定时器1 外部中断)p3.6wr(外部存储器写选通)p3.7rd(外部存储器读写通);.3 软件设计开始3.1单片机资源使用否在本次设计中像电路键盘用到了是否产生p2中断口?,其中 p2.0 到 p2.5 口作为键盘的输入,显示电路用到了 p1 和 p3 口, p1 口为是液晶的数据口。3.2单片机软件模块设计count+3.2.1中断子函数否count=20?对于中断程序,只要定时器计数满就会产是生中断 50ms 中断一次,共计 20 次,秒钟加 1,秒钟

17、计满再分钟加,当second+分钟加到 99 时全部清零。以下是中断子count=0函数的流程图如图3.1 所示:否second=60?是minite+second=0否minite=99 ?是minite=0结束;.图 3.1 中断子程序流程图3.2.2判键子函数对于独立式键盘判键,首先看有键按下不,如果有键按下则延时一会儿,在判断是否真的有键按下, 如果确实有键按下, 在判键释放, 最后执行键功能程序。判键子函数的流程框图如图3.2 所示:图 3.2 判键子程序流程图3.2.3显示子程序1602液晶是字符型液晶,它的内部自带字符库,它可以写两行的字符,同时每行可以写 40 个字符,在写显示

18、程序的时候,我们先写命令,再设定字符显;.示,最后写数据, 在每写一次命令或数据都需要判断液晶是否忙。 液晶显示程序流程图如图 3.3 所示:开始lcd初始化lcd写命令lcd判忙否p0.7=0?是否写完成了?是设置字符位置写数据判忙否p0.7=0?是否写完成了?是结束;.3.3 显示子程序流程图开始定时器初始化液晶初始化判断按键函数1否是3.3 总程序流程框图v=?v=2v=3v=1整体程序的流程框图如图 3.4所示:value1+10value2+5value3+5数据处理显示函数否jump_in=1?是液晶清屏否判断按键函数是v1=?v1=1v1=2v1=3运行暂停停止数据处理显示函数否

19、jump_out=1?清零函数是液晶清屏结束;.图 3.4 整体程序的流程框图总结出租车计费器系统的设计已经全部完成,能按预期的效果进行模拟汽车启动,停止,暂停等功能 ,并能够通过 lcd 显示车费数目。本款出租车计价器包括单价输出、单价调整、显示当前的系统时间等功能。另外,多功能出租车计价器还具有性能可靠、电路简单、成本低、实用性强等特点,加上经过优化的程序,使其有很高的智能化水平。两个星期来, 经过自己努力, 基本上完成了设计要求的内容, 在系统可行性分析、原理图设计等方面都作了许多实际工作, 取得了一些成绩, 同时也遇到了一些问题,存在一些不足。 经过这两个星期的学习和工作, 我觉得自己

20、不论是在理论知识方面还是在动手能力方面都有了不小的进步, 自己从中受益匪浅。 这次设计很好的把以前学到的理论知识应用于实践, 使我认识到理论知识与实践之间有一定的差距,只有通过不断的努力学习和实践才能很好的把理论知识应用到实践当中,也只有通过不断的实践才能对理论知识的理解。通过这次设计不仅学会了如何去查找相关资料, 更重要的是通过查找资料和翻阅书籍学到了不少知识, 扩大了知识面, 提高了知识水平。 经过单元设计和系统设计巩固了以前所学的专业知识, 自己真正认识到理论联系实际的重要性, 为以后的学习和工作提供了很多有价值的经验。 通过这次设计不仅增强了自己的动脑能力和动手能力,也提高了我思考问题

21、、分析问题、解决问题的能力,更重要的是学会用工程化的思想来解决问题。 这在以前的学习过程中是不曾学到的。 在短短的三个月时间内完成设计内容,在很大程度上得益于老师的帮助。这次设计是我认真认识到完整、 严谨、科学分析问题、 解决问题的思想是多么的重要,只有拥有了科学的态度才能设计出有用的产品。另外通过本次设计,;.是我认识到自己理论知识的应用能力有很大的欠缺, 需要在以后的学习中进一步提高。参考文献1 李广弟 , 朱月秀 , 冷祖祁 . 单片机基础 m. 第 3 版. 北京航空航天大学出版社,2007 年 1 月2 李华 .mcs-51系列单片机实用接口技术 m. 北京航空航天大学出版社 ,19

22、963 马忠梅,张凯,马岩,单片机的 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程序清单

23、#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 元ui

24、nt wan_3l_price = 70; uint wan_3w_price = 22; uint wan_wait_price = 10;/晚上 3 千米内的单价 / 千米7 元/晚上 3 千米外的单价 / 千米2.2 元/晚上等待时的单价 / 分钟 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+

25、)for(j=0;j= 5)/按键松开松手检测key_value = 0;key_new = 1;/ 按键松开后进入等待按键状态elseif(key_io & 0x3f) != 0x3f) /按键按下key_value +;elsekey_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;/得到按键值;.c

26、ase 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;distance

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论