可控流水灯单片机课程设计报告精品.docx
- 文档编号:12971873
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:14
- 大小:303.23KB
可控流水灯单片机课程设计报告精品.docx
《可控流水灯单片机课程设计报告精品.docx》由会员分享,可在线阅读,更多相关《可控流水灯单片机课程设计报告精品.docx(14页珍藏版)》请在冰点文库上搜索。
可控流水灯单片机课程设计报告精品
目录
1引言1
2课题综述1
2.1课题的来源1
2.2课题的意义1
2.3预期的目标1
2.4面对的问题1
2.5课题的技术2
3系统分析2
3.1涉及的基础知识2
3.280C51单片机引脚图及引脚功能介绍2
3.3解决问题的基本思路3
3.4总体方案3
4系统设计3
4.1硬件设计3
4.2软件设计4
4.3元件清单4
4.4硬件原理图5
4.5硬件焊接图5
4.6设计主要功能5
5代码编写6
6程序调试9
结论10
致谢11
参考文献12
1引言
单片机课程设计主要是为了让我们增进对80C51单片机电路的感性认识,加深对理论方面的理解。
了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。
另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。
2课题综述
2.1课题的来源
当今社会,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。
而流水灯这项技术在生活中的应用更是广泛,较为贴近生活。
而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。
2.2课题的意义
这次单片机课程设计是为了通过对流水灯控制的设计加强学生团队配合的能力和创造力;综合运用专业及基础知识,解决实际工程技术问题的能力。
能够让学生深入真是的体会到所学的理论知识和实践相结合的过程。
找出自身的不足并加以改正。
2.3预期的目标
对8个LED灯设计5种流水灯显示方式,用一个按键进行方式选择,并用一个数码管显示方式编号;用两个键来控制流水灯流动的速度。
2.4面对的问题
这次课程设计是通过80C51位单片机实现。
但面对的问题却是两方面的:
一个是软件的设计,也就是实现流水灯控制功能的程序编辑;另一个是硬件的设计,需要我们自己连接、焊接电路板。
而更为严峻的就是设计的最后还要将软硬件相结合。
首先我们需要通过protel将设计的实物的电路图画出来,再根据电路图连接实物电路。
2.5课题的技术
LED灯的显示方式、模式切换按钮的控制、亮灯速度的按键控制等技术。
3系统分析
3.1涉及的基础知识
电路焊接:
制造电子产品的重要手段。
80C51单片机指令系统:
规定80C51单片机内操作的语句或命令。
LED数码管的显示:
向数码的显示送数,控制系统的显示部分。
3.280C51单片机引脚图及引脚功能介绍
本次实习的目的在于加深80C51单片机的理解,首先来简单认识一下,它的引脚如图3-1所示:
图3.180C51的引脚图
单片机的39个引脚大致可分为4类:
电源、时钟、控制和I/O引脚。
1.电源:
(1)VCC:
芯片电源,接+5V;
(2)VSS:
接地端;
2.时钟:
XTAL1、XTAL2:
晶体振荡电路反相输入端和输出端。
3.控制线:
控制线共有4根,
(1)ALE/PROG:
地址锁存允许/片内EPROM编程脉冲
ALE功能:
用来锁存P0口送出的低8位地址
PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
(2)PSEN:
外ROM读选通信号。
(3)RST/VPD:
复位/备用电源。
RST(Reset)功能:
复位信号输入端。
VPD功能:
在Vcc掉电情况下,接备用电源。
(4)EA/Vpp:
内外ROM选择/片内EPROM编程电源。
EA功能:
内外ROM选择端。
Vpp功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
4.I/O线
80C51共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
3.3解决问题的基本思路
因为选定用循环移位法来实现亮灯程序的,所以在一种设计好一种亮灯方式的前提下编程实现一个循环结构体,分别来实现五种不同的亮灯方式。
另外再编一个实现延时控制的调用程序,来提供亮灯速度的控制。
3.4总体方案
在做本次课程设计之前将小组内人员分为两小组:
一组分负责硬件设计,另一组负责软件编程。
硬件小组负责实物的连接和焊接,并进行硬件测试;软件小组负责实现流水灯的各部分程序设计,并进行软件的仿真测试。
最后将完成的软硬件相结合,从而达到实现课程设计的效果。
4系统设计
4.1硬件设计
按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。
80C51单片机是本次课程设计运用的主要原件。
流水灯控制设计是用一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
4.2软件设计
单片机的应用系统由硬件和软件组成,在硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。
软件编程是单片机应用系统中的一个重要的组成部分,也是本次课程设计的重点和难点。
我们编程实现流水灯的方法是循环移位法,下面我们就来简述一下循环移位法的工作原理。
循环移位法是采用循环程序结构进行编程。
我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这样就实现“流水”效果了。
另外,由于80C51系列单片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样也可以实现“流水”效果。
4.3元件清单
表4-1元件清单
名称
型号
数量
电阻
220Ω
9
电容
103
4
开关
1
芯片
1
单片机
80C51
1
PC机串行口
1
LED灯
8
电源指示灯
1
二极管
2
三极管
4
数码显示器
1
按键
4
4.4硬件原理图
图4-1硬件原理图
4.5硬件焊接图
图4-2硬件焊接图
4.6设计主要功能
打开电路开关,按下第一个模式控制键,8个LED数码管会从右向左一个接着一个亮灯,LED显示器会显示数字“1”来表示当前的亮灯方式是模式1。
在8个LED数码管全部亮后再次按下第一个模式控制键,8个LED数码管会从又向左2个一组的一次亮灯,同时LED显示器会显示数字“2”来表示当前的亮灯方式是模式2。
以此类推,一共有5种显示模式。
而第2、3个按键分别控制亮灯速度的快慢。
5代码编写
ORG00H;设置主程序开始地址
CLRP3.4;这里可以使小喇叭发出嗒、嗒声
DELAY:
MOVR6,#255;延时0.1s
D1:
MOVR7,#255;延时一段时间
DJNZR7,$;原地等待
DJNZR6,D1
RET
END
DELAY1:
MOVR6,#150;延时0.05s
D2:
MOVR7,#150
DJNZR6,D2
RET
END
START:
MOVA,P1.4;选中p1.4数码管使能
JZTTT
ADDR5,A
CJNER5,#3,C1
AJMPM1
C1:
CJNER5,#3,C1
AJMPM3
C2:
JNCC2
C3:
TTT:
INCA
M1:
MOVP0,#7EH;把7EH送p0口,数码管显示1
LCALLDELAY;数码管亮后的缓冲
MOVA,#11111110B;赋值
MOVR4,A;保存所赋的值
LOOP:
MOVP2,A;值给LED灯
ACALLV;调用延时子程序
MOVA,R4;保存的值还给A
RLA;左移
AJMPLOOP;不为零,重复把值给LED灯
RET
M2:
MOVP0,#0A2H;数码管显示2
LCALLDELAY
AGAIN:
MOVR3,#8H
LOOP1:
MOVA,#FEH
MOVR4,A
X1:
MOVP2,A
ACALLV;调用延时子程序
MOVA,R4
RLA
DJNZR3,X1
MOVR3,#8
LOOP2:
MOVA,#7FH
X2:
MOVP2,A
ACALLV;调用延时子程序
MOVA,R4
RRA
DJNZR3,X2
AJMPAGAIN
RET
M3:
MOVP0,#62H;数码管显示3
LCALLDELAY
MOVR1,#05H
OUTL:
MOVDPTR,#TABLE
MOVR2,#04H
MOVA,00H
INL:
MOVR0,A
MOVCA,@A+DPTR
MOVP2,A
ACALLV;调用延时子程序
MOVA,R0
INCA
DJNZR2,INL
DJNZR1,OUTL
TABLE:
DB7EH,0BDH,0DBH,0E7H
RET
M4:
MOVP0,#74H;数码管显示4
LCALLDELAY
MOVA,#01111111B
MOVR4,A
LOOP:
MOVP2,A
ACALLV;调用延时子程序
MOVA,R4
RLA`
AJMPLOOP
RET
M5:
MOVP0,#61H;数码管显示5;
LCALLDELAY
MOVR1,#05H
OUTL:
MOVDPTR,#TABLE
MOVR2,#04H
MOVA,00H
INL:
MOVR0,A
MOVCA,@A+DPTR
MOVP2,A
ACALLV;调用延时子程序`
MOVA,R0
INCA
DJNZR2,INL
DJNZR1,OUTL
TABLE:
DB0E7H,0DBH,0BDH,7EH
RET
;延时选择程序
V:
DELAY
MOVA,P1.5;P1.5低电平时延时长,流水灯速度慢
JZDELAY
MOVA,P1.6;P1.6低电平时延时短,流水灯速度快
JZDELAY1
RET;子程序返回
END;程序结束
6程序调试
本程序运行过程中没有错误。
但对于双键控制流水灯亮灯速度的功能并没有得到实现。
将电路板用数据线连接,打开开关,按钮用来切换模式,一共有五种流动方式,每按一次按钮就会有一种方式,并在LED显示器上面显示出该模式的序号。
结论
由于本次课程设计含括了软件和硬件知识,所以在完成课程设计的同时也让我们了解到了我们在软硬件设计和制作方面的不足。
在这一周的设计过程中我所担任的工作是对电路板各元器件的连接和焊接工作,虽然看似简单,但做起来却是一个细致的工作,尤其是对于三极管以及双电阻并联的焊接工作,更是要细中再细,因为这些元器件的引脚距离都是比较近的,一旦将不该连接的引脚焊接到了一起,该元器件就会失它原来的工作效果,还很有可能将整个电路短路。
对于软件方面,是由我们小组的其他成员编辑完成的,虽然最终并没有实现所有要求的设计效果,但对于我们来说,设计实现的功能已经是一个不小的收获了。
负责硬件焊接的我在最初看到代码的时候还是一头雾水,经过组内成员的一起讲解和讨论,最后还是理解的如何运用左移法实现流水灯亮灯的工作原理。
并对如何使用程序调用也有了一定的了解。
当软件和硬件都完成之后,接下来就是将软件的控制程序写入到硬件里面,从而实现软硬结合的过程,来实现设计要求。
在这个环节中我们还是遇到了或多或少的问题,例如蜂鸣器哑声以及LED显示器不工作等问题都让我们困惑了很久,最后还是通过不断的完善代码来实现各个元器件的工作。
通过这次课程设计,我知道了团队的力量,只有互相团结,才能把事情做好,组员分工合作,每个人根据自己的能力范围负责不同的工作,达到事半功倍的效果。
而在这一周的设计过程中让我深深的了解了我在软件、硬件方面的许多不足之处,对于今后的学习和工作都有了一次很好的借鉴经验。
致谢
首先我要感谢的淮阴工学院,计算机工程学院能够给我提供如此好的实践机会,不惜一切代价提供如此优越的环境。
更要感谢各位指导老师,在我的学习过程中他们给了我很大的帮助,帮助我理解不懂的地方,帮助我纠正了很多无法解决的错误,使我最终能够完成这个课程设计。
我还要感谢实验室人员提供的实验环境,参考文献的原作者。
在此对给予我帮助的老师表示深深地感谢!
同时对给予我帮助的同学表示深深地感谢。
我想说的是,在指导老师和同学们的帮助下我学到了很多东西,也发现了自己的很多不足之处,促使我在以后的学习中更加努力的学习。
我们回顾这过去的一周时,我们会发现自己收获了很多,也成长了很多,懂得了如何去学习以前未曾学过的新思维新方法,懂得了如何去多方位地查找资料,完善和创新一些旧的思维方式,懂得了如何同老师和同学交流和协作,尤其要说的是,金鹰、戴俊峰、王福德、张粤四位老师老师在此过程中对我们悉心的辅导,认真的讲解,帮助我们解决问题,循循善诱,使我门受益匪浅。
还有同学们的帮助,互相推荐好的资料。
相信这次课程设计的体验将成为今后我们更多更广学习中的奠基石。
课程设计的过程,是学习的过程,也是锻炼的过程,更是教会我们同学之间相互帮助,共同克服困难的过程,这将是人生中一笔宝贵的财富,使我受用不尽的同时,我一定将之好好珍惜。
再次感谢淮阴工学院,感谢计算机工程系的全体老师,感谢我的同学以及供我读书的父母。
感谢所有给过我帮助的人,特别是在我身边默默关心我、帮助我的同学和老师。
参考文献
1李广弟,朱月秀,冷祖祁.单片机基础.第3版.北京:
北京航空航天大学出版社,2007
2蔡美琴,张为民.MCS-51系列单片机系统及其应用.第2版.北京:
高等教育出版社,2004
3张培仁.基于C语言编程MCS-51单片机原理与应用[M].北京:
清华大学出版社,2003
4赵娜,赵刚,于珍珠等.基于51单片机的温度测量系统[J].微计算机信息,2007
5周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真[M].北京:
航空航天大学出版社,2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可控 流水 单片机 课程设计 报告 精品