单片机课程设计-智能交通灯(完整版).doc

上传人:精*** 文档编号:865049 上传时间:2023-10-02 格式:DOC 页数:18 大小:353KB
下载 相关 举报
单片机课程设计-智能交通灯(完整版).doc_第1页
第1页 / 共18页
单片机课程设计-智能交通灯(完整版).doc_第2页
第2页 / 共18页
单片机课程设计-智能交通灯(完整版).doc_第3页
第3页 / 共18页
单片机课程设计-智能交通灯(完整版).doc_第4页
第4页 / 共18页
单片机课程设计-智能交通灯(完整版).doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、单片机课程设计报告交通灯 智能交通灯控制系统设计1设计目的:1、通过交通信号灯控制系统的设计,掌握80C51传输数据的方法,以控制发光二极管的亮与灭以及数码管的显示;2、用80C51作为输出口,控制十二个发光二极管熄灭,模拟交通灯管理.3、通过单片机控制设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高动脑和动手的能力;4、完成控制系统的硬件设计、软件设计、仿真调试。2设计内容和功能:交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭。用8051做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。在一个交通十字路口有一条主干道(东西方向),一条从干道(

2、南北方向),主干道的通行时间比从干道通行时间长,四个路口安装红,黄,绿,灯各一盏;如图所示: 1、设计一个十字路口的交通灯控制电路,要求东西方向(主干道)车道和南北方向(从干道)车道两条交叉道路上的车辆交替运行,时间可设置修改。2、在绿灯转为红灯时,要求黄灯闪烁,才能变换运行车道3、黄灯亮时,要求每秒闪亮一次。4、紧急情况发生,如消防车、救护车等紧急车辆通过时,要求四个路口同时加亮黄灯闪烁,并且倒计时显示装置关闭,四个路口的信号灯全部变成红灯。5当东西或南北方向车流量大时,四个路口同时加亮黄灯进行闪烁,并且倒计时显示装置关闭,黄灯闪烁5秒后,只允许东西或南北方向车辆通行。3各功能模块说明及系统

3、使用说明;3.1总体设计电路如图所示3.2交通灯电路为了方便实验,可以用发光二极管作为交通灯来使用,单片机的I/O接口直接和交通灯(发光二极管)连接。在十字路口的四组红、黄、绿三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上的两组同色的灯也彼此连接在,受单片机P1.0P1.5控制。单片机的I/O接口与交通灯电路的具体连接方式为:P1.0P1.2分别接东西方向的红、黄、绿共6个放光二极管,P1.3P1.5分别接南北方向的红、黄、绿共6个发光二极管。12个发光二极管采用了共阳极的连接方式,因此I/O口输出低电平时,与之相连的发光二极管会亮,I/O口输出高电平是,相应的发光二极管会

4、灭。交通灯电路如图所示。3.3倒计时显示电路该交通灯控制系统在正常情况下,每60s循环一次,为方便提示路上行人及车辆交通灯转换的剩余时间,专门为控制系统设计了一个倒计时显示装置。该显示装置选用七段数码管来显示交通灯转换的剩余时间,根据控制要求,每个路口需要两个数码管,这样四个路口就要求八个数码管。有序AT89C51单片机的I/O作为输出时,具有较强吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O就可以直接驱动,从而简化硬件电路的设计。四个路口倒计时显示被置在同一时刻显示相同的数字,期中P0口用来显示时间的十位,P2口用来显示时间的个位;东西南北四个方向共四个路口,令DS1和DS

5、2是一组,DS3和DS4是一组,DS5和DS6是一组,DS7和DS8是一组。考虑到AT89C51单片机所能提供I/O接口的数量以及该控制系统所需要的I/O的个数并结合我们的实际能力,数码管在本系统采用的是静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的数码管恒定地导通或截止。采用静态显示时。占用CPU的资源较少,单片机只要把要显示的字符代码发送到接口电路即可,直到要显示新的数据时,再发送新的字形码。倒计时显示电路如图所示。3.4紧急通行电路该系统的K1、K2、K3三个按键分别于单片机的P3.0、P3.1、P3.6相接,它们可以在特殊的交通情况下使用。例如,当有紧急情况发生时,如消防车

6、、救护车等紧急车辆通过时,按下K1键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5秒)。并且倒计时显示装置关闭,黄灯5s闪烁完成后,四个路口的信号灯全部变成红灯,从而保证紧急车辆的及时通过,待紧急车辆通过后,松开K1键,紧急情况消除,交通灯控制系统恢复正常工作;按下K2键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5秒),并且倒计时显示装置关闭,黄色等5s闪烁完成后,只允许东西方向车辆准行、南北方向车辆禁行,松开K2键,交通灯控制系统又开始正常工作;按下K3键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5秒),并且倒计时显示装置关闭,黄色等5s闪烁完成后,只允许南北方向车辆准

7、行、东西方向车辆禁行,松开K3键,交通灯控制系统又开始正常工作。按键电路如图所示。5监控电路51系列单片机通常工作在一些特定环境中,不可避免会受到外界干扰,这些干扰轻则导致系统内部数据出错,重则将严重影响程序的运行。为了保护数据、抑制干扰,在单片机系统的开发过程中需要进行可靠性设计。监控功能主要是指控制电源电压、处理掉电情况、产生正确复位信号等。在本次课设中我们选用的是MAX6304,但是由于元器件没有买到,所以这个部分没有在硬件电路中实现,所以在此也详细介绍了。电路图如下图所示。4.系统程序设计4.1 主程序流程图开始东西亮绿灯,南北亮红灯东西准行,南北禁行显示子程序系统初始化扫描键盘有键按

8、下调用键盘子程序东西亮绿灯,南北亮红灯同时黄灯进行闪烁调用键盘子程序扫描键盘显示子程序东西准行,南北禁行东西,南北方向换向有键按下YNY4.2定时中断子程序开始循环次数减一定时开始重新给循环次数赋初值显示子程序产生中断设定中断的循环次数给定时器赋初值定时器初始化返回定时时间到循环次数=1?YNYN4.3显示子程序流程图提取倒计时数据的十位数调用1s延时子程序获取十位数字型码并送到P0口取倒计时数值获取个位数字型码并送到P2口提取倒计时数据的个位数开始返回4.4按键子程序流程图东西南北均变红灯K3键按下?K2键按下?K3键按下?K2键按下?关闭倒计时显示南北变绿灯东西变红灯黄灯进行5s闪烁黄灯进

9、行5s闪烁键盘扫描关闭倒计时显示东西变绿灯南北变红灯黄灯进行5s闪烁关闭倒计时显示有键按下?K1键按下?返回K1键按下?开始5.调试与检测:5.1.硬件检测: 第一步:目测,检查外部的各种元件或则电路是否有断点; 第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象; 第三步:加电检测。给板加电,检测所有的插座或是器件的电源端是否符合要求的值; 第四步:是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 5.2.软件调试:软件调试是通过对用户程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。程序后,编辑,查

10、看程序是否有逻辑的错误。6.实验心得6.1 徐春栋的心得:这次课程设计,我们小组做的智能交通等控制系统。如往常每一次实训,我获得了很大的收获。首先,我要说说我学到的团队精神,这次课设需要多人协作完成,我有幸找到两位认真负责且乐于交流讨论的队友。我负责了这次课设的硬件部分,也就是根据原理图和程序布局、焊接电路。他们两人负责采购元件、设计原理图、写程序调试程序等等。当初分工后我们都是各自为政,但是我发现焊接时,由于有的线很密,有的地方自己一人无法完成焊接,他们帮助我一起完成了那部分的焊接,后来我们就不局限于各自分工,而是着眼全局,互相帮助,不仅将各自分工部分效率的完成了,还在构建交通灯控制系统的全

11、过程中了解了其他的环节,提高了学习效率。我学到了,明确分工固然重要,团队合作才更能体现一个团队的优势,提高工作效率!其次,就是对于大学相关课程特别是单片机的深入理解和巩固。经过这次课设,我脱离了依靠现成电路焊接元器件的层次,学会更具要求设计电路。我们做的交通灯不是拖动方面的,而是和数电关系密切,通过图书馆和网络,我们将数电相关知识系统回顾了一遍,如数码管显示原理等。通过交通的设计我们了看到科技服务人类的冰山一角,大大激起我们对于知识应用的兴趣,我们小组分析了另外许多类似交通灯的控制系统。另外,这次课设涉及广泛,我还熟练了用keil编译程序,掌握了用proteus仿真电路原理图,用STC窜口下载

12、程序等许多平时书本学习不会太过关注的步骤,可谓真正锻炼了动手能力,真正做出东西来。这次选交通灯为题目来做课设一是经验不足,二是信心不足。通过这次课设,我既积累了经验,也获取了信心,今后会找寻机会再做一些与拖动相关的电子设计,因为我们自动化专业和电机是息息相关的额,很大程度研究的是电机的拖动问题。6.2 张杰的心得:通过这两周的单片机课程设计,我们运用所学的知识,利用单片机控制原理设计了一个交通灯控制系统,我们对单片机有了更深的体会。我们了解和掌握了一些简单的编程思想和对I/O口的使用。这次课设通过单片机的I/O口来控制交通灯。实现一些具体的功能和对特殊情况的处理。通过这次的实践,我们对单片机的

13、I/O口的使用的条件有更深的理解,对单片机的各个管脚功能的理解也加深了,以及在常用编程设计思路技巧,特别是汇编语言的掌握方面都能向前迈了一大步。这次的课程设计让我们把单片机的理论知识用在实践中,实现了理论和实践相结合,从中更懂得理论是实践的基础,实践有着能检验理论的正确性,让我们受益非浅,对我们以后参加工作或者继续学习将会产生巨大的帮助和影响。在课设过程中遇到的硬件和软件问题都通过询问老师、同学和去图书馆、上网得到了解决。课设中如果能加入MAX6304则可以实现更更多的功能,我们的课设可以向这个方向改进,在课设结束后我们会找相关资料完善我们的交通灯,争取做到最好。6.3 董夏冰的心得:这次单片

14、机课程设计我们小组选做了交通灯,因为我们觉得交通灯在现实生活中非常常见并且对交通灯的工作原理非常好奇,于是我们便选择了这个题目。我们小组认真分析课题要求,研究我们的方案,包括功能的实现原理,硬件的安排、布线、器件的型号功能和参数、程序的编写、调试等等。然后我们分头去图书馆和网上去查找相关资料,经过比较充分的时间准备之后我们终于设计出了我们自己的课设方案,然后我们将其焊接起来,经过调试之后我们的交通灯便做好了。 这其中我们也遇到了非常多的困难,比如在设计好方案后,发现有一个元件很难购买,于是我们修改了原来的方案,减少了一个中断。在进行焊接时线路非常多并且密集,我们焊接时非常的小心,认真的辨识每一

15、个管脚,仔细的对照原理图,即便是这样还是出现了错误,用万用表检测发现多个管脚出现了焊接短路,我们对这几个管脚进行了重焊才解决问题。 通过这次课程设计我学到了很多知识,比如团队合作的能力,我们小组的三个成员在好几个问题上产生过意见的分歧,经过我们之间的相互沟通协调最终都达成了统一的意见并且齐心合力的完成了实验。我想我以后再遇到团队合作时我一定会表现得更好。还有就是自己以前只知道理论知识,对其如何在实践中应用并不了解,这次课程设计很好的将理论和实践结合起来让我收获很多。我也发现了自己的很多不足,比如在编程时发现自己的知识是那么的薄弱,靠翻课本、查资料才行,对单片机各个接口的功能和结构的理解并不是非

16、常深入。经过这次实验我的编程技巧和对单片机的理解都有所增加。这次单片机课程设计对我以后的学习和工作都会有很大的帮助。7.参考文献1 柴鈺.单片机原理及应用M. 西安电子科技大学出版社.2 李海滨,片春媛,许瑞雪.单片机技术课程设计与项目实例M. 电子出版社.3 百度文库4 单片机爱好者8程序ORG 0000HLJMP MAINORG 001BH ;定时器T1中断入口LJMP IINT1 ORG 0100H ;主程序入口;*;*主程序*;*;MAIN:MOV SP,#60H MOV TMOD,#10H ;定时器T1工作在方式1MOV TH1,#9EH ;给定时器T1赋初值MOV TL1,#58H

17、SETB EA;开中断系统总开关SETB ET1;开定时器T1中断开关SETB TR1;启动定时器T1HERE:MOV 88H,#15H;设置中断循环次数MOV 33H,#3DH;设置倒计时显示数值MOV P1,#0F3H;使交通灯东西绿,南北红MOV R7,#37HMM:LCALL DISPMOV A,P3;键盘扫描CJNE A,#0FFH,READKEYDJNZ R7,MMMOV P1,#0E1H;交通灯东西绿,南北红同时加亮黄灯MOV 20H,#02HNN:MOV A,P3CJNE A,#0FFH,READKEYSETB P1.1;黄灯进行5秒闪烁SETB P1.4 LCALL DISP

18、 CLR P1.1CLR P1.4 LCALL DISP;调显示子程序DJNZ 20H,NNSETB P1.1SETB P1.4 LCALL DISP MOV P1,#0DEH;交通灯南北绿,东西红MOV R7,#37HPP:LCALL DISPMOV A,P3CJNE A,#0FFH,READKEYDJNZ R7,PPMOV P1,#0CCH;交通灯南北绿,东西红同时加亮黄灯MOV 20H,#02HQQ:MOV A,P3;扫描P3口CJNE A,#0FFH,READKEYSETB P1.1SETB P1.4 LCALL DISPCLR P1.1CLR P1.4 LCALL DISPDJNZ

19、20H,QQSETB P1.1SETB P1.4 LCALL DISP LCALL QWQW:SJMP HERERET;*;*1秒延时子程序*;*;DELAY:MOV R1,#0AH DELAY0:MOV R2,#0C8HDELAY1:MOV R3,#0F8HNOPDELAY2:DJNZ R3,DELAY2DJNZ R2,DELAY1DJNZ R1,DELAY0RET;*;键盘扫描子程序;*;READKEY: MOV A,#0FFHMOV P3,AMOV A,P3JNB ACC.0,K1;判断K1键是否按下JNB ACC.1,K2 ;判断K2键是否按下JNB ACC.3,K3 ;判断K3键是否

20、按下RET K1:MOV P0,#0FFH;关断倒计时显示装置MOV P2,#0FFHLCALL XXLCALL YYSJMP READKEYK2:MOV P0,#0FFH;关断倒计时显示装置MOV P2,#0FFHLCALL XXLCALL YY1SJMP READKEYK3:MOV P0,#0FFH;关断倒计时显示装置MOV P2,#0FFHLCALL XXLCALL YY2SJMP READKEYXX:MOV 20H,#03HLCALL BBRET;*;*黄灯进行5秒闪烁*;*;BB: SETB P1.1SETB P1.4 LCALL DELAY CLR P1.1CLR P1.4 LCA

21、LL DELAY DJNZ 20H,BBRET YY:MOV P1,#0F6H;四个路后均变成红灯MOV A,#0FFHMOV P3,AMOV A,P3JNB ACC.0,YY;判断K1键是否仍然按下LCALL QWYY1:MOV P1,#0F3H;东西方向亮绿灯,南北方向亮红灯MOV A,#0FFHMOV P3,AMOV A,P3JNB ACC.1,YY1;判断K2键是否仍然按下LCALL QWYY2:MOV P1,#0DEH;南北方向亮绿灯,东西方向亮红灯MOV A,#0FFHMOV P3,AMOV A,P3JNB ACC.3,YY2;判断K3键是否仍然按下LCALL QWRET;*;*中

22、断处理程序*;*;ORG 0200H ;中断程序入口地址Liu:DEC 88HMOV A,88HCJNE A,#01H,BN;判断循环次数是否为1MOV 88H,#15H;重新给循环次数赋值LCALL DISPBN:MOV TH1,#9EH;重新给定时器T1赋初值MOV TL1,#58HRETI;*;*显示子程序*;*;DISP: DEC 33HMOV A,33HCJNE A,#01H,DIR1MOV 33H,#3DH;重新给倒计时数赋初值DIR1:MOV B,#0AHDIV AB;提取出倒计时数值的十位数和个位数MOV DPTR,#TAB;字形表的入口地址MOVC A,A+DPTR;查表获取

23、十位数的字型码MOV 30H,AMOV A,BMOVC A,A+DPTR;查表获取个位数的字型码MOV 31H,AMOV A,30HMOV P0,A;将十位数字型码送到P0口MOV A,31HMOV P2,A;将个位数字型码送到P2口LCALL DELAYRETTAB:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H;字形表END9.元器件序号名称型号规格位号数量1电容10uFC31个2电容10pFC41个3极性电容30pFC1、C22个4电容100pFC51个5共阳型数码管LEDDS1DS88个6电阻4.7KR1R1212个7电阻9.1KR171个8开关K1K99个9PCB板1个10排线若干1151单片机AT89S511个12发光二极管红、黄、绿VD1VD124*3个13其他底座、导线等

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922