《单片机模拟汽车信号灯实训报告》由会员分享,可在线阅读,更多相关《单片机模拟汽车信号灯实训报告(9页珍藏版)》请在金锄头文库上搜索。
1、沈阳理工大学应用技术学院单片机原理及应用实训报告题 目 单片机实训 院 系 能源工程系 专 业 弹药工程与爆炸技术 学生姓名 孙兹超 学 号 10601206 指导教师 殷老师 完成日期 2012 年 07 月 06 日 一系统设计实训题目:汽车信号灯设计1.实训目的通过实训掌握并行 I/O 口的使用和软件延时法的应用,掌握多分支程序的设计方法。2. 实训要求用发光二极管模拟汽车信号灯,用逻辑电平开关模拟控制开关,设计一个汽车信号灯控制系统。实验箱晶振频率 11.0592MHz。具体要求如下:(1) 正常驾驶时,接通左转弯开关,左转弯灯、左头灯、左尾灯同时闪烁;接通右转弯开关,右转弯灯、右头灯
2、、右尾灯同时闪烁,闪烁频率为 2Hz。(2) 刹车时,接通刹车开关,左尾灯、右尾灯同时亮。(3) 停靠站时,接通停靠开关,左头灯、右头灯、左尾灯、右尾灯同时闪烁,闪烁频率为 2Hz。(4) 出现紧急情况时,接通紧急开关,左转弯灯、右转弯灯、左头灯、右头灯、左尾灯、右尾灯同时闪烁,闪烁频率为 10Hz。3. 设计思路用八位逻辑电平输出模块的前五位开关做发光二极管的控制开关,用电平显示模块的 LED、LED、LED分别代表汽车的左转弯灯、左头灯、左尾灯。用 LED、LED、LED分别代表右转向灯、右头灯、右尾灯。注意:由于 K5、K6、K7 未用到,初始化为高电平。如改变为低电平,程序无法正常使用
3、。延迟时间是由 DJNZ 命令来控制的,此命令执行需要两个机器周期,即 2s。用此命令的执行次数来控制执行时间,来达到实验题目所要求的闪烁频率。二.硬件设计1.硬件设计方法用 P1 口作输入口,用 8P 数据线连接 CPU 的 P1 口和八位逻辑电平输出模块,控制二极管的亮与灭。用 P0 口作输出口,用 8P 数据线连接 CPU 的 P0 口和八位逻辑电平显示模块,输出二极管的闪烁频率。用串行数据通信线连接计算机与仿真器,并将 USB 线连接到计算机和仿真器,把仿真头插到模块的锁紧插座中,实现软件控制硬件。2.实验电路+5V13131313131133312222222265321874K0K
4、1K2K3K4K5K6K7P1.7 P0.0P1.6 P0.1P1.5 P0.2P1.3 P0.4P1.4 P0.3P1.2 P0.5P1.1 P0.6P1.0 P0.7D0 Q0D1 Q1D2 Q2D3 Q3D4 Q4D5 Q5D6 Q6D7 Q745678932RP2E5510RP1E510K+5VU274LS573U189C511918171615141312LED0 LED2 LED4 LED6LED1 LED3 LED5 LED7GNDGNDGND10 111 203938373635343332OEVCCLE3.实验照片三.软件设计1. 主程序流程图初始化P1 赋值给 A#0FEH
5、=A?#0FDH=A?#0FBH=A?#0F7H=A?#0EFH=A?#0FFH=A?#04H=50H ,#1FH=P0#04H=50H ,#0F8H=P0#0DEH=P0 #04H=50H ,#9CH=P0#01H=50H ,#18H=P0#0FFH=P0调用延时子程序0FFH=P0调用延时子程序2.延时子程序流程图#0FFH=R6,#0FFH=R750H=R5R7-10?R6-10?R5-10?开 始结 束3.源程序ORG 0000HLJMP MAIN ORG 0030HMAIN:MOV P0,#0FFHMOV P1,#0FFHLOOP0:MOV A,P1CJNE A,#0FEH,LOOP
6、1MOV 50H,#04H MOV P0,#1FHACALL SHIJIANMOV P0,#0FFHACALL SHIJIANLOOP1:CJNE A,#0FDH,LOOP2MOV 50H,#04HMOV P0,#0F8HACALL SHIJIANMOV P0,#0FFHACALL SHIJIANLOOP2:CJNE A,#0FBH,LOOP3MOV P0,#0DEHLOOP3:CJNE A,#0F7H,LOOP4MOV 50H,#04HMOV P0,#9CHACALL SHIJIANMOV P0,#0FFHACALL SHIJIANLOOP4:CJNE A,#0EFH,LOOP5MOV 50
7、H,#01HMOV P0,#18HACALL SHIJIAN MOV P0,#0FFHACALL SHIJIANLOOP5:CJNE A,#0FFH,LOOP0MOV P0,#0FFHLJMP LOOP0 SHIJIAN:MOV R6,#0FFHMOV R7,#0FFHMOV R5,50HDINGSHI:DJNZ R7,DINGSHIDJNZ R6,DINGSHIDJNZ R5,DINGSHIRETEND四.总结一周的单片机实训结束了,在我和我们组的组员的共同努力下,在老师的指导和同学的帮助下,我们成功的完成了汽车信号灯控制系统的设计任务。本学期我们学习了 AT89C51 单片机的编程设计,看
8、似简单的题目自己动手编写却没想象的那么简单。刚拿到设计题目时,有种似曾相识的感觉,我们做的题目和以前实验课上做的实验很相似,通过调用几个实验的程序就能完成这个设计。我们先讨论了并决定了设计方案,但在自己编程时,却发现自己平时上课学习的知识掌握的不扎实的,在编写时常常出现这样那样的错误。调用时程序格式错误,子程序编写错误等等。最终,我们还是成功完成了本次设计,很有成就感。通过这次设计,我再一次学习了单片机的程序设计,特别是多分支程序的设计方法,对一些知识又加深了印象,加深了对所学理论知识的巩固和理解。本次实训虽然只有短短的一周,但在这一周中通过自己的努力完成的程序设计是这一学期课程学习的成果,是对自己本学期的肯定,同时又提高了自己的动手和动脑能力,更主要的是增强了对这门课程学习的信心。同时团队的合作也是十分重要的。了解到了单片机在平时日常生活中的应用是如此的广泛,在信息技术日益发达的现代社会,学习一门技术是多么的重要。在今后的学习生活中,我们要更加开阔视野,拓展自己的思路,活跃自己的大脑,锻炼自己的思维能力。认真学习知识,把学到的知识运用到日常的生活中,为以后的毕业工作打好扎实的基础。