51单片机基于出租车计价系统的毕业论文设计(编辑修改稿)内容摘要:

7 AT89S52 具有 ISP 的功能,即可以通过并口线直接将程序下载到单片机内,因此, AT89S52 具有两种状态,下载程序状态和运行状态。 该复位电路能实现上电自动复位,也能手动复位,一般复位时 RESET 应保持 20 毫秒以上高电平,此复 位时间由接地电容控制。 键盘电路 如图 35 所示为独立式按键电路,每个按键占用一根 I/O 口线,每根 I/O口线上按键的工作状态不会影响其它按键的工作状态。 这种按键的软件程序简单,但占用 I/O 口线较多。 (一跟口线接一个按键),适用于键盘数较少的系统中。 图 35 键电路图 图 36 按键实物图 泸州职业技术学院 系统组成及功能 8 LCD12864 显示 通过用 12864显示出租车的单程价、起步价、可以显示里程、总金额、等待时间、速度等。 现在的 LCD 价格便宜且适合我们做单片机的显示屏。 应用也十分广泛。 电路连接 如图37 所示。 图 37 显示电路 图 37 LCD12864 实物图 泸州职业技术学院 系统软件设计 9 第四章 系统软件设计 第一节 主程序设计 在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。 另外,在主程序模块中还需要设置启动 /清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。 然后,主程序将根据各标志寄存器 的内容,分别完成启动、清除、计程和计价等不同的操作。 主程序流程图如图 所示。 当按下 S1时,就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。 若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。 当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行 初始化过程。 泸州职业技术学院 系统软件设计 10 如图 41 主程序流程图 开始 初始化 键盘扫描程序 是否有按键 扫描键值 清楚键 4。 单程键 1。 往返键 2。 暂停键 3。 查询键 5。 返回键 6。 单程函数调用 往返函数调用 T0 暂停计时 显示全部清零 显示等待时间 显示里程、金额 Y Y Y Y Y Y N N N N N Y N 泸州职业技术学院 系统软件设计 11 第二节 定时中断服务程序 在定时中断服务程序中,每 1/40s 产生一次中断,当产生 40 次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。 其程序流程如图 42 所示。 图 42 定时中断服务程序 第三节 键盘服务程序 键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。 六个按键分别对 应六个简单的子程序。 如果按键 S1 被按下,则调用第一个子程序: begin_signal 标志置 1,将s_or_d 标志置 0。 表示单程开始。 如果按键 S2 被按下,则调用第一个子程序: begin_signal 标志置 1,将s_or_d 标志置 1。 表示往返开始。 开始 中断初始化 脉冲计算 是否到四十次 测量速度 返回 Y N 泸州职业技术学院 系统软件设计 12 如果按键 S3被按下,则调用第一个子程序: begin_signal 标志置 0。 表示暂停。 如果按键 S4被按下,则调用第一个子程序: pulse_counter 标志置 0,将 t置 0。 表示将显示数据清空。 如果按键 S5被按下,则调用第一个子程序: dispflag 标志 置 1。 表示进入查询界面。 如果按键 S6被按下,则调用第一个子程序: dispflag 标志置 0。 表示退出查询界面。 泸州职业技术学院 系统测试 13 第五章 系统测试 第一节 硬件调试 第一步:目测,检测外部的各元件电路是否有断点。 一般先检查有焊接点的线路,因为这些地方是最容易出现断点的可用带放大镜的台灯检查更佳,如图51为目测实图。 如图 51 目测实物图 第二步用万用表检测。 先用万用表复核目测中 有疑问的连接点,在检测各种电源线与底线是否有短路现象。 将万用表打在欧姆挡,然后将表笔接在被测线路之间,看实数是否有变化,有则表明导通。 如图 52 为万用表测试实物图。 泸州职业技术学院 系统测试 14 如图 52 第二节 软件调试 软件调试是通过对用户程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。 查看程序是否有逻辑错误。 如图 51程序窗口。 泸州职业技术学院 系统测试 15 如图 51 程序输入窗口 如图 52 为程序编译窗口。 泸州职业技术学院 系统测试 16 如图 52 程序编译窗口 如果信息栏显示没有错误,表明没有语法错误,然后可以生成“ *.HEX”文件下载到芯片里,与硬件联合调试。 泸州职业技术学院 结束语 17 结束语 经过这些天有关于出租车计价器的课程设计,使我对单片机的应用有了更深的了解。 在课程设计的过程中,还是碰到了许多的问题。 比如,对于数码管动态扫描显示和键盘的延时防抖的综合编程不能较好地解决;对于代码的前后顺序及调用掌握得还不够好;对于一些相关的应用软件没能熟练掌握。 通过这几天晚上的苦想和反复调试,以及参考网上的程序,最终还是没能把问题解决。 通过这次课程设计,我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,也充分体会到了自己设计东西 的乐趣、学会查阅资料和对别人的东西融会变通的重要性,也明白了很多知识光靠趴在书本上学是学不到其中的精髓的,必须亲自去试着实践,亲自去经历才能对它们真正的掌握,凡事都要自己去动下手,去实践一下,遇到困难,永远不要沮丧气馁。 在动手的过程中,不仅能增强实践能力,而且在理论上可以有更深的认识;这次设计给了我极大的鼓舞和信心,相信在以后的学习中可以通过不断的摸索和实践来提高其他方面的知识。 通过本次课程设计,又使我学到了许多书本上无法学到的知识 ,也使也深该体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很 多的巩固,同时也对单片机这一门课程产生了更大的 泸州职业技 术学院 致谢 18 致谢 首先要感谢我的家人,是他们让我能上大学;在大学里,先要学会学习才能学的更好,是老师教了我怎样学习,到现在能完成毕业设计,都少不了老师的功劳;在整个设计过程中,从硬件电路图到软件编程,应用了相当多的知识,包含了大学三年所学的知识,在此向各位任课老师表示感谢。 在设计过程中,指导老师李庭贵老师给予了我很大帮助,李老师对设计中出现的问题作了及时讲解和耐心指导,使我的设计得以顺利完成。 在此,特向李庭贵老师、何兵老师、等表示感谢;同时,很 多同学也给我提供了很多帮助,也向帮助我的同学表示感谢。 泸州职业技术学院 附录 A 19 附录 A 泸州职业技术学院 附录 B:程序清单 20 附录 B 程序清单 include define uint unsigned int define uchar unsigned char define rate 15//脉冲数与里程数的比例 sbit P20=P2^0。 sbit。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。