1目录一、课程设计目的……………………………………………………3二、课程设计要求……………………………………………………32.1任务……………………………………………………………32.2要求……………………………………………………………3三、设计题目原理分析………………………………………………33.1系统工作原理…………………………………………………33.2LED管的设计原理……………………………………………33.3红绿灯的设计原理……………………………………………43.4控制键的设计原理……………………………………………4四、课程设计内容……………………………………………………44.1资源分配………………………………………………………44.2硬件原理图……………………………………………………44.3软件流程原理图………………………………………………4五、结果及分析………………………………………………………45.1调试运行………………………………………………………45.2设计结果………………………………………………………5六.总结及实习心得…………………………………………………52(程序及流程图见附录)一、课程设计目的1、学习汇编软件的使用方法,熟悉可编程逻辑器件的使用.2、进一步熟悉和掌握单片机的结构和工作原理。3、使我们掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。4、通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制.二、课程设计要求1.任务:设计一个计时红绿灯。2.要求:1.设计系统的工作原理、原理图及设计方案;2.设计中所用硬件的说明;3.根据硬件画出流程图、编写程序;4.硬件调试并完善系统。利用单片机定时/计数器定时和计数,用LED显示倒计时结果;根据倒计时,转向呈现不同的方向;同时,四个路口的红绿灯分别呈现不同的状态,按下K1时倒计时及转向同时熄灭,六个灯中有两盏灯闪烁,计时清零,再打开K1时从新开始。三、设计题目原理分析3.1系统工作原理编程设计好交通灯的初始时间,通过编程器写入8051单片机系统。在一个十字路口,分为13路口和24路口。首先,13路口红灯亮,24路口绿灯亮,LED管显示13路口从30秒倒计时,24路口从27秒倒计时,都是同时计时。当13路口倒计时到3秒,24路口倒计时为0秒时,24路口黄灯亮3秒,然后13路口变为绿灯倒计时27秒,24路口变为红灯倒计时30秒。当13路口倒计时为0秒,24路口倒计时为3秒时,13路口变为黄灯计时3秒,然后13路口再变为红灯,24路口变为绿灯。这样循环下去。当有开关K1打开时,起到计时清零的作用,LED管灭,且有两个灯闪烁。当K1再关闭时,系统从新开始。3.2LED管的设计原理3利用P1口中的六个口(即从P1.0到P1.7)和P2口中的八个口(即从P2.0到P2.5)与LED管相连接,分别控制六个数码管的断码和位码。根据C语言程序驱动8051,来实现六个数码管的不同功能。1)、LED从左往右数,第1个管,由P2.0选中,并由P1.0到P1.7控制断码,来显示24路口倒计时中式十位的数字。2)、LED从左往右数,第2个管,由P2.1选中,并由P1.0到P1.7控制断码,来显示24路口倒计时中式个位的数字。3)、LED从左往右数,第3个管,由P2.2选中,并由P1.0到P1.7控制断码,来显示24路口的转向。4)、LED从左往右数,第4个管,由P2.3选中,并由P1.0到P1.7控制断码,来显示13路口的转向。5)、LED从左往右数,第5个管,由P2.4选中,并由P1.0到P1.7控制断码,来显示13路口倒计时中式十位的数字。6)、LED从左往右数,第6个管,由P2.5选中,并由P1.0到P1.7控制断码,来显示13路口倒计时中式个位的数字。3.3红绿灯的设计原理利用P0口中的六个口(即从P0.0到P0.5)控制六个灯(既从L7到L2)1)、L7为13路口的红灯。2)、L6为13路口的黄灯。3)、L5为13路口的绿灯。4)、L4为24路口的红灯。5)、L3为24路口的黄灯。6)、L2为24路口的绿灯。3.4控制键的设计原理利用P3口中的一个口(即P3.7)控制一个开关(既K1),来实现按下K1时倒计时及转向同时熄灭,六个灯中L6和L4两灯闪烁。四、课程设计内容4.1资源分配本设计中用到以下资源:计算机,和实验箱,其中包括P3口、P1口、P2口、LED显示管、CS8051、数字开关K1、定时/计数器T0、数字灯。1)、P1口:控制LED数码管的八个段码,提供数码管信号输入。42)、P2口:控制LED显示管六个管的位码,提供显示管的信号输入。3)、P3口:给数字开关提供控制输入信号。4)、LED显示管:分别显示24路口的倒计时及转向,13路口的转向及倒计时。5)、CS8051:功能强大的单片机芯片,实现程序与硬件的链接。6)、数字开关K1:控制LED及数字灯的信号。7)、定时计数器T0:对内部时钟进行定时。8)、数字灯:模拟红绿灯。4.2硬件原理图(附录)4.3软件流程原理图(附录)五、结果及分析5.1调试运行1)输入程序,并保存为.C文件。2)按硬件接线图接线。3)联机并编译。4)修改语法错误,并存盘。5)编译并传送文件,并运行。6)先连续运行,如不能正常运行,再用断点运行或单步运行法进行调试,直至达到设计要求。7)观察结果。5.2设计结果通过调试,实现结果,顺利运行程序。可以实现红绿灯的功能,通过8051系统实现红绿灯之间的转换和LED的计时功能。还可以实现左右转的功能。六.总结及实习心得本学期的课程设计是老师给多个课程设计的题目,根据学生的喜好自己选择进行设计。我觉得这样有利于提高学生的兴趣,来更好的培养我们的实践能力和学习能力。两个人一组更是提高了我们与人合作的能力和共同解决问题的能力。我认为,在这学期的实验中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操5作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。做了1周的课程设计有很多的心得体会。刚开始拿到题目的时候一头雾水,不知道从哪下手,后来静下心来仔细考虑了下,才有头绪。我们选择用C语言来编程,因为这样实现起来容易一些。在编程的过程中出现了很多错误,但通过同学的帮助和老师的帮助解决了这些并且也学习到了很多知识。有很长时间没有接触单片机了,所以对单片机的知识颇有些生疏,首先我做的是熟系单片机系统及其单元内容和作用。然后与我的课程题目联系起来,需要用哪些都记下来。参考课本上的C语言程序进行汇编。我觉得在整个汇编中遇到最大的问题是如何去控制计时,后来是向同学请教才能顺利完成。在设计与制作的过程中,有时也会令我很沮丧,总是出现错误,同学都会在一边鼓励我,我想没有同学的鼓励和老师的帮助,我也不会顺利的完成这次课程设计。与队友的合作更是一件快乐的事情,只有彼此都付出,彼此都努力维护才能将作品做的更加完美。而团队合作也是当今社会最提倡的。课程设计结束了,虽说有成功的喜悦,但也有遗憾,本应该准备的更充分些。认真对待每一个实验,珍惜每一分一秒,学到最多的知识和方法,锻炼自己的能力,这个是我们在课程设计中学到的最重要的东西,也是以后都将受益匪浅的!附录1程序清单附录2参考文献1、《MCS-51系列单片机系统及其应用》主编:蔡美琴等高等教育出版社出版2、《THDPJ-1/2型单片机开发综合实验箱》使用手册3、《THDPJ-1/2型单片机开发综合实验箱》实验指导书6