基于AT89C51单片机的跑马灯电路课程设计.docx
- 文档编号:3651644
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:10
- 大小:1.08MB
基于AT89C51单片机的跑马灯电路课程设计.docx
《基于AT89C51单片机的跑马灯电路课程设计.docx》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的跑马灯电路课程设计.docx(10页珍藏版)》请在冰豆网上搜索。
基于AT89C51单片机的跑马灯电路课程设计
目录
1实验目的1
2元器件清单及简介1
3设计原理及分析1
3.1主要设计要求1
3.2实验总流程图2
3.3实验总图及说明3
4实验中的问题与改进3
5总结4
5.1四级调速4
5.2跑马灯闪烁方向的改变5
5.3跑马灯循环闪烁灯的个数的改变6
6实验分析与心得7
参考文献:
9
附录10
基于AT89C51单片机的跑马灯电路课程设计
1实验目的
了解AT89C51管脚的基本功能,学会运用Proteus7.7设计电路,学会运用汇编语言编写程序,来实现跑马灯的左右转换、0.1ms,0.25ms,0.5ms,1ms的四级变速、灯的闪烁个数为1,2,3,4等功能。
使用KEILC51设计单片机程序,生成HEX文件,将程序烧录到AT89C51芯片中。
然后在实验电路中运行,调试。
2元器件清单及简介
元器件型号
个数
AT89C51
1
排阻
1
绿发光二极管
4
红发光二极管
4
面包板
3
导线
若干
3设计原理及分析
3.1主要设计要求
1.灯的循环左右移动。
2.灯循环闪烁的个数可由1变到4。
3.灯循环闪烁的速度可变,分别是现0.1ms,0.25ms,0.5ms,和1ms的循环转变。
4.能在仿真图和面包板上进行实物运行并实现以上功能。
并能尽量节省器材。
3.2实验总流程图
Y
N
Y
N
Y
N
图1实验流程图
3.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口的程序可能被扫描多次,从而因为多次执行导致灯的个数多次变化。
因没脉冲开关,我们采用多个开关来避免灯亮的个数的循环转移。
还有就是因为对面包板的不了解,把电源与地接到一起,导致不能得出应有的实验结果,结果同学的介绍从而解决此问题。
当然其中还有不少的小问题,刚开始并不能解决,经过查阅资料,询问老师最终得到解决,并在努力的过程中学到了很多东西。
在这次实习中,经历了多次失败,我明白在以后学习和实践中,我要努力掌握知识,多动手,多思考,以免在以后的学习工作中犯同样的错误。
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循环仿真图
图41s循环实物图
5.2跑马灯闪烁方向的改变
当按下开关1(与P1.0口相连)跑马灯向下方向循环闪烁;当按下开关2(与P1.1口相连),跑马灯向上循环闪烁。
下为仿真图与电路运行图的比较。
图5向上循环闪烁仿真图
图6向上循环闪烁实物图
5.3跑马灯循环闪烁灯的个数的改变
通过R1来控制灯的循环闪烁的个数,通过扫描P2口来调用子程序来改变R1的初值,通过开关来控制是否给P2口送低电平,而达到控制调用哪个子程序,从而达到灯的个数的调控。
当R1=7FH时,只有1个灯循环闪烁
当R1=3FH时,只有2个灯循环闪烁
当R1=1FH时,只有3个灯循环闪烁
当R1=0FH时,只有4个灯循环闪烁
下面为仿真图与实物图的比较:
图7两盏灯循环闪烁仿真图图8两盏灯循环闪烁实物图
图9三盏灯循环闪烁实物图图10三盏灯循环闪烁实物图
6实验分析与心得
每次课程设计是一次难得的锻炼机会,让我们能够充分利用所学过的理论知识还有自己的想象的能力,另外还让我们学习查找资料的方法,以及自己处理分析疑点难点的能力。
我相信是对我们来说的一个很好的提高。
平时在学习理论知识的时候,我们应该更注重实践。
这次的课程设计让我懂得了它们在实际中的用途,通过这次课程设计,我还更加深了理论知识的学习。
这次的设计电路我用到了计数器/定时器,和一些其他之程序等等,通过自己分析和设计更好地运用了它们,而且还学会了它们更多的功能,发现它们的功能远比书上说的多很多。
虽然自己很努力的做了,但觉得做得不够好,比如因为没脉冲开关,运用开关较多,电路较复杂点,难免有点遗憾。
尤其是有些模块的功能不是很完善,但自己认真做了,觉得还是小有收获。
在程序调试的过程中,我们碰到很多的问题让人很是失望,但我们不畏艰难,想各种方法解决问题。
作为一名理工科类的学生,尤其是电子信息工程方面的研究和探索,在以后的工作和学习过程中了难免要碰到许许多多的问题,但是我们在多次的课程设计过程中收货的不仅仅是知识方面的积累,而且是精神方面的感动,这次程序设计完美的结束,思维、认识问题的全面性方面有了很大的提高,当然了,也不是一个人的功劳,大家都出了自己的一份力量,相信团队的力量,是队友在关键时候给了我灵感,让我有了编写程序和设计电路的喜悦。
感谢我们团队的合作精神,感谢试验过程的队友的不畏艰难,这让我们更加坚定我们的信念,继续创造辉煌。
参考文献:
1.张毅刚著.单片机原理及应运(M)。
北京:
高等教育出版社,2004
2.张毅刚著.MCS-51实用汇编子程序设计(M)。
哈尔滨:
哈尔滨工业大学出版社,2003
3.何立民著单片机应用技术选编(M)。
北京:
北京航空航天大学出版社,1993
如需要代码及电路图(Proteus仿真图)请联系QQ:
627733894
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89C51 单片机 跑马 电路 课程设计