用单片机控制的LED流水灯设计(电路、程序全部给出) 开关电源设计制作
- 格式:doc
- 大小:48.50 KB
- 文档页数:11
单片机控制的LED流水灯毕业论文目录绪论 (1)1.相关元件及电路设计 (2)1.1AT89C51芯片功能特性及应用 (2)1.2MCS-51 单片机 (2)1.2.1 内部结构 (2)1.2.2引脚定义 (3)1.2.3 外部总线构成 (3)1.3单片机时钟电路及时钟时序单位 (4)1.4单片机的复位 (5)1.4.1复位状态 (5)1.4.2复位电路 (5)2.流水灯电路及程序设计 (6)2.1 电路原理图 (6)2.2电路PCB图 (6)3. 装配与调试 (7)3.1 装配 (7)自制电路板步骤..................3.1.13.1.2 印制电路板的组装4总结 (9)5心得体会 (9)6参考文献及程序 (10)1相关元件及电路设计1.1A T89C51芯片功能特性及应用单片机在我们的日常生活和工作中无处不在、无处不有:家用电器中的电子表、洗衣机、电饭褒、豆浆机、电子秤;住宅小区的监控系统、电梯智能化控制系统;汽车电子设备中的ABS GPS ESP TPMS医用设备中的呼吸机,各种分析仪,监护仪,病床呼叫系统;公交汽车、地铁站的IC卡读卡机、滚动显示车次和时间的LED点阵显示屏;电脑的外设,如键盘、鼠标、光驱、打印机、复印件、传真机、调制解调器;计算机网络的通讯设备;智能化仪表中的万用表,示波器,逻辑分析仪;工厂流水线的智能化管理系统,成套设备中关键工作点的分布式监控系统;导弹的导航装置,飞机上的各种仪表等等。
有资料表明:2007年全球单片机的产值达到151亿美元,我国单片机的销售额达到400亿元人民币,我国每年单片机的需求量达50至60亿片,是全球单片机的最大市场。
可以说单片机已经渗透到了我们生活的各个领域。
1.2MCS-51单片机1.2.1内部结构MCS-51系列单片机内部采用模块式结构,其结构组成框图如图 1.2.1所示。
图1.2.1 MCS-51系列单片机组成框图由图1.2.1可见,MCS-51系列单片机主要由以下部件通过片内总线连接而成:中央处理器(CP)数据存储器(RAM、程序存储器(ROM、并行输入/输出口(P0 口~P3 口)、串行口、定时器/计数器、中断控制、总线控制及时钟电路1.2.2引脚定义引脚是单片机和外界进行通信的通道连接点,用户只能通过引脚组建控制系统。
课程设计说明书课程名称:单片机原理及应用设计题目:基于单片机的LED流水灯控制院系:信息技术学院专业:计算机科学与技术2013年1月10日基于单片机的LED流水灯控制摘要基于单片机的LED流水灯的应用十分广泛,由单片机作为的核心控制器,通过按键实现控制功能和数据输入是非常普遍的。
通常在所需按键数量不多时,系统常采用独立式按键。
这种按键的电路配置灵活,软件结构简单。
由于实际应用中,不同系统对按键的要求不同,因此,对按键程序的设计要考虑全面,以便更好地完成按键所设定的功能,简述了该系统中一些重要芯片的基本工作原理,着重论述了硬件线路各个模块的设计思想。
进而熟练掌握相关专业基础知识的综合应用,提高学生的实际动手和设计能力。
本系统是基于AT89C51系列单片机为核心的LED流水灯设计,实现8个LED灯变化方向和速度的可调。
关键词:单片机独立式按键 LED目录第一章绪论 (1)1. 设计背景 (1)1.1设计目的 (1)1.2可行性分析及相关现状 (1)1.3意义 (2)第二章系统设计 (3)2系统设计 (3)2.1整体设计 (3)2.2模块设计 (4)第三章系统实现 (7)3.1整体仿真电路图 (7)3.2各部分模块原理 (7)3.2.1单片机最小系统 (7)3.2.2外围电路 (8)第四章核心代码 (11)第五章调试 (14)第六章总结与致谢 (15)6.1总结 (15)6.2致谢 (15)第七章附录 (16)7.附录 (16)7.1源代码 (16)第一章绪论1.设计背景1.1设计目的通过本次课题设计,应用《单片机原理及应用》等所学相关知识及查阅资料完成简易LED流水灯系统设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。
1.2可行性分析及相关现状随着人们生活水平的提高,基于单片机的LED流水灯的应用越来越广泛,其中独立式键盘的扩展电路,该模块主要应用于仪器仪表、工业控制器、条形显示器、控制面板等实时性要求不太高的设备。
基于51单片机的流水灯毕业设计方案:一、引言流水灯是一种常见的电子设计项目,适合初学者练习和毕业设计。
通过使用51单片机和少量外围元件,可以实现一个简单而有趣的流水灯效果。
本文将介绍基于51单片机的流水灯设计方案,包括硬件连接、软件程序设计和效果展示等内容。
二、硬件设计1. 材料准备:51单片机(如STC89C52)、LED灯若干(建议4-8个)、电阻、面包板、连线等。
2. 连接方式:将LED灯按顺序连接到51单片机的IO口,每个LED 灯通过一个电阻连接到IO口,确保电流限制。
3. 电源供应:连接电源至电路板,保证正常工作电压和电流。
三、软件设计1. 编程环境:使用Keil C51等集成开发环境进行程序编写。
2. 程序设计:设计一个循环移位的程序,控制51单片机的IO口依次点亮LED灯,形成流水灯效果。
3. 定时控制:通过定时器中断或延时函数控制LED灯的亮灭时间,实现流水灯的效果。
四、效果展示1. 烧录程序:将编写好的程序烧录到51单片机中。
2. 调试测试:连接电路并通电,观察LED灯按顺序点亮并流动的效果。
3. 优化改进:根据实际效果调整程序和硬件设计,优化流水灯的效果和稳定性。
五、注意事项1. 电路连接:确保电路连接正确,避免短路或接反现象。
2. 程序设计:合理设计程序逻辑,确保LED灯的流水效果符合预期。
3. 调试测试:在调试过程中注意观察LED灯的亮暗情况,及时发现问题并进行调整。
六、总结基于51单片机的流水灯设计是一个适合初学者和毕业设计的简单而有趣的项目,通过设计和实现可以提升对单片机编程和电路连接的理解和技能。
希望通过本文的介绍,读者能够顺利完成基于51单片机的流水灯毕业设计,并在实践中不断提升自己的电子设计能力。
用单片机控制的LED流水灯设计<电路、程序全部给出)开关电源设计制作学习园地»。
您尚未登录注册 | 社区服务 | 勋章中心 | 帮助 | 首页 | 无图版社区服务银行朋友圈开关电源设计制作学习园地 -> 好好学习-天天向上 -> 用单片机控制的LED流水灯设计<电路、程序全部给出) XML RSS2.0 WAP--> 本页主题: 用单片机控制的LED流水灯设计<电路、程序全部给出)加为IE收藏 | 收藏主题 | 上一主题 | 下一主题pwmdy级别: 电源-1级工程师精华: 0发帖: 212威望: 126 点金钱: 212 RMB贡献值: 0 点注册时间:2009-05-21最后登录:2009-11-22用单片机控制的LED流水灯设计<电路、程序全部给出)1.引言当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。
学习单片机的最有效方法就是理论与实践并重,本文笔者用AT89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才。
2.硬件组成按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。
AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。
LED流水灯实验一、实验内容将LED灯逐个点亮,然后全亮,全灭。
二、实验原理8个LED发光二极管,分别对应单片机IO口的P0.0到P0.7口,8个单片机IO口组成一个字节,用一个八位二进制的左移和右移来确定灯的亮灭,并用定时器延时。
三、描述该实验中运用的理论知识1、LED的点亮:8个LED发光二极管,分别对应单片机IO口的P0.0到P0.7口,8个单片机IO口组成一个字节,在程序编写过程中,可以直接用P0来进行操作。
2、流水效果:C语言的8位二进制数代表了8个IO口,左移,最低位填0,然后按位取反,就可以将灯逐个点亮3、延时:特殊功能寄存器TMOD,如图T1和T0分别代表单片机两个计数器。
GATE:该位被置位时为门控位。
仅当TR1被置位并且INT1脚为高,定时器开始计数。
当该位被清零时,只要TR1被置位,定时器1马上开始计数。
C/T:该位为0的时候,用作定时器,该位为1的时候,用做计数器。
0.5秒的延时12 * (65536- x)/11059200 = 0.001四、实验步骤1、流程图2、结果程序:#include <reg52.h>typedef unsigned char uint8;typedef unsigned int uint16;sbit ENLED = P1^4;sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;main(){uint8 counter;uint16 i,j;ENLED = 0;ADDR0 = 0; ADDR1 = 1; ADDR2 = 1; ADDR3 = 1;TMOD = 0x01;TH0 = 0xB8;TL0 = 0x00;TR0 = 1;while(1){if(1 == TF0){TF0 = 0;TH0 = 0xB8;TL0 = 0x00;counter++;}if(25 == counter){counter = 0;if(8 == j){P0 = 0X00;for(i=0;i<=38000;i++);P0 = 0XFF;for(i=0;i<=38000;i++);j = 0;}P0 = ~(1 << j++);}}}。
第1章概述近几年来,彩灯对于美化、亮化城市有着不可轻视的重要工作。
因此作为城市装饰的彩灯需求量越来越大,对与彩灯的技术和花样也越来越高。
但传统的彩灯控制电路一般是由数字电路组成,这种彩灯控制器电路结构复杂、成本较高、功率损耗大,此外从功能效果上看,彩灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。
因此有必要对现有的彩灯控制器进行改进。
然而单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
LED彩灯具有成本低、发光纯度高、发光热量小、耗电量低、超长寿命的特点。
所以利用单片机作LED彩灯控制,不仅是使控制花样、路数大大增加,成本也很低,而且对环境能源没有污染,有着很大的发展前景。
本方案是一种基于AT-89C51单片机的彩灯控制方案,实现对LED彩灯的控制。
主要以AT-89C51单片机作为主控核心与发光二极管、晶振、复位、电源等组成电路,利用软件编辑实现彩灯流水灯的效果。
第2章方案设计2.1设计任务(1)共有红、绿、蓝3色彩灯各8个,要求按一定顺序和时间关系运行:红色发光二极管由弱到强—>绿色发光二极管由弱到强—>蓝色发光二极管由弱到强。
(2)利用三基色原理,控制每次点亮红色发光二极管,绿色发光二极管,蓝色发光二极管的数目,实现黄色,紫色,青色。
(3)控制不同颜色发光二极管的数目,实现花样彩灯。
(4)编写程序代码。
(5)程序分析与调试。
2.2工程方案按照设计任务要求,红,绿,蓝光由弱到强,每个颜色用8个发光二极管,在程序控制下,先亮一个,再亮两个,再亮三个,慢慢的直到最后全亮,就能看到由弱到强的现象。
如果同一颜色使用更多的发光二极管,显示效果会更柔和。
要实现黄色,紫色,青色光,只能根据三基色原理进行合成。
所谓三基色是指红,绿,蓝三色,人眼对红,绿,蓝最为敏感,大多数可以通过红,绿,蓝3种颜色按照不同的比例合成产生。
同时,绝大多数单色光也可以分解成红绿蓝三种光。
51单片机流水灯51单片机的流水灯控制班级:100712姓名:全建冲学号:10071047一、设计要求用51单片机设计一个流水灯的控制方案,要求采用定时器定时,利用中断法控制流水灯的亮灭,画出电路图和程序流程图,写出程序代码以及代码注释。
二、电路原理图原理图分析:本原理图采用STC89S52单片机控制8个LED灯,其中8个LED灯的负极接单片机的P1端口,正极通过1KΩ排阻连接到电源上。
原理图中还给出了晶振与复位端,以保证控制器的稳定工作。
三、四、程序代码及注解1.非中断定时器控制#include<reg52.h>#include<intrins.h>//包含了_crol_函数的头文件#define uchar unsigned char#define uint unsigned intuint i=0;uchar a=0xfe;void main(){TMOD=0x01;//设置工作方式为定时器0,16位手动重装初值TH0=(65536-46080)/256;//50毫秒定时赋初值TL0=(65536-46080)%256;TR0=1;//启动定时器0while(1){If(TF==1)//读溢出标志位{TH0=(65536-46080)/256;//重新赋初值TL0=(65536-46080)%256;i++;if(i==10)//500毫秒定时{i=0;P1=a;//P1端口赋值a=_crol_(a,1);//循环左移}TF=0;//清除定时器溢出标志}}}程序分析:本程序采用非中断定时器法控制流水灯,核心语句在于读取标志位TF位,TF为定时器溢出标志位,溢出时硬件自动置一,所以循环读取标志位以判断定时器是否溢出,而每次溢出需要手动清零,否则定时器无法再次溢出,利用标志i读取10次即可达到500毫秒的定时。
另外需要注意的是单片机晶振为11.0592MHz,所以计时一个数的时间为12/11.0592=1.085us,故定时50毫秒的计数为50000/1.085=46080。
S51增强型单片机实验板上有8个高亮度发光二极管(见图1所示),可以用来做单片机流水灯、跑马灯。
等实验,电路原理图见下图3。
图3单片机流水灯设计方法从原理图可以看出,如果我们想让接在P1.0口的LED1亮起来,那么我们只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平就可以;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭方法方法同LED1。
因此,要实现流水灯功能,我们只要将LED2~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。
实现8个LED流水灯程序用中文表示为:P1.0低、延时、P1.0高、P1.1低、延时、P1.1高、P 1.2低、延时、P1.2高、P1.3低、延时、P1.3高、P1.4低、延时、P1.4高、P1.5低、延时、P1.5高、P1.6低、延时、P1.6高、P1.7低、延时、P1.7高、返回到开始、程序结束。
从上面中文表示看来实现单片机流水灯很简单,但是我们不能说P1.0你变低,它就变低了。
因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”机器代码。
我们又怎样来使单片机按我们的意思去工作呢?为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。
今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。
这里的“程序语言”目前主要有汇编语言和C语言两种;在这里我们所说的“翻译”软件,同行们都叫它为“编译器”,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。
前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。
现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序。
在上面主程序中用到了五条汇编语言指令:CLR、ACALL、SETB、LJMP、END。
基于51单片机的流水灯系统设计介绍:流水灯系统是一种常见的电子灯光效果,通过多个方向或位置的灯光按照一定的规则顺序闪烁,形成一种流动的效果。
这种系统在舞台演出、广告等领域广泛应用。
本文将基于51单片机设计一个简单的流水灯系统。
设计目标:本设计的主要目标是实现一个简单的有5个LED灯的流水灯系统,通过51单片机控制闪烁的频率和方向。
设计原理:1.51单片机:使用常见的AT89C51单片机,作为整个系统的控制核心。
2.LED灯:选用5个LED灯作为流水灯的灯光源。
3.节拍控制电路:通过一个定时器电路来生成节拍信号,控制LED闪烁的频率。
详细设计:1.系统硬件设计选用的51单片机AT89C51与外部晶振连接,为单片机提供时钟信号。
5个LED灯分别通过多路开关连接到51单片机的I/O口上,通过单片机控制I/O口输出高或低电平来控制LED灯的亮灭。
定时器电路通过8051单片机内部的定时器模块来实现。
2.系统软件设计使用C语言编写程序,实现流水灯的控制逻辑。
1)初始化:设置51单片机的I/O口为输出模式,并将所有LED灯都设置为关闭状态。
2)闪烁控制:使用一个循环,通过依次改变LED灯的亮灭状态实现流水灯的效果。
可以通过循环变量的增加或减少来改变流水灯的方向。
3)节拍控制:使用编写好的定时器中断服务函数,来控制流水灯的闪烁频率。
可以通过调整定时器的工作模式和计数值来调整闪烁的频率。
测试与调试:总结:本文基于51单片机设计了一个简单的流水灯系统,通过控制LED灯的闪烁频率和方向,实现流水灯的效果。
通过学习和理解该设计,我们可以进一步探索更复杂的灯光系统设计,并在实际应用中进行扩展和优化。
《微机应用系统设计与综合实验(实践)》课程设计实验报告实验课题LED霓虹灯设计姓名学号班级指导老师第一章设计概述 (3)1.1 设计任务 (3)1.2 设备器材 (3)第二章硬件设计方案 (3)2.1 设计思想 (3)2.2 硬件选择 (4)2.3 AT89C52单片机介绍 (4)2.4 硬件逻辑图 (7)2.5 设计连线 (8)2.6 仿真电路图 (8)第三章软件设计方案 (8)3.1 软件设计思想 (8)3.2 程序流程图 (9)第四章调试及运行结果 (10)第五章设计心得与体会 (10)参考资料 (11)11源程序清单第一章设计概述1.1 设计任务设计内容:利用汇编语言(或C语言),实现8个单色LED灯的左、右循环显示,并实现循环的速度可调。
选用芯片:8255 等注:由于实验室的没有提供8255芯片,所以改用单片机完成此实验,并且添加了调节灯明暗的功能,以实现明暗可调。
1.2 设备器材在本设计中,所用到的设备器材如下所示:(1) 计算机一台;(2) 唐都仪器实验箱一台;(3) AT89C52 单片机一片;(4) 导线若干。
第二章硬件设计方案2.1 设计思路本课题需要用按钮开关实现流水灯的左右循环显示、调速、控制亮度的功能。
可以选用五个开关来实现这些操作。
单片机正在软件运行下通过不断扫描开关状态,来将相关操作对应量送入单片机的输入端口,然后判断属于哪一类操作。
五个开关分别为K1,K2,K3,K4,K5 ,分别控制流水灯的调向、加速、减速、变亮、变暗。
在设计过程中,接开关的端口要全部保持高电平,当按下一个开关时,输入一个低电平,即为状态改变信号。
不能同时有两个端口同为高电平。
在设计中我主要负责了用云脉冲宽度调制( PWM )波控制LED 灯的亮度环节,开始对PWM 并不是很了解,通过请教同学和查阅相关资料,渐渐明白了其中的原理。
在主程序运行时通过中断方式调整其输出电压的占空比,从而改变灯泡的亮度。
用单片机实现流水灯的控制设计1.引言当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。
学习单片机的最有效方法就是理论与实践并重,本设计课题是流水灯的控制设计,流水灯是一串按一定的规律像流水一样连续闪亮。
流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。
2.硬件组成2.1 总体方案设计分析要求用8255的A口和B口做为输出,接16个发光二极管,从而实现16位流水灯的显示效果,基本的界限可如下图A所示,在C口的地两位接两个开关,实现两个扩展功能的控制。
i:基本流水灯显示电路A口和B口两个端口不能同时复制,从而在试验中可以用BX进行需要复制的数据的存储,因为BX可以分从BH BL两个部分进行独立的操作,在本次试验中用BH对A口进行赋值,用BL对B口进行赋值,通过演示一段时间再对BH BL 进行移位和输出,实现流水灯的效果。
ii:正反方向选择把PC.0口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.0为高电平的时候则灯进行左移,同时B口与A口相反。
iii:快慢速度控制把PC.1口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.1为高电平的时候则延时的时间缩短,使得流水灯的流水速度加快,低电平的时候则进行延时的时间变长,使得流水灯的流水速度加快。
3硬件原理设计A该模块的WR.RD分别练到PC总线接口模块的XIOW和XIORB该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到PC总线接口模块的数据(D0~D7)、地址线(A0~A7)C 8255模块选通线CA连到PC总线接口模块的IOY3D 8255的PA0~PA7连到发光二极管的L1~L8;8255的PB0~PB7连到发光二极管的L9~L16E 8255的PC0 PC1分别练到开关K0 K1F 软件流程框图及程序清单按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。
一.原理图二.所需元件89c51单片机1块,发光二极管8个,万用板1块,1K电阻9个,晶振1个(产生单片机所必须的时钟频率),复位开关1个,30PF电容2个,10uF电解电容1个,1.5V干电池4个,电池底座1个,电源开关1个,导线若干.三.工作原理(1)单片机工作原理。
单片机的40引角接+6V的电源,20引角接地。
(2)我们以上电路原理图为例,此原理图大概分三个部分。
其一,是由1K电阻和发光二极管所组成的八条支路电路,分别对应接单片机的P1口(8个)。
由于我们采用的是共阳极接法,所以在支路的另一端接上+6V的外加电压,再由单片机的P1口控制输出高平还是低平。
若为低平,则电路导通,二极管发光。
(例如,P1~0=0,则第一盏灯亮)其二,是由单片机的第九引脚和电阻R9、电解电容C3组成的复位电路,与C3并联一个复位开光,起到复位作用。
当开关断开时,电路正常运行。
一旦按下复位按钮,则+6V 与9引脚直接导通,电路重新运行。
其三,是由两个30PF的电容和一个晶振组成的,其中晶振接在18和19引脚。
其作用是为单片机正常工作提供一个必须的时钟频率。
(3)最后的是软件原理了,我们让其实现的功能如下:首先使灯从1引脚逐个依次闪亮到8引脚,然后从8引脚回到1引脚,且都不熄灭。
然后是两端的灯先闪亮,两边开始向中间移动,直到中间两个相遇后熄灭一段时间又马上往两边返回。
最后是让8引脚的灯闪亮三次,然后亮灯迅速向1引脚移动,后又以同样的速度返回,直到8引脚长亮一段时间后熄灭,我们的程序到此结束。
四.困难与排解。
(1)首先是原理问题。
由于首次接触单片机,所以很多东西我们都不懂。
因此,我们找了郭天祥的视频教程过来看,并学习如何写流水灯的编程和下载程序的相关软件(keil和STC-ISP)。
(2)然后是买元件问题。
由于首次接触这些器件,不懂它们长什么样子。
所以我们找了学长了解相关的器件。
(3)接下来是把元件装上万用板过程中,遇到的问题。
LED流水灯单片机的设计引言:设计目标:设计一个能够实现LED流水灯效果的电路,使用单片机控制灯光的亮灭和流动速度,并通过按键控制流水灯的运行。
设计过程:1.硬件设计:1.1 选择LED:选择合适的LED灯珠,通常使用常见的5mm圆形LED 灯。
1.2连接方式:将多个LED按照串联或并联方式连接,以形成流水灯效果。
1.3电流限制:通过串联合适的电阻,将电流限制在每个LED的额定值以下。
2.单片机选型:2.1功能要求:选择具备足够的I/O管脚数量,用于控制LED的亮灭和流动速度,以及接受按键输入的单片机。
2.2仿真和编程支持:选择具备仿真和编程支持的单片机,以方便调试和开发。
3.单片机与LED的连接:3.1端口选择:选择合适的I/O口进行连接,根据LED连接方式决定使用串口或并口进行连接。
3.2串行或并行输出:设置相应的单片机端口为输出模式,并将其与LED连接。
4.软件设计:4.1初始化:对单片机进行初始化设置,包括设置I/O口状态和初始化计时器。
4.2流水灯特效:使用循环控制语句控制LED流动的方向和速度,并通过改变LED的亮灭状态实现不同的灯光效果。
4.3按键控制:使用中断或轮询方式检测按键输入,并通过控制流水灯的运行状态来实现按键控制功能。
5.测试和调试:5.1仿真调试:使用仿真软件对设计的电路和代码进行调试,确保运行正常。
5.2硬件调试:将设计的电路和程序烧入实际的单片机和电路板中,通过观察和测试,确保流水灯的特效和按键控制功能正常。
总结:LED流水灯单片机设计是一个简单且具有实践意义的项目,通过设计和控制LED流水灯,可以提高对单片机的理解和熟练程度。
本文介绍了设计流程和关键步骤,希望对读者有所帮助。
通过本项目的实践,可以进一步扩展其他LED灯光效果的设计和控制。
目录一、前言1.1课题简介1.2设计目的二、总体设计2.1设计思路2.2原件清单三、硬件设计3.1AT89C513.2系统框图3.3程序框图四、软件设计4.1硬件设计4.2单片机时钟电4.3复位电路4.4控制电路4.5工作电路五、软件调试5.1设计要求5.2软件的流程图5.3程序设计六、软件调试七、心得体会八、参考文献第一章前言1.1 课题简介单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上的应用:,例如精密的测量设备 2.在工业控制中的应用:用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3.在家用电器中的应用可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5.单片机在医用设备领域中的应用:例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
用单片机控制的LED流水灯设计(电路、程序全部给出)开关电源设计制作学习园地» 您尚未登录注册 | 社区服务 | 勋章中心 | 帮助 | 首页 | 无图版社区服务银行朋友圈开关电源设计制作学习园地 -> 好好学习-天天向上 -> 用单片机控制的LED流水灯设计(电路、程序全部给出) XML RSS2.0 WAP--> 本页主题: 用单片机控制的LED流水灯设计(电路、程序全部给出)加为IE收藏 | 收藏主题 | 上一主题 | 下一主题pwmdy级别: 电源-1级工程师精华: 0发帖: 212威望: 126 点金钱: 212 RMB贡献值: 0 点注册时间:2009-05-21最后登录:2009-11-22用单片机控制的LED流水灯设计(电路、程序全部给出)1.引言当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。
学习单片机的最有效方法就是理论与实践并重,本文笔者用AT89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才。
2.硬件组成按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。
AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。
因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
其具体硬件组成如图1所示。
图1 流水灯硬件原理图从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。
因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
3.软件编程单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要告诉单片机怎么来进行工作,即编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。
软件编程是单片机应用系统中的一个重要的组成部分,是单片机学习的重点和难点。
下面我们以最简单的流水灯控制功能即实现8个LED灯的循环点亮,来介绍实现流水灯控制的几种软件编程方法。
3.1位控法这是一种比较笨但又最易理解的方法,采用顺序程序结构,用位指令控制P1口的每一个位输出高低电平,从而来控制相应LED灯的亮灭。
程序如下:ORG 0000H ;单片机上电后从0000H地址执行AJMP START ;跳转到主程序存放地址处ORG 0030H ;设置主程序开始地址START:MOV SP,#60H ;设置堆栈起始地址为60HCLR P1.0 ;P1.0输出低电平,使LED1点亮ACALL DELAY ;调用延时子程序SETB P1.0 ;P1.0输出高电平,使LED1熄灭CLR P1.1 ;P1.1输出低电平,使LED2点亮ACALL DELAY ;调用延时子程序SETB P1.1 ;P1.1输出高电平,使LED2熄灭CLR P1.2 ;P1.2输出低电平,使LED3点亮ACALL DELAY ;调用延时子程序SETB P1.2 ;P1.2输出高电平,使LED3熄灭CLR P1.3 ;P1.3输出低电平,使LED4点亮ACALL DELAY ;调用延时子程序SETB P1.3 ;P1.3输出高电平,使LED4熄灭CLR P1.4 ;P1.4输出低电平,使LED5点亮ACALL DELAY ;调用延时子程序SETB P1.4 ;P1.4输出高电平,使LED5熄灭CLR P1.5 ;P1.5输出低电平,使LED6点亮ACALL DELAY ;调用延时子程序SETB P1.5 ;P1.5输出高电平,使LED6熄灭CLR P1.6 ;P1.6输出低电平,使LED7点亮ACALL DELAY ;调用延时子程序SETB P1.6 ;P1.6输出高电平,使LED7熄灭CLR P1.7 ;P1.7输出低电平,使LED8点亮ACALL DELAY ;调用延时子程序SETB P1.7 ;P1.7输出高电平,使LED8熄灭ACALL DELAY ;调用延时子程序AJMP START ;8个LED流了一遍后返回到标号START处再循环DELAY:;延时子程序MOV R0,#255 ;延时一段时间D1: MOV R1,#255DJNZ R1,$DJNZ R0,D1RET ;子程序返回END ;程序结束3.2循环移位法在上个程序中我们是逐个控制P1端口的每个位来实现的,因此程序显得有点复杂,下面我们利用循环移位指令,采用循环程序结构进行编程。
我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这样就实现“流水”效果啦。
由于8051系列单片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实现“流水”效果。
具体编程如下所示,程序结构确实简单了很多。
ORG 0000H ;单片机上电后从0000H地址执行AJMP START ;跳转到主程序存放地址处ORG 0030H ;设置主程序开始地址START:MOV SP,#60H ;设置堆栈起始地址为60HMOV A,#0FEH ;ACC中先装入LED1亮的数据(二进制的11111110)MOV P1,A ;将ACC的数据送P1口MOV R0,#7 ;将数据再移动7次就完成一个8位流水过程LOOP: RL A ;将ACC中的数据左移一位MOV P1,A ;把ACC移动过的数据送p1口显示ACALL DELAY ;调用延时子程序DJNZ R0,LOOP ;没有移动够7次继续移动AJMP START ;移动完7次后跳到开始重来,以达到循环流动效果DELAY:;延时子程序MOV R0,#255 ;延时一段时间D1: MOV R1,#255DJNZ R1,$DJNZ R0,D1RET ;子程序返回END ;程序结束3.3查表法上面的两个程序都是比较简单的流水灯程序,“流水”花样只能实现单一的“从左到右”流方式。
运用查表法所编写的流水灯程序,能够实现任意方式流水,而且流水花样无限,只要更改流水花样数据表的流水数据就可以随意添加或改变流水花样,真正实现随心所欲的流水灯效果。
我们首先把要显示流水花样的数据建在一个以TAB为标号的数据表中,然后通过查表指令“MOVC A,@A+DPTR”把数据取到累加器A中,然后再送到P1口进行显示。
具体源程序如下,TAB标号处的数据表可以根据实现效果的要求任意修改。
ORG 0000H ;单片机上电后从0000H地址执行AJMP START ;跳转到主程序存放地址处ORG 0030H ;设置主程序开始地址START:MOV SP,#60H ;设置堆栈起始地址为60HMOV DPTR,# TAB ;流水花样表首地址送DPTRLOOP: CLR A ;累加器清零MOVC A,@A+DPTR ;取数据表中的值CJNE A,#0FFH,SHOW;检查流水结束标志AJMP START ;所有花样流完,则从头开始重复流SHOW: MOV P1,A ;将数据送到P1口ACALL DELAY ;调用延时子程序INC DPTR ;取数据表指针指向下一数据AJMP LOOP ;继续查表取数据DELAY:;延时子程序MOV R0,#255 ;延时一段时间D1: MOV R1,#255DJNZ R1,$DJNZ R0,D1RET ;子程序返回TAB:;下面是流水花样数据表,用户可据要求任意编写DB 11111110B ;二进制表示的流水花样数据,从低到高左移DB 11111101BDB 11111011BDB 11110111BDB 11101111BDB 11011111BDB 10111111BDB 01111111BDB 01111111B ;二进制表示的流水花样数据,从高到低右移DB 10111111BDB 11011111BDB 11101111BDB 11110111BDB 11111011BDB 11111101BDB 11111110BDB 0FEH,0FDH,0FBH,0F7H ;十六进制表示的流水花样数据DB 0EFH,0DFH,0BFH,7FHDB 7FH,0BFH,0DFH,0EFHDB 0F7H,0FBH,0FDH,0FEH……DB 0FFH ;流水花样结束标志0FFHEND ;程序结束4.结语当上述程序之一编写好以后,我们需要使用编译软件对其编译,得到单片机所能识别的二进制代码,然后再用编程器将二进制代码烧写到AT89C51单片机中,最后连接好电路通电,我们就看到LED1~LED8的“流水”效果了。
本文所给程序实现的功能比较简单,旨在抛砖引玉,用户可以自己在此基础上扩展更复杂的流水灯控制,比如键盘控制流水花样、控制流水灯显示数字或图案等等。
[楼主] | Posted: 2009-06-23 14:14xflj2008级别: 电源-未入门精华: 0发帖: 8威望: 0 点金钱: 8 RMB贡献值: 0 点注册时间:2009-07-02最后登录:2009-11-10[1 楼] | Posted: 2009-07-02 10:25 lilong级别: 电源-未入门精华: 0发帖: 18威望: 4 点金钱: 18 RMB贡献值: 0 点注册时间:2009-07-24最后登录:2009-09-26顶顶顶[2 楼] | Posted: 2009-07-24 13:40 yujideai级别: 电源-未入门精华: 0发帖: 8威望: 0 点金钱: 8 RMB贡献值: 0 点注册时间:2009-11-29最后登录:2009-11-29[3 楼] | Posted: 2009-11-29 16:12yuhongbo级别: 电源-未入门精华: 0发帖: 39威望: 3 点金钱: 39 RMB贡献值: 0 点注册时间:2009-03-10最后登录:2010-09-19714电子实验室下载资源整理,提供大量电子技术视频教程,大型EDA软件和教程等下载。