51单片机实训(二) | 您所在的位置:网站首页 › cc2530流水灯实训报告 › 51单片机实训(二) |
文章目录
前言一、项目概述1.1 系统概述1.2 功能设计
二、项目硬件设计2.1 AT89C51单片机最小系统2.2 外设电路
三、项目软件设计3.1 程序代码设计
四、项目调试与分析4.1 Proteus 仿真调试4.2 结果分析
总结附录
前言
大家好,我是三🐎!这是我51单片机专栏的第四篇文章,本文分享另一个简单实用的小项目————基于Proteus的花样流水灯设计。
一、项目概述
1.1 系统概述
流水灯是在控制系统的控制下按照设定的顺序和时间来发亮和熄灭,形成一定视觉效果的一组灯。流水灯常安装于店面、招牌、夜间建筑物,可以让门面或建筑变得更加美观显眼。形成一定的视觉效果,常安装于店面和招牌上。 1.2 功能设计为实现流水灯的实际效果所采用了按钮与流水灯相结合的设计方案,使效果更佳个性化与多元化,更能满足客户的需求,以80C51为核心构架硬件电路,外附LED按以及钮进行显示于控制,同时利用C语言编程实现流水灯的显示功能。 流水灯控制原理为:三极管在电路中充当开关的作用,当电路导通,最左边的LED首先点亮。基极串出一电容连接下一个三极管的集电极。当电容充分充电后,下一个三极管导通使得第二个LED点亮,以此类推。可以通过调节电容的容量值,来控制流水灯点亮的时间。 二、项目硬件设计本系统的硬件设计包括AT89C51控制器核心电路以及外设电路设计,按钮控制模块以及LED流水灯模块,并在Proteus仿真软件上设计系统的仿真电路。 2.1 AT89C51单片机最小系统单片机最小系统电路,又称最小应用电路,是指用最少的元件组成的单片机可以工作的系统,AT89C51的最小系统电路主要由单片机、晶振电路、复位电路组成。如下图所示:
本系统的软件代码设计采用Keil uVision4编写。利用基于Proteus仿真软件的单片机设计流程对系统进行仿真测试,通过向单片机中烧录编写的程序,来实现系统所需要完成的全部功能。基于Proteus的花样流水灯设计流程如图所示。 基于Proteus的花样流水灯设计代码设计如下: #include void delay(unsigned int xms){ //延时函数 unsigned int i, j; for(i=0; i while(P0==0xFE) { P2=0xFE; delay(200); P2=0xFD; delay(200); P2=0xFB; delay(200); P2=0xF7; delay(200); P2=0xEF; delay(200); P2=0xDF; delay(200); P2=0xBF; delay(200); P2=0x7F; delay(200); } while(P0==0xFD) { P2=0xFE; delay(200); P2=0xFD; delay(200); P2=0xFC; delay(200); P2=0xFB; delay(200); P2=0xEA; delay(200); P2=0xDF; delay(200); P2=0xBE; delay(200); P2=0x7D; delay(200); } while(P0==0xFB) { P2=0xFA; delay(200); P2=0xF4; delay(200); P2=0xF6; delay(200); P2=0xF7; delay(200); P2=0xA4; delay(200); P2=0x56; delay(200); P2=0x47; delay(200); P2=0x7F; delay(200); } while(P0==0xF7) { P2=0xFE; delay(50); P2=0xFD; delay(50); P2=0xFB; delay(50); P2=0xF7; delay(50); P2=0xEF; delay(50); P2=0xDF; delay(50); P2=0xBF; delay(50); P2=0x7F; delay(50); } while(P0==0xEF) { P2=0xFE; delay(50); P2=0xFD; delay(50); P2=0xFC; delay(50); P2=0xFB; delay(50); P2=0xEA; delay(50); P2=0xDF; delay(50); P2=0xBE; delay(50); P2=0x7D; delay(50); } while(P0==0xDF) { P2=0xFF; delay(500); P2=0x00; delay(500); } while(P0==0xBF) { P2=0xEA; delay(200); P2=0xDF; delay(200); P2=0xBD; delay(200); P2=0x7E; delay(200); } while(P0==0x7F) { P2=0xFF; delay(500); } } } 四、项目调试与分析打开Protues软件,可以对系统进行Proteus仿真,将程序生成的.hex文件导入仿真系统的单片机内,运行仿真系统。 4.1 Proteus 仿真调试通过控制按钮,可以实现LED灯D1~D8的亮与灭,实现花样流水灯的效果。 通过测试,本系统可以实现课题预期所有功能。本次设计是基于Proteus花样流水灯的设计包括硬件电路和软件编程两部分。发现单调的流水灯没有很好的满足用户的需求,那么就采用了按钮结合许多花样的流水灯来增加丰富度。 总结在本次课程设计中,为实现流水灯的实际效果所采用了按钮与流水灯相结合的设计方案,使效果更佳个性化与多元化,更能满足客户的需求,以AT89C51单片机为主控单元构架硬件电路,控制不同按钮进行LED灯的亮与灭,实现花样流水灯的效果。 附录附录A 元件清单图 |
CopyRight 2018-2019 实验室设备网 版权所有 |