单片机项目结题报告之流水灯3

上传人:鲁** 文档编号:456353127 上传时间:2023-04-18 格式:DOC 页数:24 大小:479KB
返回 下载 相关 举报
单片机项目结题报告之流水灯3_第1页
第1页 / 共24页
单片机项目结题报告之流水灯3_第2页
第2页 / 共24页
单片机项目结题报告之流水灯3_第3页
第3页 / 共24页
单片机项目结题报告之流水灯3_第4页
第4页 / 共24页
单片机项目结题报告之流水灯3_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《单片机项目结题报告之流水灯3》由会员分享,可在线阅读,更多相关《单片机项目结题报告之流水灯3(24页珍藏版)》请在金锄头文库上搜索。

1、 单片机项目结题报告项目名称: 花样流水灯 项目组员: 张曌、张丹丹、张浩、章江 班 级: 通信1502 指导教师: 张天飞 填表日期: 2017/5/5 目录第1章 概述31.1 项目简介31。2 项目方案3第2章 硬件电路设计4第3章 软件程序设计5第4章 仿真结果6第5章 小结7附录A 程序8附录B 电路图9附录C 焊接实物图10第1章 概述1。1 项目简介 本项目要求在单片机的P0端口的P0.0P0。7引脚外接8个LED发光二极管D1D8,在P2端口的P2.0P2.7引脚外接8个LED发光二极管D9D16实现各种灯亮的效果,具体要求为:(1)D1D16发光二级管自上而下依次轮流点亮;(

2、2)D1D16发光二级管自下而上依次轮流点亮;(3)D1D16发光二级管自上而下每间隔一个依次点亮;(4)上下交替点亮(5)全亮(6)全灭(7)重复循环以上6个过程1。2 项目方案(项目整体方案描述及方案框图)1。2.1若要实现流水灯不同功能的展现,则要根据实际的条件设计相应的硬件电路和软件程序的设计.本课题使用AT89C51单片机进行流水灯的功能演示,本流水灯实际上就是一个带有16个发光二极管的单片机最小的应用系统,由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。 如果要让接在P1.0口的LED1灯亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.

3、0口的LED灯熄灭,就要把P1。0口的电平变为高电平;同理,接在P1.1P1.7口的其他7个LED灯点亮和熄灭的方法同LED1;同理P2。0P2.7也如此。因此,要实现流水灯功能,我们只要将发光二极管的依次点亮,熄灭,LED灯便会一亮一暗的做流水灯. 在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”的效果了。基本功能:利用AT89C51作为主控制器组成一个LED流水灯系统,实现16个LED灯的演示。 基本器件:AT89C51单片机、16个LED灯和电阻1。2.2系统原理组成框图:开关输入 LED流

4、水灯中心控制模块AT89C51 复位晶振电路 第2章 硬件电路设计类似第1章,分小节介绍硬件电路设计(分模块介绍各子电路的功能及原理)2。1各电路模块2。 1。 1 子系统模块一 AT89C51复位模块图2.1。1 复位模块 通过人工按键复位实现单片机的复位。按键复位通过对RST端经过两个电阻对电源Vcc接通分压产生的高电平来实现。2。 1。 2 子系统模块二 AT89C51晶振模块(内部时钟方式)图2.1.2 AT89C51单片机内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2,这两个引脚外部跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器

5、。2. 1。 3 子系统模块三功能播放模块 播放模块由16个发光二极管和16个上拉电阻构成,通过对软件程序的调用,让16个发光二极管在不同时刻产生不同的效果,使其实现基本的流水灯功能,能够近一步的实现从理论到实际的转变.图2.1。3 功能播放模块 P0。0P0.7引脚外接8个LED发光二极管D1D8并且分别连接8个上拉电阻且共阳极,同在P2端口的P2.0P2.7引脚外接8个LED发光二极管D9D16也接8个上拉电阻且共阳极,实现各种灯亮的效果。第3章 软件程序设计3.1软件流程3。1。1 总流程图 自上而下依次轮流点亮 自下而上依次轮流点亮 自上而下间隔一次点亮 上下交替点亮 全亮 全灭 第4

6、章 仿真结果4.1 D1D16发光二级管自上而下依次轮流点亮4.2 D1D16发光二级管自下而上依次轮流点亮 4.3 D1D16发光二级管自上而下每间隔一个依次点亮 4。4 D1D16发光二级管上下交替点亮4。5 D1D16发光二级管全亮4.6 D1D16发光二级管全灭第5章 小结总结描述项目设计过程中遇到的问题及解决方法、团队队员的感悟与收获等通过这次单片机课程设计,我们小组收获很多。在这次设计过程中,硬件的设计跟焊接都要我们自己动手,软件的编程也要我们不断的调试,最终才能够完成自己所要完成的目标,获得相关的知识.在实习之前,我们要对所用单片机的内部结构有一个比较系统的了解;要从哪些途径获得

7、单片机理论知识的储备;要有一个清晰的思路和一个完整的软件流程图。在设计程序时,不能想着一步就将整个程序设计好,只有不断修改才是程序设计完美的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让所有人能明白你的思路,这样也为资料的保存与交流提供了方便;在实习过程中遇到问题是很正常的,但我们应该讲每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。但是从中学到的知识会让我们受益终身.发现、提出、分析、解决问题和实践能力提高都会受益于我在今后的学习、工作和生活中。在设计过程中和完成后,我们小组认真总结,有以下体会:1. 此次课程设计是在本学期单片机原理与技术的基础

8、上进行的,整个实验设计过程相对比较熟悉,是把以前学习的零碎的内容系统的整合学习.2. 程序调试时,应该讲各模块单独调试。3. 本实验要充分了解AT89C51的程序,按照要求编译相关程序。4. 在设计过程中,通过大量的查阅资料,认真的研究教材,并向指导老师请教很多问题,我们对单片机有了更为深刻的理解.我们认真演技原理,画出程序流程图,通过源程序,做出电路图,在仿真中发现很多问题,通过仔细研究,不但解决了问题,还学到了在平时的学习中学不到的东西。5. 在设计过程中,进一步的掌握Proteus、Word、Wave、Keil等软件的应用,也了解了单片机开发的基本环节。附录A 程序include reg

9、52.hvoid Delay10ms(unsigned int c); unsigned char LED,LCD,l;void main() unsigned char i;while (1) /-LED往左闪烁-/ LED = 0x01; for (i = 0 ;i 8 ; i+) P0 = LED;Delay10ms(50); LED = LED 1; if( LED =0x80) LED = 0x00; P0 = LED; /LED = 0x01;for (i = 0 ;i 7 ; i+) P2 = LED; Delay10ms(50);LED = LED 1; if( LED = 0

10、x80) LED = 0x00; P2 = LED; / LED = 0x80; for (i = 0 ;i 1; if( LED = 0x01) LED = 0x00; P2 = LED; / LED = 0x80; for (i = 0 ;i 8 ; i+) P0 = LED; Delay10ms(50);LED = LED 1; if( LED = 0x01) LED = 0x00; P0 = LED; / LED = 0x01; for (i = 0 ;i 4 ; i+) P0 = LED;Delay10ms(50); LED = LED 2 ; if( LED = 0x40) LED = 0x00; P0 = LED;/LED = 0x01;for (i = 0 ;i 4 ; i+) P2 = LED; Delay10ms(50);LED = LED 2; if( LED = 0x40) LED = 0x00; P2 = LED;/ LED =

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号