导航:首页 > 操作系统 > 单片机开关控制流水灯

单片机开关控制流水灯

发布时间:2022-10-03 04:37:12

单片机中流水灯如何控制

单片机中流水灯控制:
硬件连接很简单,只要将8个LED指示灯接在P1口上 另一端通过220欧姆的电阻接+5V电源上,就可以了。
主要靠软件控制,简单的可以使用左移或右移指令,将低电平0 逐渐移入寄存器中,即控制LED指示灯逐渐一个一个地点亮或一个一个地熄灭。
复杂点: 可以进行花式流水控制。
例如: 可以由两边逐渐向内点亮 然后再由内逐渐向外一个一个熄灭。
还可以由由内逐渐向两边内点亮 然后再由两边渐向内逐一个一个熄灭。
在程序的实现上 可以把各种花式流水的P1口亮灭状态字 事先定义成数组 然后每隔一定的时间
取出送P1口显示。

呵呵 俺只提供给你一个号的算法 程序就自己动手自立更生。

㈡ 单片机C语言编程:控制流水灯

#include<reg52.h>
#include<intrins.h>
#define uintunsignedint
#define ucharunsignedchar
sbitk1=P1^0;//左循环按钮
sbitk2=P1^1;//右循环按钮
sbitk4=P1^2;//恢复暂停
sbitk3=P3^2;//暂停
voidinit();
voidshowLED();
voiddelay(uintxms);
uintdelayTime;
uintgoLeft=1;
uintgoRight=0;
uintsFlag=0;
voidmain()
{
init();
while(1)
{
if(k1==0)
{
delay(10);
if(k1==0)
{
while(k1==0);
goLeft=1;
goRight=0;
}
}
if(k2==0)
{
delay(10);
if(k2==0)
{
while(k2==0);
goLeft=0;
goRight=1;
}
}
}
}
voiddelay(uintxms)
{
uinti,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
voidinit()
{
P0=0xfe;
TMOD=0x02;//T0工作模式2自动装填8位 200us
TH0=0x38;
TL0=0x38;
EA=1;
ET0=1;
TR0=1;
EX0=1;
IT0=1;
}
voidshowLED()
{
if(goLeft==1)
P0=_crol_(P0,1);
if(goRight==1)
P0=_cror_(P0,1);
}
voidmoveDelay()interrupt1 //一次中断200us
{
if(delayTime==5000)
{
showLED();
delayTime=0;
}
else
delayTime++;

}
voidstopLED()interrupt0
{
while(1)
{
if(k4==0)
{
delay(10);
if(k4==0)
{
while(k4==0);
break;
}
}
}
}

㈢ 单片机中流水灯如何控制

单片机中流水灯控制:
硬件连接很简单,只要将8个LED指示灯接在P1口上
另一端通过220欧姆的电阻接+5V电源上,就可以了。
主要靠软件控制,简单的可以使用左移或右移指令,将低电平0
逐渐移入寄存器中,即控制LED指示灯逐渐一个一个地点亮或一个一个地熄灭。
复杂点:
可以进行花式流水控制。
例如:
可以由两边逐渐向内点亮
然后再由内逐渐向外一个一个熄灭。
还可以由由内逐渐向两边内点亮
然后再由两边渐向内逐一个一个熄灭。
在程序的实现上
可以把各种花式流水的P1口亮灭状态字
事先定义成数组
然后每隔一定的时间
取出送P1口显示。
呵呵
俺只提供给你一个号的算法
程序就自己动手自立更生吧
满意
就选满意回答

㈣ 51单片机,开关控制LED,开始流水灯,按一下停止,再按一下继续流水灯

#include<reg51.h>
#include<intrins.h>
#define
uchar
unsigned
char
sbit
button=P1^0;
uchar
press=0;
void
Delay(uchar
z)
{
uchar
x,y;
for(x=z;x>0;x--)
for(y=255;y>0;y--);
}
void
Led_Continue()
{
P2=0xfe;
while(press==0|press==2)
{
P2=_crol_(P2,1);
Delay(255);
}
}
void
Led_Stop()
{
P2=0xff;
}
void
Keyscan()
{
if(button==0)
{
Delay(20);
if(button==0)
{
press+=1;
if(press==1)
{
Led_Stop();
}
if(press==2)
{
press=0;
}
}
}
}
void
main()
{
while(1)
{
Keyscan();
Led_Continue();
}
}
试试这个,在mian中要一直去扫描,否则就扫描一次不能达到目的。
然后你问用中断怎么完成,告诉你中断更简单,定时器用作延时用,键盘只需要写当这个按键按下时
TRx=~TRx
就是每一次按下,定时器开关都和上一次状态不一样,这样每按一次都会停止、开始、停止、开始......
希望我的回答能帮助到你。

㈤ 单片机汇编语言按键控制流水灯,两个开关k1,k2。实现功能按下k1,流水灯左移动,按下k2,流水灯右移动。

K1EQUP1.0
K2EQUP1.1
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOVA,#0FEH
CLR00H
CLR01H
LOOP:
JBK1,LOOP1
SETB00H
CLR01H
SJMPLOOP
LOOP1:
JBK2,LOOP2
SETB01H
CLR00H
LOOP2:
JB01H,LOOP3
JB00H,LOOP4
SJMPMAIN
LOOP3:
MOVP0,A
RRA
LCALLDELAY
SJMPLOOP
LOOP4:
MOVP0,A
RLA
LCALLDELAY
SJMPLOOP
DELAY:
MOVR2,#200
DLY:
MOVR3,#250
DJNZR3,$
DJNZR2,DLY
RET
END

㈥ 51单片机流水灯原理

单片机流水灯控制原理就是将多个LED灯珠连接到不同的单片机输出端上,编程使单片机的这些输出端逐个的输出信号点亮LED,在设置好各个LED的通电时间和通电间隔时间后,就可以看到这些LED灯珠此起彼伏的亮起,如同流水一样.

㈦ 单片机如何控制流水灯每三秒循环一次

for循环三次后,执行while(1); ,这是一条死循环语句,相当于暂停指令,停止在此处。因单片机没有暂停指令,只好用这行语句代替了。
如果3次后,需要保持亮或灭,可以换一下:
led=1;
led=0;这两行就行了。
在实现流水灯之前,我们有必要提一点,C51代码在写之前,要参考电路图来写。拿流水灯来说,我们来看图二,LED灯,也就是二极管,八只LED的正极通过一根总线接在+5V的电压上,再看图一,可知八只LED灯的负极接在LED、P2的8个I/O口上。根据二极管的导通条件可知,在单片机的IO口输出低电平时,才能点亮LED灯。

㈧ 单片机c语言编了个流水灯,用按键怎么实现它暂停。

实现流水灯的方式有很多种(中断,定时器,延时等等),看用哪种方式,最简单的是延时做流水灯,那么在死循环里面增加按键检测,判断出有按键按下来时,再进入死循环,程序不往下走就可以暂停,再按跌出死循环。

#include //51系列单片机定义文件

#define uchar unsigned char //定义无符号字符

#define uint unsigned int //定义无符号整数

void delay(uint); //声明延时函数

void main(void)

{

uint i;

uchar temp;

uint Flag1=0; 按键标志位

uint Flag2=0;

while(1)

{

Flag1 = keyscan();

if(Flag1==1)(Flag2=~Flag2); //如果一旦检测到一次按键扫描就把标志位2 打开;再次就关闭;

if(Flag2==1)// 如果标志位打开就开始流水灯

{

temp=0x01;

for(i=0;i<8;i++) //8个流水灯逐个闪动

{

P1=~temp;

delay(100); //调用延时函数

temp<<=1;

}

}

(8)单片机开关控制流水灯扩展阅读:

单片机编程就是硬件是单片机,基于单片机进行的程序开发,在有周围外设支持的情况下,用软件来控制的部分通过单片机编程来实现。单片机能识别的语言是硬件语言即汇编,因此编程就是围绕汇编来实现,有直接用汇编程序来编写的,但是较难调试的编写,特别是一上规模就更不易实现,因此常用高级语言来写然后通过编译器转化成汇编。

㈨ 单片机中如何利用开关SW控制流水灯的启动和停止

在单片机的某个IO脚上接一个开关SW,主程序检测开关的状态,当开闭合,引脚为低电平,流水灯就停止。当开关开启,引脚为高电平,则启动流水灯流动。

阅读全文

与单片机开关控制流水灯相关的资料

热点内容
推荐血恋同级别的电影 浏览:117
男主意外和女主有孩子 浏览:616
先收女后收母的小说 浏览:998
无卡顿在线视频 浏览:128
在网址前面加什么不需要vip 浏览:515
我叫王刚电影的女孩是谁 浏览:65
韩国伦理女演员李彩 浏览:878
虎丘网格化管理app在哪里下载 浏览:191
一个男孩在庄园里的电影 浏览:462
程序员技术做到极限 浏览:864
主角可以回到抗战卖军火 浏览:956
会计云课堂文件夹是哪个 浏览:909
日本推理片和欧美推理片哪个好 浏览:446
编程跳转id指令怎么用 浏览:960
苍白贫血作品集txt 浏览:304
红羊打真军电影有哪些 浏览:88
海外悬疑电影推荐 浏览:270
如何查找本机网关ip和dns服务器 浏览:306
电影枪版资源到底在哪里 浏览:340
51单片机必考 浏览:849