流水灯单片机课程设计报告.doc
- 格式:doc
- 大小:1.32 MB
- 文档页数:12
井冈山大学机电工程学院单片机课程设计报告课程名称:单片机设计题目:流水灯姓名:覃家应陈东阳专业:生物医学工程班级:10级医工本一班学号:100615062指导教师:王佑湖2012年11月10日目录1引言 (2)1.1设计任务 (2)1.2设计要求……………………………………………… ..22 课题综述 (2)2.1课题的来源 (2)2.2面对的问题 (2)3 系统分析 (2)3.1 89C52单片机引脚图及引脚功能介绍 (2)4 系统设计 (4)4.1硬件设计 (4)4.1.1硬件框图 (4)4.1.2硬件详细设计 (5)4.2 软件设计 (5)4.3 硬件原理图 (6)4.4 元件清单 (6)4.5 硬件焊接图 (6)4.6 代码编写 (7)5心得体会 (7)6致谢 (8)参考文献 (8)1 引言单片机课程设计主要是为了让我们增进对89C52单片机电路的感性认识,加深对理论方面的理解。
了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。
另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。
1.1设计任务设计一个单片机控制的流水灯系统1.2设计要求(1)至少8个灯;(2)可实现不同的亮灯(如左循环,右循环,间隔闪等)。
2 课题综述2.1 课题的来源当今社会,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。
而流水灯这项技术在生活中的应用更是广泛,较为贴近生活。
而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。
2.2 面对的问题这次课程设计是通过89C52位单片机实现。
但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编辑;另一个是硬件的设计,需要我们自己连接、焊接电路板。
而更为严峻的就是设计的最后还要将软硬件相结合。
首先我们需要通过protel将设计的实物的电路图画出来,再根据电路图连接实物电路。
3 系统分析3.1 89C52单片机引脚图及引脚功能介绍本次设计的目的在于加深89C52单片机的理解,首先来简单认识一下,它的引脚如图3-1所示:图3.1 89C52单片机的引脚大致可分为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线89C52共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
4系统设计4.1硬件设计4.1.1.硬件框图按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。
89C52单片机是本次课程设计运用的主要原件。
流水灯控制设计是用一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
从原理图中可以看出,如果要让接在P2.0口的LED1亮起来,那么只要把P2.0口的电平变为低电平就可以了;相反,如果要接在P2.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P2.1~P2.7口的其他7个LED的点亮和熄灭的方法同LED1。
因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
4.1.2.硬件详细设计(1)复位电路部分如图所示,当要对晶片重置时,只要按此开关就能完成LED和开关的重置。
(2)晶振部分产生时钟信号4.2 软件设计单片机的应用系统由硬件和软件组成,在硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。
我们编程实现流水灯的方法是循环移位法,下面我们就来简述一下循环移位法的工作原理。
循环移位法是采用循环程序结构进行编程。
我们在程序一开始就给P2口送一个数,这个数本身就让P2.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P2口,这样就实现“流水”效果了。
另外,由于89C52系列单片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P2口,这样也可以实现“流水”效果。
4.3 硬件原理图4.4 元件清单元件名称型号数量(个)单片机STC89C52RC 1单片机芯片底座/ 1晶振11.0592MHz 1瓷介电容33pF 2瓷介电容0.1uF 1电解电容10uF 2按钮开关/ 2电阻10kΩ 1电阻240Ω8发光二级管(红和黄)9电源+5V(VCC) 1排针/ 若干4.5 硬件焊接图4.6代码编写ORG 0000HLJMP MAINORG 0040H MAIN: MOV A,#11111110BMOV R1,#08H LOOP1: MOV P2,ARL ACALL DELAYDJNZ R1,LOOP1MOV A,#1111111BMOV R1,#08H LOOP2: MOV P2,ARR ACALL DELAYDJNZ R1,LOOP2LJMP MAIN DELAY: MOV R7,#250MOV R6,#250MOV R5,#3DJNZ R5,$DJNZ R6,$-4DJNZ R7,$-8RETEND5.心得体会由于本次课程设计含括了软件和硬件知识,所以在完成课程设计的同时也让我们了解到了我们在软硬件设计和制作方面的不足。
在这次的设计过程中我所担任的工作是对电路板各元器件的连接和焊接工作,虽然看似简单,但做起来却是一个细致的工作,尤其是对于一些引脚的焊接工作,更是要细中再细,因为这些元器件的引脚距离都是比较近的,一旦将不该连接的引脚焊接到了一起,该元器件就会失它原来的工作效果,还很有可能将整个电路短路。
对于软件方面,是由我们小组的其他成员编辑完成的,负责硬件焊接的我在最初看到代码的时候还是一头雾水,经过组内成员的一起讲解和讨论,最后还是理解的如何运用左移法实现流水灯亮灯的工作原理。
并对如何使用程序调用也有了一定的了解。
通过这次课程设计,我知道了团队的力量,只有互相团结,才能把事情做好,组员分工合作,每个人根据自己的能力范围负责不同的工作,达到事半功倍的效果。
而在这次的设计过程中让我深深的了解了我在软件、硬件方面的许多不足之处,对于今后的学习和工作都有了一次很好的借鉴经验。
6.致谢首先我要感谢的是机电工程学院医工系,机电工程学院医工系能够给我提供如此好的实践机会。
更要感谢指导老师,在我们的学习过程中他给了很大的帮助,帮助我们理解不懂的地方,使我们最终能够完成这个课程设计。
我还要感谢参考文献的原作者。
在此对给予我帮助的老师表示深深地感谢!同时对给予我帮助的同学表示深深地感谢。
我想说的是,在指导老师和同学们的帮助下我学到了很多东西,也发现了自己的很多不足之处,促使我在以后的学习中更加努力的学习。
我们回顾这过去时间,我们会发现自己收获了很多,也成长了很多,懂得了如何去学习以前未曾学过的新思维新方法,懂得了如何去多方位地查找资料,完善和创新一些旧的思维方式,懂得了如何同老师和同学交流和协作,尤其要说的是,王老师老师在此过程中对我们悉心的辅导,认真的讲解,帮助我们解决问题,循循善诱,使我门受益匪浅。
还有同学们的帮助,互相推荐好的资料。
相信这次课程设计的体验将成为今后我们更多更广学习中的奠基石。
课程设计的过程,是学习的过程,也是锻炼的过程,更是教会我们同学之间相互帮助,共同克服困难的过程,这将是人生中一笔宝贵的财富,使我受用不尽的同时,我一定将之好好珍惜。
参考文献1李广弟,朱月秀,冷祖祁.单片机基础.第3版.北京:北京航空航天大学出版社,20072蔡美琴,张为民.MCS-51系列单片机系统及其应用.第2版.北京:高等教育出版社,20043张培仁.基于C 语言编程MCS-51 单片机原理与应用[M] .北京:清华大学出版社,20034 周润景,张丽娜.基于PROTEUS 的电路及单片机系统设计与仿真[M].北京:航空航天大学出版社,2006。