模拟交通灯设计信息工程毕业论文
2013-05-28 01:40
导读:电子信息工程论文毕业论文,模拟交通灯设计信息工程毕业论文论文模板,格式要求,科教论文网免费提供指导材料:
摘 要
本次设计选用单片机,配合一些外围电路完成交通控制系统。由
摘 要
本次设计选用单片机,配合一些外围电路完成交通控制系统。由于该单片机具有简单实用、高可靠性、良好的性能价格比以及体积小等优点,已经在各个技术领域得到了迅猛发展。实现同样的功能,这个方案既简单又经济!该灯控制逻辑可实现3种颜色灯的交替点亮、时间的倒计时,指挥车辆和行人安全通行,实时地控制当前交通灯时间,经仿真模拟的试验,该系统得到了预期的实时控制效果。
关键词:单片机芯片;倒计时;交通灯;仿真器
目 录
摘 要 I
1前言 1
2、设计思路 1
3、系统硬件设计 1
3.灯控制电路设计……………………………………………………….1
3.2倒计时显示电路设计………………………………………………..2
3.3系统总硬件图………………………………………………………..3
4、系统软件设计 3
4.1计算与实现 3
4.2流程图 3
4.3源程序设计 5
5、仿真图 11
6、课程设计总结 20
[参考资料] 21
致 谢 22
1、前言
本程序设计的是我们日常生活中非常多见的道路交通灯,它在现代社会中起到了相当大的作用,有了一个这样的机器,在人流密集的十字路口就可以顺利的通车,这样省下了不少的人力物力,给大家的生活也提供了很大的方便。当然,看上去简单的交通灯,在如今如此繁华的大都市,也变得多样化了。此次课程设计只选取了其中相对较为简单的交通灯设计,虽然简单,但运用的知识是一样的。因此,希望通过这次课程设计的锻炼,巩固同学们平时所学的知识,并在以后的学习中,灵活运用,不断加深。
2.程序设计思路
利用嵌套和调用的方法设计程序。首先,设置子程序,有25s倒计时的子程序和5s倒计时的子程序,有东西(南北)红灯亮,南北(东西)绿灯闪烁3s后变成黄灯亮的程序,另外还需要1s和0.5s的延时程序,其中,1s用于倒计时,0.5s用与绿灯闪烁的程序中;然后,设置主程序,先东西红灯亮,南北绿灯亮,同时倒计时25s,再东西红灯亮,南北绿灯闪烁3s后变成黄灯,同时倒计时5s,之后东西绿灯亮,南北红灯亮,同时倒计时25s,接着南北红灯亮,东西绿灯闪烁3s后变成黄灯,又返回到主程序开始,实现循环。
3.系统硬件设计
3.1灯控制电路设计
由于32个LED 来实现红绿灯状态,若直接接在单片机的口线,路口倒计时的显示就不
能实现,所以本次设计中采用一种新型的电路如图3-1 所示。
3.2倒计时显示电路设计
前面已经分析过相向的灯的状态和倒计时都是相同的,所以为了节省,采用两组四个数码管
作为倒计时的显示;同时为了节省口资源,采用串口显示的方式驱动数码管。见图3-2 所
示。
3.3系统总硬件图
硬件图
4、系统软件设计
4.1计算与实现
在本程序设计中,计算的不多,主要是延时程序的计算。由6MHz晶振,得其指令周期为0.2us,所以延时0.5s的计算为(248﹢2)×20×50×2us,延时1s的计算为(248﹢2)×20×100×2us。
绿灯闪烁的实现:反复给东西或南北方向的绿灯赋高低电平,各0.5s。
4.2流程图
本程序多用子程序调用和嵌套来实现编程,其中包含了主程序,5s、10s、25s倒计时子程序,南北或东西方向绿灯闪烁3s变成黄灯在程序。下面是各程序的流程图。
流程图
主程序流程图
5s或10s倒计时程序流程图 25s倒计时程序流程图
东西(南北)红灯亮,南北(东西)绿灯闪烁3s后黄灯亮程序流程图
4.3源程序设计
此程序的设计方法比较简单,主要利用了程序的嵌套和子程序的调用,其特点是容易被读懂。下面是程序设计内容。
org 00h
ljmp start
org 30h
start:
mov p1,#0deh ;东西红灯亮,南北绿灯亮
lcall s25s ;25s倒计时
lcall s5sshnb ;东西红灯亮,南北绿灯闪烁3s后变成黄灯亮3s,5s倒计时
mov p1,#0f3h ;东西绿灯亮,南北红灯亮
lcall s25s ;25s倒计时
lcall s5sshdx ;南北红灯亮,东西绿灯闪烁3s后变成黄灯亮3s,5s倒计时
ljmp start
s25s: ;25s倒计时程序
mov p2,#0a4h
lcall s5s
mov p2,#0f9h
lcall s10s
mov p2,#0c0h
lcall s10s
ret
s5s: ;5s倒计时子程序
mov dptr,#tab
s0:
mov a,#04h
movc a,@a+dptr
cjne a,#01h,s1
ljmp s5s
s1:
mov p0,a
lcall delay1s
inc dptr
cjne a,#0c0h,s0
ret
s10s: ;10s倒计时子程序
mov dptr,#tab
s2:
mov a,#00h
movc a,@a+dptr
cjne a,#01,s3
ljmp s10s
s3:
mov p0,a
lcall delay1s
inc dptr
cjne a,#0c0h,s2
ret
s5sshnb: ;东西红灯亮,南北绿灯闪烁3s后变成黄灯亮3s,5s倒计时子程序
mov p0,#92h
lcall s1sshnb
mov p0,#99h
lcall s1sshnb
mov p0,#0b0h
lcall s1sshnb
mov p0,#0a4h
mov p1,#0eeh ;东西红灯亮,南北黄灯亮
lcall delay1s
mov p0,#0f9h
lcall delay1s
mov p0,#0c0h
lcall delay1s
ret
s1sshnb: ;东西红灯亮,南北绿灯闪烁子程序
mov p1,#0deh
lcall delay05s
mov p1,#0feh
lcall delay05s
ret
s5sshdx: ;南北红灯亮,东西绿灯闪烁3s后变成黄灯亮3s,5s倒计时子程序
mov p0,#92h
lcall s1sshdx
mov p0,#99h
lcall s1sshdx
mov p0,#0b0h
lcall s1sshdx
mov p0,#0a4h
mov p1,#0f5h ;南北红灯亮,东西黄灯亮
lcall delay1s
mov p0,#0f9h
lcall delay1s
mov p0,#0c0h
lcall delay1s
ret
s1sshdx: ;南北红灯亮,东西绿灯闪烁子程序
mov p1,#0f7h
lcall delay05s
mov p1,#0f3h
lcall delay05s
ret
delay1s: ;1s延时程序
mov r5,#100
d2:
mov r6,#20
d1:
mov r7,#248
djnz r7,$
djnz r6,d1
djnz r5,d2
ret
delay05s: ;0.5s延时程序
mov r2,#50
d4:
mov r3,#20
d3:
mov r4,#248
djnz r4,$
djnz r3,d3
djnz r2,d4
ret
tab: db 90h,80h,0f8h,82h,92h,99h,0b0h,0a4h,0f9h,0c0h
end
5、仿真图
东西方向红灯亮,南北方向绿灯亮25s
东西方向红灯亮,南北方向绿灯闪烁3s
东西方向红灯亮,南北方向黄灯亮
东西方向绿灯亮,南北方向红灯亮25s
南北方向红灯亮,东西方向绿灯闪烁3s
东西方向黄灯亮,南北方向红灯亮
6、课程设计总结
在此次课程设计中,我学会了很多。一方面,使我在知识上的应用上了一个层次,更深一层地了解到书本上我们应该掌握的理论,并将其付诸实践,应用到人们的日常生活中去,从而使我找到了更浓厚的学习兴趣,也认识到单片机技术在现代生活中的重要地位,看到这个“口香糖大小的迷你主机”的无限潜能。另一方面,我学会了独立的完成一项小小的科技任务,编程,画硬件图,仿真的实现等等,这些都锻炼了我思维谨慎的能力,使我更深刻地懂得,以后遇到问题要多思考,多研究。而且,在课程设计过程中,带给了我一些小小的成就感,我会带着这些兴趣和成就感继续我的求学之旅,相信这对我今后的学习会带来很大的帮助。总结这次课程设计,此次设计使用的是静态显示,使用的是一位数码管,如果能使用动态显示,并且用二位数码管显示倒计时,将是设计比较完美。另外,程序的设计采用的是子程序调用和嵌套的方式,方法比较简单,但容易出错,而且内容也比较繁琐,不容易修改,所以要找一个更灵活和简洁的设计方案才是最理想的。与此同时,我们可以设计更为先进且多功能化的道路交通灯,比如能够自动报警等等。不过,总体上来说,这次课程设计给我带来的提升是不小的,我会带着这次的经验和教训,继续学习,使自己提升的更多。
[参考资料]
[1] 徐爱钧.《智能化测量控制仪表原理与设计》(第二版)[M].北京:
北京航空航天大学出版社,2004.
[2] 吴金戌,沈庆阳,郭庭吉.《8051单片机实践与应用》[M].北京:
清华大学出版社,2002.
[3] 张国勋,《缩短ICL7135A/D采样程序时间的一种方法》[J]. 《电子技术应用》,1993,第一期.
[4] 高峰,《单片微型计算机与接口技术》[M].北京:科学出版社,2003.
[5] 刘伟,赵俊逸,黄勇,《一种基予C8051F单片机的SOC型数据采录器的设计与实现》[A].天津市计算机学会单片机分会编. 《2003年全国单片机及嵌如入式系统学术年会
(下册)》.
致 谢
在做课程设计的半个月以来,我收获了很多。除了感激陈老师教给我们知识外,也非常感谢课程设计
辅导老师余老师这么长时间以来的教导和培养,在您严格的要求和细心的指导下,我学会了独立思考,不懂就问。刚开始的时候我觉得自己落了几节课,对这门课没有系统的理解,也觉得自己这门课学的很不好,一直没有信心和勇气独立完成,但经过尝试,我最终成功地完成了这次的课程设计,虽然在课程设计的过程中遇到了很多的困难,但都一一克服了。同时,也对课程设计的格式和要求有了详细的了解,相信这会给以后带来很大的方便。当然,最重要的是,在您的监督下,通过我自己的学习和研究,对单片机这门课有了宏观的理解,并使我所学的知识掌握的更加牢固,在设计完成之后,平常看似复杂的交通灯控制,居然自己也能做出来,这让我对自己的能力刮目相看了,这也告诉我,只要自己肯下功夫,没有什么不可能的。另一方面,在本次课程设计中,我更加熟练的掌握了伟福软件和PROTEUS的应用,这将会为我的学习和工作带来很大的帮助。不过,我所学的知识和本次运用而能熟练掌握的技能实在有限。因此,在今后,我将更加充满信心地充实自己,更加认真和深入的钻研,继续发扬独立思考,不懂就问的学习习惯。再次感谢!