- 相关推荐
模拟交通灯设计
摘 要 本次设计选用单片机,配合一些外围电路完成交通控制系统。由于该单片机具有简单实用、高可靠性、良好的性能价格比以及体积小等优点,已经在各个技术领域得到了迅猛发展。实现同样的功能,这个方案既简单又经济!该灯控制逻辑可实现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的应用,这将会为我的学习和工作带来很大的帮助。不过,我所学的知识和本次运用而能熟练掌握的技能实在有限。因此,在今后,我将更加充满信心地充实自己,更加认真和深入的钻研,继续发扬独立思考,不懂就问的学习习惯。再次感谢!【模拟交通灯设计】相关文章:
低功耗模拟前端电路设计11-18
基于LAN的UAIS模拟器的设计与开发03-07
市场营销模拟实验项目规划与设计11-15
集成稳压电源的设计与模拟仿真(一)03-07
一种移动通信信道模拟器的设计与实现03-18
物料需求模拟实验教学系统设计的研究03-20
基于Labview与Matlab联合编程的路谱模拟设计03-16
《电子商务实训模拟》模块化教学设计03-15