单片机课程设计可控流水灯设计.docx
- 文档编号:5501883
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:11
- 大小:180.31KB
单片机课程设计可控流水灯设计.docx
《单片机课程设计可控流水灯设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计可控流水灯设计.docx(11页珍藏版)》请在冰豆网上搜索。
单片机课程设计可控流水灯设计
淮阴工学院
单片机课程设计报告
题目:
可控流水灯设计
系(院):
计算机工程学院
专业:
计算机科学与技术(物联网方向)
班级:
物联网1091
学号:
1091205924
姓名:
谢圣东
指导教师:
戴峻峰,陈宏明
学年学期:
2010~2011学年第2学期
2011年6月25日
摘要
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
可控流水灯设计要求:
对8个LED灯设计5种流水灯显示方式,用一个按键进行方式选择,并用一个数码管显示方式编号;用两个键来控制流水灯流动的速度。
在设计中主要采用8051单片机作为主要控制元件;在单片机P2接上8个发光二极管作为流水指示灯,在P0口接上数码管显示编号,显示当前流水灯的流水模式,数码管采取共阳极接法;在P1口的4、5、6位上各接一个按键,一个按键进行方式选择,另外两个按键控制流水灯的流动的速度。
在接上复位电路,时钟电路,电源电路以及一些必要的设计与电路,就能设计出一款可控流水灯。
关键词8051单片机发光二极管数码管流水灯
目录
1引言1
2课题综述1
2.1课题的来源1
2.2课题的目的与意义1
2.3面临的问题1
3系统设计1
3.1总体设计1
3.2硬件原理图2
3.3硬件焊接图3
3.4软件设计4
4代码编写4
5系统调试8
总结9
致谢10
参考文献11
1引言
单片机课程设计主要是为了让我们增进对80C51单片机电路的的感性认识,加深对理论方面的理解。
了解软硬件的有关知识,并掌握硬件设计过程、方法及实现,为以后实现应用打下基础。
另外,通过简单课题的设计练习,使我们了解各项工程部分,达到巩固并运用所学知识解决实际问题的目的。
2课题综述
2.1课题的来源
当今社会,由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在各个领域,而流水灯在生活中的应用更是广泛,较为贴近生活。
所以选择可控流水灯设计这个课题,也是对本学期学习单片机课程的加深与巩固。
2.2课题的目的与意义
通过可控流水灯单片机课程的设计,即那个理论与实践联系在一起,在熟悉基本原理的前提下,提出自己的该方案,完成可控流水灯的设计。
2.3面临的问题
面临的问题就是软件与硬件方面:
软件方面,要实现按键对数码管的逻辑控制,在控制流水灯点亮;硬件方面,就是先要绘制protel原理图,在绘制原理图时要有电源电路,USB、串口电路,单片机还要有复位电路、时钟电路,以及三个按键要接在P1口,数码管接在P0口,LED灯接在P2口
3系统设计
3.1总体设计
使80C51芯片作为控制主体;三个按键中,第二个按键作为控制数码管显示以及相应的流水灯显示,其他两个按键作为控制流水灯流水速度;数码管显示流水灯显示方式,8个放光二极管作为LED显示流水灯。
另外外接复位电路,电源电路,时钟电路,系统对外连接的串口用MAX232芯片完成。
模块区域图如下:
图3-1模块区域图
3.2硬件原理图
图3-2硬件原理图
3.3硬件焊接图
图3-3硬件焊接图1
图3-3硬件焊接图2
3.4软件设计
软件设计部分的方法与函数嵌套、调用函数的方法。
要实现按键控制数码管显示数字,还要在显示对应的数字时使8个显示相应的流水灯,所以在P1.5口出现一个低电平时就会被调到其他的函数区域执行,点亮数码管,是数码管显示出相应的数字,然后依然是通过调用函数的方法,使LED灯点亮,课题的要求是显示流水灯,要有一亮一灭的效果,所以在此函数里放一个循环,一个循环左移,这样也就产生了流水灯的效果,接着下面就是这样循环下去,最后按复位键复位。
4代码编写
ORG0000H
SJMPMAIN
MAIN:
//MOVA,P1;读入P1口状态
//ANLA,#20H;屏蔽无效位
MOVP0,#0FFH
LCALLWAIT
FS1:
MOVA,#0F9H
MOVP0,A;数码管显示数字1
MOVR2,#08H
MOVA,#0FEH
LOOP1:
MOVP2,A
LCALLDELAY
RLA
DJNZR2,LOOP1
LCALLWAIT
FS2:
MOVA,#0A4H
MOVP0,A;数码管显示数字2
MOVR2,#08H
MOVA,#0FEH
LOOP2:
MOVP2,A
LCALLDELAY
RLA
RLA
DJNZR2,LOOP2
LCALLWAIT
FS3:
MOVA,#0B0H
MOVP0,A;显示3
MOVR2,#08H
MOVA,#0FEH
LOOP3:
MOVP2,A
LCALLDELAY
RLA
RLA
RLA
DJNZR2,LOOP3
LCALLWAIT
FS4:
MOVA,#99H
MOVP0,A;显示4
MOVR2,#08H
MOVA,#0FEH
LOOP4:
MOVP2,A
LCALLDELAY
RLA
RLA
RLA
RLA
DJNZR2,LOOP4
LCALLWAIT
FS5:
MOVA,#92H
MOVP0,A;显示5
MOVR2,#08H
MOVA,#0FEH
LOOP5:
MOVP2,A
LCALLDELAY
RLA
RLA
RLA
RLA
RLA
DJNZR2,LOOP5
LJMPMAIN
DELAY:
MOVA,P1;读入P1口状态
ANLA,#10H
CJNEA,#00H,DELAY2;S2是否按下
MOVR7,#0FFH;1s
DELAY1:
MOVR6,#0FFH
DELAY0:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZR6,DELAY0
DJNZR7,DELAY1
RET
WAIT:
FDG:
MOVA,P1;读入p1口状态
ANLA,#20H
CJNEA,#20H,LET;判断S1是否按下
JMPFDG
LET:
LCALLDE
MOVA,P1;读入P1口状态
ANLA,#20H
CJNEA,#20H,LEFT;判断S1是否按下
JMPFDG
LEFT:
MOVA,P1
ANLA,#20H
CJNEA,#20H,LEFT
RET
DELAY2:
MOVA,P1
ANLA,#40H
CJNEA,#00H,ERR;判断S3是够按下
MOVR7,#0FFH;延时1S
DELAY3:
MOVR6,#0FFH
DELAY4:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZR6,DELAY4
DJNZR7,DELAY3
RET
DE:
MOVR7,#28H
LAP6:
MOVR6,#64H
DJNZR6,$
DJNZR7,LAP6
RET
ERR:
RET
END
5系统调试
将编写好的汇编语言代码用Keil进行编译后,修改出现的错误,待无错误后将程序下载到单片机中,运行可控流水灯系统。
总结
这次课程设计是一周的时间,虽说时间不短,但是这之间完成的任务量还是挺大的,要绘制protel原理图,然后对照着原理图焊接,然后写代码,调试在运行。
所以这个礼拜时间上都是很紧凑,同时也很充实。
首先在硬件电路上,有一个正确的protel原理图是很关键的,一切硬件包括代码都是依照这个,老师在这个方面帮助了我们很大的忙,帮我们预先设计的很多的电路,以及电阻、电容的取值大小,然后有不懂的也给我们细心讲解,很感谢老师,上午原理图基本上就成型了,接着就是焊接电路,焊接电路时要格外的细心,不能焊错引脚,然后还要小心,电烙铁很烫,不能烫伤。
焊接电路时,在布局上也是一大讲究,要充分考虑电路板的大小与待焊接原件的大小,该紧凑的地方要紧凑,然后整体分布要均匀,要能体现一个一个的功能模块,这样在电路发生错误的情况下也便于找出错误的所在,还有一点好处是接线时也很方便。
上面是说的硬件方面,下面说说软件代码不是太成功,主要原因是对单片机的硬件资源还不是太透彻的理解,代码方面要注意的是也要实现功能模块化,以函数与调用函数的形式体现出来,当然第一步是要能对单片机汇编语言很理解,然后怎么去调用函数,实现功能。
软硬件都完成后就是整合,单片机是软硬件的结合,我在这个过程中出现过很多的错误,主要是硬件方面,有的是电容正负接反了,有的是线掉了。
这个过程真正意义上找错误,自我完善的过程。
另外就是在这个过程中与同学加强合作很重要,这样效率很高,然后要勤于问老师,这样也会进步的很快。
致谢
这一次,能够在一周的时间里顺利的完成此次单片机的课程设计,首先最想要感谢的是我的指导老师,戴俊峰老师,老师在一周时间里,耗费许多的精力与体力对我们进行悉心的指导与帮助,在这一周时间里,在焊接电路、调试程序时,老师总能陪在我们身旁,细心的为我们解答遇到的问题,帮我们解决困难。
在此衷心的感谢老师为我们做出的牺牲!
此外感谢淮阴工学院和计算机工程学院为我们提供很好的实践机会。
也要感谢实验室的工作人员为我们提供了舒适的实验环境,还要感谢学校的图书馆为我们提供了丰富的书籍资料以方便我们借阅,在此过程中我遇到许多问题,通过查阅书籍得以解决,谢谢那些优秀书籍的作者,感谢你们的指导!
在此次课程设计中得到了同学的帮助,能够与他们一起探索,一起研究解决问题,在互帮互助中我找到自己的不足,在此向帮助过我的同学表示感谢!
课程设计是我们实践的一个重要经历,是我们锻炼自己实践能力的关键环节,一周的课程设计需要许多方面的帮助才能完成,在此再次向所有帮助过我的人表示感谢!
参考文献
1李广弟,朱秀月,冷祖祁.单片机基础(第三版).北京:
北京航空航天大学出版社,2007
2蔡美琴、张为民MCS-51系列单片机系统及其应用.第二版.北京:
高等数学出版社,2004
3张培仁基于C语言编程MCS-51单片机原理与应用[M].北京:
清华大学出版社,2003
4胡汉才.单片机原理及系统设计.北京:
清华大学出版社,2002
5南建辉,熊鸣,王军茹.MCS-51单片机原理及应用实例.北京:
清华大学出版社,2004
.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 可控 流水 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)