好文档 - 专业文书写作范文服务资料分享网站

公交车自动报站系统课程设计

天下 分享 时间: 加入收藏 我要投稿 点赞

制端开始传输数据传输完毕之后再调用一次延时子程序,使显示信息可以被人看到,所有工作做完之后返回,在进行下一次的信息进行显示。依次循环。 3、 仿真结果及分析

4.1仿真结果图

图4-1初始化图

如图4-1所示为仿真结果运行开始的图也就是系统运行但公交车未启动时的初始图,只通过时钟芯片显示了当前时间。

图4-2车辆启动显示图

图4-2为公交车启动系统自动显示时间和显示欢迎语以及服务提示的语音播报,图中用一个按键来控制脉冲的输入来模仿公交车的启动。

11

图4-3 A站显示图

图4-3为公交车到达A站时的运行结果图,系统通过对车轮走过的的路程来判别是否到站,仿真图中用一个脉冲发生器来模拟单片机通过对脉冲的的计数来与预定值进行判别,如果到站则进行播报并显示。

图4-4 B站显示图

12

图4-4为到达B 站时的仿真结果图,原理与A站的相同。本仿真只选取了少数几个站做代表,实际运用中可以添加更多的车站信息。 5、课程设计小结

经过了近几个月的学习和努力,我终于完成了基于单片机的公交车自动报站系统的设计,在这个过程中我的收获是非常多的,并且需要改进和学习的地方也非常多。我从以下两个方面来对自己在这次毕业设计的过程中的感想来做一下总结: 5.1 收获

通过这次设计我知道了在做一个系统之前很重要的是要做好需求分析,为此,我在网上查看了大量的相关资料,对目前市面上流行的几种公交车报站器进行了分析和比较,来为此次设计个方案确定来做了充足的准备。通过研究各种公交车报站器来自己确定要完成的公交车报站器的工作原理和要具备的各种功能。在我做这次毕业设计之前,我以为这东西很好做,一做起来才感动力不从心,并且我对一些EDA的软件基本没有了解,甚至都不知道它是干什么,怎么用,对程序的理解也仅仅局限于书本上有限的知识。但是通过了这次设计,我深入了解了单片机的工作原理和机制,对它的各个模块功能有了更深层认识和更本质的理解,并且在这个过程中,我更加深入认识了Proteus和KeilC51这两个软件,对这软件的基本操作能够熟练的使用,了解了软件的优缺点,并且熟练了对C语言的使用和LCD1602程序设计。在做课程设计的过程中我遇到了很多困难,很多方案确定不下来,编写代码时也总是出现这样或者那样的错误,并且有些功能自己也不知道该用什么方法来实现,经过和同学的讨论以及老师的深刻指导,我克服了这一些困难。最终基本完成了用Proteus来实现公交车的模拟报站,但是模块还是很简陋,也需要进一步的优化。

5.2 不足之处

该系统还存在着一些不足,主要体现在:仿真过程没有办法使用ISD1730语音模块和脉冲 检测电路的霍尔元件,用了蜂鸣器和脉冲信号发生器来代替,只对这两个模块根据资料进行了相应的介绍。如果以后做实物的过程,那应该完善这两部分。并且在设计过程中也暴露了很多的缺点,比如编程能力有待提高,需要通过不断的编译仿真调整才能最终得到想要的结果。

5.3 总结

本次设计用Proteus仿真基本达到了预先的要求。设计采用了Atmel公司的AT89C51单片机来设计的一个公交自动报站系统,本设计使用了C语言进行编程,利用了KeilC51软件进行编译生成HEX文件,使用了Proteus软件进行了基本的仿真实现,能够完成对输入信号的判断处理,自动液晶显示站名以及声音提示。这次设计能够实现设计中提出的功能方案。通过这次的设计,对于在KeilC51环境下的编程能力有了进一步的提高,同时对单片机系统设计理念也有了进一步认识,理解了模块化设计在整个系统设计中的作用。

13

电气与电子信息工程学院 《单片机课程设计》成绩评定表 课程设计名称:基于单片机的公交车自动报站系统 答辩或质疑记录: 1、设计中用ISD1730为语音播报芯片进行语音播报与站名信息的储存但在仿真时由于Proteus软件元件库的限制没有ISD1730这款芯片,然后用了一个蜂鸣器做了模拟,来代替语音芯片的放音,但设计中给出了此芯片的介绍及用法以及和单片机的接法。若做实物图则可以用ISD1730这款芯片来接喇叭进行语音播报。 2、设计中用霍尔元件对车轮所转过的圈数进行计数然后再通过车轮转一周所走过的路程来得到每一站之间的路程,然后根据这个路程来判断车辆是否到站然后进行相应的操作。仿真中无法用霍尔元件来仿真所以用了一个脉冲发生器来代替,通过对脉冲的计数来判别是否到站,但设计中给出了其实际检测电路的具体介绍以及应用及其和单片机的接法。若做实物图则可直接应用使设计更为精确可行。 成绩评定依据: 平时表现( 10%): 操作能力( 20%): 答辩情况( 20%): 课设报告( 50%): 最终评定成绩(以百分制评定)

14

附录1 电路总原理图

附录2 源程序清单 #include #include #include

#define uint unsigned int #define uchar unsigned char

sbit IO = P1^0; //定义1302双向数据线管脚

sbit SCLK = P1^1; //定义1302串行接口的同步时钟 sbit RST = P1^2; //定义1302复位管脚 sbit RS = P2^0; sbit RW = P2^1; sbit EN = P2^2; sbit BEEP = P3^7; sbit P32 = P2^3;

uchar *WEEK[]={ %uchar LCD_DSY_BUFFER1[]={\ %uchar LCD_DSY_BUFFER2[]={\

uchar LCD_DSY_BUFFER3[]={\ %uchar LCD_DSY_BUFFER4[]={\ %uchar LCD_DSY_BUFFER5[]={\ %uchar DateTime[7]; void DelayMS(uint x) {

uchar t;

15

公交车自动报站系统课程设计

制端开始传输数据传输完毕之后再调用一次延时子程序,使显示信息可以被人看到,所有工作做完之后返回,在进行下一次的信息进行显示。依次循环。3、仿真结果及分析4.1仿真结果图图4-1初始化图如图4-1所示为仿真结果运行开始的图也就是系统运行但公交车未启动时的初始图,只通过时钟芯片显示了当前时间。
推荐度:
点击下载文档文档为doc格式
773s61ml7e6gjog0oh073pit886asl004r1
领取福利

微信扫码领取福利

微信扫码分享