您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 基于AT89C51单片机的跑马灯电路课程设计
0目录1实验目的........................................................12元器件清单及简介................................................13设计原理及分析..................................................13.1主要设计要求.................................................13.2实验总流程图.................................................23.3实验总图及说明...............................................34实验中的问题与改进..............................................35总结............................................................45.1四级调速.....................................................45.2跑马灯闪烁方向的改变.........................................55.3跑马灯循环闪烁灯的个数的改变.................................66实验分析与心得..................................................7参考文献:..........................................................9附录................................................错误!未定义书签。1基于AT89C51单片机的跑马灯电路课程设计1实验目的了解AT89C51管脚的基本功能,学会运用Proteus7.7设计电路,学会运用汇编语言编写程序,来实现跑马灯的左右转换、0.1ms,0.25ms,0.5ms,1ms的四级变速、灯的闪烁个数为1,2,3,4等功能。使用KEILC51设计单片机程序,生成HEX文件,将程序烧录到AT89C51芯片中。然后在实验电路中运行,调试。2元器件清单及简介元器件型号个数AT89C511排阻1绿发光二极管4红发光二极管4面包板3导线若干3设计原理及分析3.1主要设计要求1.灯的循环左右移动。2.灯循环闪烁的个数可由1变到4。3.灯循环闪烁的速度可变,分别是现0.1ms,0.25ms,0.5ms,和1ms的循环转变。4.能在仿真图和面包板上进行实物运行并实现以上功能。并能尽量节省器材。23.2实验总流程图YNYNYN图1实验流程图开始设置初值进入定时器是否需要变速是否需要转换方向是否需要设置灯个数灯的循环闪烁设置初值设置初值设置初值33.3实验总图及说明图2实验总图1.右边与P0口相连的8个灯采用上拉电阻方式,采用此方式是因为P0口驱动能力较大,且内部无上拉电阻,因此采用低电平驱动时,需加上拉电阻;且防止因电流过大而烧毁二极管。2.左边依次与P1.0-P1.5的开关K0、K1、K2、K3、K4、K5,右边与P2.0-P2.3依次相连开关为K6、K7、K8、K9。3.K0、K1控制灯的闪烁方向;K2、K3、K4、K5控制跑马灯闪烁的速度;K6、K7、K8、K9控制跑马灯灯闪烁的个数。4.当有开关按下时相应的P口被置0,定时器中扫描P口程序扫描到相应P口为低电平,从而转到相应子程序执行,从而达到1所说功能。4实验中的问题与改进首先是跑马灯的个数转换出现混乱,即不能按照顺序进行转换。后来发现是因为我们使用的是开关是按键开关,当按下开关时进行扫描P口的程序可能被扫描多次,从而因为多次执行导致灯的个数多次变化。因没脉冲开关,我们采用多个开关来避免灯亮的个数的循环转移。还有就是因为对面包板的不了解,把电源与地接到一起,导致不能得出应有的实验结果,结果同学的介绍从而解决此问题。4当然其中还有不少的小问题,刚开始并不能解决,经过查阅资料,询问老师最终得到解决,并在努力的过程中学到了很多东西。在这次实习中,经历了多次失败,我明白在以后学习和实践中,我要努力掌握知识,多动手,多思考,以免在以后的学习工作中犯同样的错误。5总结5.1四级调速利用定时器计数器来计时,赋初值MOVTH0,#09EH,MOVTL0,#058H,是产生50ms的延时,运用循环,通过循环的次数来产生四个不同时间的延时。采用扫P1法来调用子程序对循环次数进行赋初值。当R0=14H时,跑马灯左右闪烁的时间间隔为1s当R0=0AH时,跑马灯左右闪烁的时间间隔为0.5s当R0=05H时,跑马灯左右闪烁的时间间隔为0.25s当R0=02H时,跑马灯左右闪烁的时间间隔为0.1s下为仿真图与电路运行图的比较。图31s循环仿真图5图41s循环实物图5.2跑马灯闪烁方向的改变当按下开关1(与P1.0口相连)跑马灯向下方向循环闪烁;当按下开关2(与P1.1口相连),跑马灯向上循环闪烁。下为仿真图与电路运行图的比较。图5向上循环闪烁仿真图6图6向上循环闪烁实物图5.3跑马灯循环闪烁灯的个数的改变通过R1来控制灯的循环闪烁的个数,通过扫描P2口来调用子程序来改变R1的初值,通过开关来控制是否给P2口送低电平,而达到控制调用哪个子程序,从而达到灯的个数的调控。当R1=7FH时,只有1个灯循环闪烁当R1=3FH时,只有2个灯循环闪烁当R1=1FH时,只有3个灯循环闪烁当R1=0FH时,只有4个灯循环闪烁下面为仿真图与实物图的比较:图7两盏灯循环闪烁仿真图图8两盏灯循环闪烁实物图7图9三盏灯循环闪烁实物图图10三盏灯循环闪烁实物图6实验分析与心得每次课程设计是一次难得的锻炼机会,让我们能够充分利用所学过的理论知识还有自己的想象的能力,另外还让我们学习查找资料的方法,以及自己处理分析疑点难点的能力。我相信是对我们来说的一个很好的提高。平时在学习理论知识的时候,我们应该更注重实践。这次的课程设计让我懂得了它们在实际中的用途,通过这次课程设计,我还更加深了理论知识的学习。这次的设计电路我用到了计数器/定时器,和一些其他之程序等等,通过自己分析和设计更好地运用了它们,而且还学会了它们更多的功能,发现它们的功能远比书上说的多很多。虽然自己很努力的做了,但觉得做得不够好,比如因为没脉冲开关,运用开关较多,电路较复杂点,难免有点遗憾。尤其是有些模块的功能不是很完善,但自己认真做了,觉得还是小有收获。在程序调试的过程中,我们碰到很多的问题让人很是失望,但我们不畏艰难,想各种方法解决问题。作为一名理工科类的学生,尤其是电子信息工程方面的研究和探索,在以后的工作和学习过程中了难免要碰到许许多多的问题,但是我们在多次的课程设计过程中收货的不仅仅是知识方面的积累,而且是精神方面的感动,这次程序设计完美的结束,思维、认识问题的全面性方面有了很大的提高,8当然了,也不是一个人的功劳,大家都出了自己的一份力量,相信团队的力量,是队友在关键时候给了我灵感,让我有了编写程序和设计电路的喜悦。感谢我们团队的合作精神,感谢试验过程的队友的不畏艰难,这让我们更加坚定我们的信念,继续创造辉煌。9参考文献:1.张毅刚著.单片机原理及应运(M)。北京:高等教育出版社,20042.张毅刚著.MCS-51实用汇编子程序设计(M)。哈尔滨:哈尔滨工业大学出版社,20033.何立民著单片机应用技术选编(M)。北京:北京航空航天大学出版社,1993如需要代码及电路图(Proteus仿真图)请联系QQ:627733894
本文标题:基于AT89C51单片机的跑马灯电路课程设计
链接地址:https://www.777doc.com/doc-4517176 .html