单片机流水灯实例
之前我们学习单片机时,总是以51单片机作为入门芯片,而想要对单片机的程序进行编译,那么首先要安装KEIL文件,这里就不做介绍。
编译完成后,在我们的文件夹下找到.hex的文件,将其烧写到我们的芯片中即可。
这里简单的介绍一下入门的各类流水灯程序,有兴趣的可以实验一下。
#include<reg51.h> //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void Delaytime(uint x)//定义延时函数
{
uint i,j;
for(i=x;i>0;i--)
for(j=250;j>0;j--);
}
void main(){
uint i;
uchar temp;
while(1){
//8个流水灯逐个闪动:
temp=0x01;
for(i=0;i<8;i++){
P0=~temp;
Delayms(50);
temp<<=1;
}
//8个流水灯反向逐个闪动:
temp=0x80;
for(i=0;i<8;i++){
P0=~temp;
Delayms(50);
temp>>=1;
}
//8个流水灯依次全部点亮:
temp=0xfe;
for(i=0;i<8;i++){
P0=temp;
Delayms(50);
temp<<=1;
}
//8个流水灯依次反向全部点亮:
temp=0x7f;
for(i=0;i<8;i++){
P1=temp;
Delayms(50);
temp>>=1;
}
}
}
这些程序也可以用我们之前介绍的软件进行模拟,线路如下所示:
单片机流水灯制作实战,单片机编程案例实践,单片机快乐入门基础
用单片机做LED流水灯,是每个单片机初学者学习和训练项目之一,流动的LED灯光会提高学习者极大的热情和兴趣。选用AT89C2051制作流水灯,这款单片机的体积小、管脚少、带2K字节闪速可反复编程、擦除只读存储器的8位单片机,它具有和MCS-51产品兼容、电压使用范围宽、空载低功耗等特点。
一:单片机流水灯电路
单片机流水灯电路
功能实现思路:当P1口某位为低电平时,相应的LED灯就会点亮;其它位就为高电平,相应的LED灯不亮。延时后不断将点亮位移到下一位,就会产生循环点亮流水的效果。
二:单片机程序流程图
程序流程图
三:单片机程序编写
ORG 0H
MOV A,#0FEH ;下行初值
MOV P1,A ;从P1.0开始
MOVR2,#7 ;循环计数次数
DOWN:RLA ;下行方向
ACALL DEL50 ;延时50ms
MOV P1,A ;驱动LED
DJNZ R2,DOWN;未完继续
MOV R2,#7 ;循环计数次数
UP:RR A ;上行方向
ACALL DEL50 ;延时50ms
MOV P1,A ;驱动LED
DJNZ R2,UP ;未完继续
MOVR2,#7 ;循环计数次数
SJMP DOWN ;循环
DEL50: MOV R7,#200;延时50ms
DEL1:MOV R6,#125;200(125*2)=50000
DJNZ R6,$ ;
DJNZ R7,DEL1;
RET
END
将程序通过编译器和烧录器写入单片机IC 89C2051中。
四:流水灯制作
流水灯实物参考
参照电路图中的元件参数:
1、R1:1/4W金属膜电阻,阻值10KΩ。
2、R2-R9:1/4W金属膜电阻,阻值200Ω。
3、C1:电解电容器,10UF/16V。
4、C2-C3:瓷片电容器,30PF/50V。
5、X1:晶体振荡器,12MHZ。
6、IC:单片机,AT89C2051。
7、IC座:20脚单片机用。
8、M5发光二极管(LED灯),可选择不同颜色。
9、DC5V直流电源。可以用手机充电器或移动充电宝的5V输出电压,也可以插电脑USB接口等。
焊接好以上电子元件,检查无误后,插上单片机IC,通上5V电源,流水灯可以正常工作。
祝大家流水灯制作成功,体验学习单片机带来的乐趣,欢迎交流!
相关问答
at89c51 单片机流水灯 原理是什么?本流水灯系统使用AT89C51单片机来实现流水灯的控制的设计原理是:P1的八个接口P1.0~P1.7,都通过限流电阻的连接着LED灯的阳极,所有LED灯的阴极的连接在0V,要让...
单片机流水灯 C语言程序(8个灯,依次点亮每个灯,延时500MS)?单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)源代码如下:#include单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)源代码如下:#include
单片机 走马 灯实验灯 亮原理?跑马灯可以用MCS-51单片机控制一个LED点阵来实现,一个简单的跑马灯,每一个小方格代表一个发光二极管,黑色代表相应位置的发光二极管被点亮,白色的空格表示未...
单片机流水灯 程序怎么编?编写单片机流水灯程序的步骤如下:1.确定使用的单片机型号和开发环境,选择合适的编程语言和开发工具。2.根据硬件电路设计,确定流水灯LED灯的接口引脚和控...
怎么用keil5做51 单片机流水灯 ?要用keil5做51单片机流水灯,首先需要创建一个新的工程,并选择合适的单片机型号。然后,在代码中定义需要使用的引脚,并编写流水灯控制程序。在编译和链接完成...
单片机 如何用按钮控制 流水灯 ?单片机可以通过编程控制流水灯的开关,只需要将相应的按钮连接到单片机的GPIO端口,编写程序实现开关控制逻辑,即可实现流水灯的控制。具体步骤包括初始化GP...
51 单片机流水灯 方向改变原理?单片机流水灯控制原理就是将多个LED灯珠连接到不同的单片机输出端上,编程使单片机的这些输出端逐个的输出信号点亮LED,在设置好各个LED的通电的时间和通电间隔...
怎么用89C51 单片机 实现用一个开关控制8个 流水灯 ,要求开关按下去松开是亮的,再按下去松开是灭的?开关,接在P2.7与地之间。#include开关,接在P2.7与地之间。#include//预处理命令voidw(unsignedchark){unsignedinta;//定义变量a为int类型...
用 单片机 开发板上的p0口和p1口实现 流水灯 控制?当然只能一个一个的移了,51单片机一次只能操作一个8位端口的寄存器用C语言编程虽然可以实现16位数据的左移和右移,但控制LED时还是要分两个端口写入例如:uinta...
单片机 独立按键控制 流水灯 的C语言程序怎么写?首先选择一款单片机学习。推荐使用51单片机:简单好用资料多。网上随便找一套入门视频教程就行了。如果c语言不会的话,先学c语言。如果c语言已经入门了,就可...