《单片机交通灯课程设计【完成】.doc》由会员分享,可在线阅读,更多相关《单片机交通灯课程设计【完成】.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1任务及要求1.1设计任务十字路口的交通指示灯,在正常情况下,按表中要求进行点亮,当急救车到达时,两方向红灯亮10秒后,交通灯恢复以前的状态。交通灯开始正常情况下交通灯运行规律东西方向红灯(3S)绿灯(10S)黄灯闪5次红灯(0.2S)红灯(10S)黄灯闪5次红灯(0.2S)南北方向红灯(3S)红灯(10S)绿灯(10S)1.2 设计要求利用AT89C51单片机的P1端口的接LED来模拟交通路口的红绿黄灯,用按键来模拟有急救车到来的情况。P1端口的P1.0到P1.2所接的LED分别表示东西路口的红、黄、绿灯,P1.3到P1.5所接的LED分别表示南北路口的红、黄、绿灯。P3.2接按钮,模拟产生
2、外部中断。正常情况下按照表格进行点亮。当外部中断产生时,响应中断并转向中断程序,使两红灯同时亮10秒,完成后返回原程序。2设计思想2.1 硬件设计思想选用AT89C51作为控制部件,CAP,CAP-ELEC,CRYSTAL,RES组成最小系统。 LED-RED,LED-GREEN,LED-YELLOW模拟交通路口红、绿、黄灯。用AT89C51的控制模块,加入按键等功能,并利用AT89C51的P1口输出控制信号,使得LED在软件的控制下工作。2.2 软件设计思想采用汇编语言编写程序,程序由一个主函数,一个中断程序和多个延时子程序构成。由主函数实现LED彩灯在正常情况下的点亮和关闭。中断程序实现L
3、ED点阵LED彩灯中两个红灯点亮10秒。3电路原理与电路图3.1 电路原理单片机最小系统。一个AT89C51单片机做为控制电路,运用其P1口来控制六个LED彩灯,通过P1给LED彩灯输入不同的电平信号,来实现LED彩灯按要求点亮。P3口接中断按钮。3.2 电路原理图4流程图与算法描述4.1 流程图开始置口地址外部中断初始化两个红灯亮 延时3秒东西路口绿灯亮,南北路口红灯亮延时10秒东西路口绿灯灭,南北路口红灯灭两路口黄灯闪烁5次两红灯亮延时0.2秒南北路口绿灯亮,东西路口红灯亮延时10秒南北路口绿灯灭,东西路口红灯灭两路口黄灯闪烁5次两红灯亮延时0.2秒中断入口有关寄存器入栈红灯全亮,黄绿灯全
4、灭延时10秒 取中断前所保存的数据输入,恢复原始状态有关寄存器出栈外部中断允许标志置位中断返回4.2 算法描述1、延时子程序。代码段如下: DELAY1: MOV R5,#30 JMP DE1 DELAY2: MOV R5,#100 JMP DE1 DELAY3: MOV R5,#02 DE1: MOV R6,#200 DE2: MOV R7,#126 DE3: DJNZ R7,DE3 DJNZ R6,DE2 DJNZ R5,DE1 RET END2、中断函数。代码段如下: INT0S: PUSH ACC MOV P1,#00H SETB P1.0 SETB P1.3 LCALL DELAY2
5、 POP ACC RET4、主函数,实现正常运行。代码段如下: ORG 0000H LJMP START ORG 0003H LJMP INT0S ORG 0030H START: SETB EX0 SETB IT0 SETB EA MOV P1,#00H LP: SETB P1.0 SETB P1.3 LCALL DELAY1 CLR P1.0 CLR P1.3 LP3: SETB P1.2 SETB P1.3 LCALL DELAY2 ACALL SHAN5 SETB P1.0 SETB P1.3 LCALL DELAY3 MOV P1,#00H SETB P1.0 SETB P1.5 L
6、CALL DELAY2 MOV P1,#00H ACALL SHAN5 SETB P1.0 SETB P1.3 LCALL DELAY3 MOV P1,#00H LJMP LP3 SHAN5: MOV R0,#5 LP2: SETB P1.1 SETB P1.4 LCALL DELAY3 MOV P1,#00H LCALL DELAY3 DJNZ R0,LP2 RET5程序清单与仿真结果5.1 程序清单 ORG 0000H LJMP START ORG 0003H LJMP INT0S ORG 0030H START: SETB EX0 SETB IT0 SETB EA MOV P1,#00H
7、 LP: SETB P1.0 SETB P1.3 LCALL DELAY1 CLR P1.0 CLR P1.3 LP3: SETB P1.2 SETB P1.3 LCALL DELAY2 ACALL SHAN5 SETB P1.0 SETB P1.3 LCALL DELAY3 MOV P1,#00H SETB P1.0 SETB P1.5 LCALL DELAY2 MOV P1,#00H ACALL SHAN5 SETB P1.0 SETB P1.3 LCALL DELAY3 MOV P1,#00H LJMP LP3 SHAN5: MOV R0,#5 LP2: SETB P1.1 SETB P
8、1.4 LCALL DELAY3 MOV P1,#00H LCALL DELAY3 DJNZ R0,LP2 RET INT0S: PUSH ACC MOV P1,#00H SETB P1.0 SETB P1.3 LCALL DELAY2 POP ACC RET DELAY1: MOV R5,#30 JMP DE1 DELAY2: MOV R5,#100 JMP DE1 DELAY3: MOV R5,#02 DE1: MOV R6,#200 DE2: MOV R7,#126 DE3: DJNZ R7,DE3 DJNZ R6,DE2 DJNZ R5,DE1 RET END5.2 仿真结果系统初始化
9、时,东西方向和南北方向红灯亮3S。仿真如下:正常情况下,首先东西方向绿灯和南北方向红灯亮10秒。仿真如下: 东西方向和南北方向的黄灯闪五次。仿真如下:东西方向和南北方向的红灯亮0.2秒。仿真如下:东西方向红灯和南北方向绿灯亮10秒。仿真如下:东西方向和南北方向的黄灯闪五次。仿真如下:东西方向和南北方向的红灯亮0.2秒。仿真如下: 产生中断后,东西方向和南北方向红灯亮10秒。仿真如下:6设计总结6.1 设计体会课程设计刚开始时,我们组经过反复讨论决定选择这个题目。毕竟课程设计不同于之前的实验课,电路图都要自己设计。静下心来,仔细分析题目,再加上指导老师的详细的说明与提示,心中才有了谱。将整个系统
10、根据不同的功能化分成模块,大概画出流程图,再分别进行设计,最后将其整合即可。回顾起这一次的课程设计,至今我仍感慨颇多。在这段日子里,从理论到实践,可以说得是苦多于甜,但是我还是可以学到了很多的内容,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从而提高自己的实际动手能力和独立思考的能力。我在设计的过程中也遇到了不少的问题,可以说得是困难重重,但可喜的是最终都得到了解决。实验过程中,也对我们组员的合作能力进行了考察果然是团结就是力量,只有互相之间默
11、契融洽的配合才能换来最终完美的结果。此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。在此我非常感谢我的指导老师-教授级高级工程师傅篱教授,感谢傅老师从一开始就耐心的安排我们的进度,和之后多次提醒我们一些重要的注意事项,以及让我对单片机原理这门课程有了更深刻的认识,让我对独立做课程设计有了信心,同时我还要感谢我的同组的同学们,感谢他们的努力和配合,这次课程设计才能顺利完成。参考文献1 蔡美琴,张为民,沈新群等.MCS51系列单片机系统及其应用M.北京:高等教育出版社,1992.2何立民.单片机应用技术选篇(5)M.北京:北京航空航天大学出版社,1997.3杨光友. 单片机微型计算机原理及接口技术M.北京:中国水利水电出版社,20024李广弟.单片机基础.北京:北京航空航天大学出版社,19945阎石.数字电子技术基础(第三版). 北京:高等教育出版社,1989