A. 怎么用avr单片机做LED流水灯我现在什么都不懂需要掌握什么
第一讲-单片机及其开发工具简介-AVR单片机软硬件设计视频教程-入门篇.wmv
在网络视频上搜一下吧,这样的视频还有很多,你可以在网上搜一下,如果你没有基础的话,就先学一下51系列的吧
B. 流水灯如何制作
接触过单片机的朋友都会对流水灯有了解,那时我们是用单片机来制作的,但是你如果单纯做个流水灯,选择使用单片机来做的话未免有些资源的浪费,今天就教给大家一个不用单片机就可以交替闪烁的跑马灯。
单片机流水灯(图片来源于网络,若侵权请联系删除)
单片机流水灯(图片来源于网络,若侵权请联系删除)
怎么制作的呢?来看一下原理图
流水灯原理图
由这个原理图可以看出我们使用的元件有电阻、电容、LED灯、三极管就这些常用的元件就可以了。
至于能够闪烁的原理呢也不难理解,三极管在电路中充当开关的作用,通上电后最左边的LED由于三极管最先被导通,从而最先被点亮,集电极串联一个电容连接到下一个三极管,当电容充电后把后一个三极管导通,导致后一个LED灯点亮,而由于后一个三极管导通又会引起前一个三极管截止,造成前一个LED熄灭,以次类推循环,这样就形成了这三类LED灯轮流被点亮,通过改变电容的大小还可以改变跑马灯闪烁的时间。
讲完原理后就准备下材料吧,来看下图片
制作材料
找到材料之后接下来就是按照原理图把应该连接的部分进行电气连接,大家在焊接的时候,最好把这些元件焊接到洞洞板上或者说在面包板上进行连接也行,如果单纯进行连接的话,会很乱,故障也难排查,而且容易失败,这几天给大家介绍几个小制作基本上都用到了洞洞板,也把我仅有的几个洞洞板给消耗完了,如果不用洞洞板直接焊接是很乱的,看下焊接图你就知道了
制作图
是不是看起来非常乱,确实是这样,再来看一张以前打印的PCB
PCB跑马灯
打成PCB板的看起来是不是好多了,把它设计成心形就更好看了。
可能有人不理解了为什么原理图中的跑马灯的制作是三个LED灯,而到变成那么多了,其实不管LED灯再多原理都是一样的,那个原理图可以说是单位电路,我们需要多加LED无外乎在原先有LED的地方再多并联几个LED,这样就能做成上图中的心形。
这种制作方法,简单,材料好找又不需要单片机基础,可以说只要你想做就能做出来,还不赶快制作一个。
注:流水灯和跑马灯是指一种东西,所以文章中没有区分,不同的人有不同的叫法!
C. 什么是流水灯
若干个灯泡依次点亮就叫流水灯,它用在夜间建筑物装饰方面。例如在建筑物的棱角上装上流水灯,可起到变换闪烁美不胜收的效果。
D. 流水灯的制作
1. 先做个AT89S51或AT89S52最小系统开发板;2. 写程序如下:它的效果是依次点亮32只LED,达到全亮后,再反向依次关闭32只LED。 谢谢采纳!
ORG 0
;依次清空P0.0~P0.7,顺次点亮P0口的8个LED========
LOOP: CLR P0.0
LCALL DELAY
CLR P0.1
LCALL DELAY
CLR P0.2
LCALL DELAY
CLR P0.3
LCALL DELAY
CLR P0.4
LCALL DELAY
CLR P0.5
LCALL DELAY
CLR P0.6
LCALL DELAY
CLR P0.7
LCALL DELAY
;依次清空P2.7~P2.0,顺次点亮P2口的8个LED========
CLR P2.7
LCALL DELAY
CLR P2.6
LCALL DELAY
CLR P2.5
LCALL DELAY
CLR P2.4
LCALL DELAY
CLR P2.3
LCALL DELAY
CLR P2.2
LCALL DELAY
CLR P2.1
LCALL DELAY
CLR P2.0
LCALL DELAY
;依次清空P3.7~P3.0,顺次点亮P3口的8个LED========
CLR P3.7
LCALL DELAY
CLR P3.6
LCALL DELAY
CLR P3.5
LCALL DELAY
CLR P3.4
LCALL DELAY
CLR P3.3
LCALL DELAY
CLR P3.2
LCALL DELAY
CLR P3.1
LCALL DELAY
CLR P3.0
LCALL DELAY
;依次清空P1.7~P1.0,顺次点亮P1口的8个LED========
CLR P1.7
LCALL DELAY
CLR P1.6
LCALL DELAY
CLR P1.5
LCALL DELAY
CLR P1.4
LCALL DELAY
CLR P1.3
LCALL DELAY
CLR P1.2
LCALL DELAY
CLR P1.1
LCALL DELAY
CLR P1.0
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
;依次置位P1.0~P1.7,顺次熄灭P1口的8个LED========
SETB P1.0
LCALL DELAY
SETB P1.1
LCALL DELAY
SETB P1.2
LCALL DELAY
SETB P1.3
LCALL DELAY
SETB P1.4
LCALL DELAY
SETB P1.5
LCALL DELAY
SETB P1.6
LCALL DELAY
SETB P1.7
LCALL DELAY
;依次置位P3.0~P3.7,顺次熄灭P3口的8个LED========
SETB P3.0
LCALL DELAY
SETB P3.1
LCALL DELAY
SETB P3.2
LCALL DELAY
SETB P3.3
LCALL DELAY
SETB P3.4
LCALL DELAY
SETB P3.5
LCALL DELAY
SETB P3.6
LCALL DELAY
SETB P3.7
LCALL DELAY
;依次置位P2.0~P2.7,顺次熄灭P2口的8个LED========
SETB P2.0
LCALL DELAY
SETB P2.1
LCALL DELAY
SETB P2.2
LCALL DELAY
SETB P2.3
LCALL DELAY
SETB P2.4
LCALL DELAY
SETB P2.5
LCALL DELAY
SETB P2.6
LCALL DELAY
SETB P2.7
LCALL DELAY
;依次置位P0.7~P0.0,顺次熄灭P0口的8个LED========
SETB P0.7
LCALL DELAY
SETB P0.6
LCALL DELAY
SETB P0.5
LCALL DELAY
SETB P0.4
LCALL DELAY
SETB P0.3
LCALL DELAY
SETB P0.2
LCALL DELAY
SETB P0.1
LCALL DELAY
SETB P0.0
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
;跳到LOOP处执行,死循环====================
LJMP LOOP
;延时子程序================================
DELAY: MOV R7,#50
D1: MOV R6,#255
DJNZ R6,$
DJNZ R7,D1
RET
END
3. 编译上面的源程序并下载到AT89单片机内运行即可。
E. 如何用单片机简单制作一个流水灯
工具:STC系列51单片机、串口转换器(USB转TTL 或232转TTL)
材料:实验板一块(可以买现成的,也可以买面包板自己搭建),电阻、LED灯 若干,5V电源等。
以下程序可以直接用Keil C 直接编译执行。
//可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。
//具体实现方法可以参考如下程序:
#include<reg51.h>
#include<intrins.h>
#defineuintunsignedint
#defineucharunsignedchar
voiddelay(uinta);
voidmain()
{
P1=0xfe;
while(1)
{
//向左循环点亮LED
for(i=0;i<7;i++)
{
P1=_crol_(P1,1);//左移一位,点亮下一位LED
delay(55);
}
//向右循环点亮LED
for(i=0;i<7;i++)
{
P1=_cror_(P1,1);//右移一位,,点亮上一位LED
delay(55);
}
}
}
//延时函数,延时a毫秒
voiddelay(uinta)
{
uintx,y;
for(x=a;x>0;x--)
for(y=110;y>0;y--);
}
F. 什么是流水灯
一组灯并且在控制系统的控制下按照设定的顺序和时间来发亮和熄灭。形成一定的视觉效果,常安装于店面和招牌上。
流水灯控制原理为:三极管在电路中充当开关的作用,当电路导通,最左边的LED首先点亮。基极串出一电容连接下一个三极管的集电极。当电容充分充电后,下一个三极管导通使得第二个LED点亮,以此类推。可以通过调节电容的容量值,来控制流水灯点亮的时间。
(6)流水尾灯制作方法视频扩展阅读
流水灯效果的实现:
以4个灯为例,让4个灯在不同的时间、不同的顺序亮起来实现流水灯的效果,需要有平台来统计每个灯的信息,包括顺序和时间。这个用来统计信息的平台叫做数据寄存器。
数据寄存器主要用来保存操作数和操作运算结果等信息。程序员可利用数据寄存器的特性灵活处理字节信息,从而实现流水灯的效果。
G. 如何用arino nano制作一个10路流水灯
从2号引脚开始,每个引脚通过串联一个470欧的电阻到LED再统一接回GND。
程序大概像这样。
void setup() {
for (int i = 2; i < 13; i++) {
pinMode(i, OUTPUT);
}
}
void loop() {
for (int i = 2; i < 13; i++) {
digitalWrite(i, HIGH);
delay(1000);
digitalWrite(i, LOW);
delay(1000);
}
}
H. 如何制作红色发光二极管流水灯
可以办到,使用两个三极管加电阻电容搭成多谐振荡器lp再使用两个三极管搭成双稳态电路,双稳态电路搭多个,然后组成计数器电路,这样就可以组成循环显示电路4390
I. 怎么制作16个led的流水灯
你可以选择直接接P0口(需要外接上拉电阻)和P2口,然后用其他引脚控制片选,还有一种就是应用I\O扩展,比如利用串行口输出。可以选用芯片74KS164(串进幷出)还有就是可以使用两个138译码器