单片机可控制流水灯汇编程序 要求:按一下亮一个,再按一下第二个亮,第一个熄灭

p1口接灯,p3.2为按键
51单片机

第1个回答  2012-03-10
/************************************
编写者:XP
学习单片机一个星期,这是我自己写的*/
#include<reg52.h>
sbit Key=P3^2;
sbit LED_1=P1^0;
sbit LED_2=P1^1;
/**********************************
*********延时函数*****************/
void Delay(int del)
{ int i,j;
for(i=0;i<=42;i++)
for(j=0;j<=del;j++) ;
}
void main()
{ while(1)
{ if(Key==0)
{ Delay(10); //软件防抖,延时10ms
if(Key==0)
{ LED_1=0; //第一个灯亮
LED_2=1; //
Key=1;
Delay(250);
if(Key==0)
{ Delay(10); //软件防抖,延时10ms
LED_1=1; //第一个灭
LED_2=0;} //第二个亮
}
}
Delay(300);
Key=1;
}
}本回答被提问者采纳
第2个回答  2012-03-09
共阴情况下
SETB P3.2
MOV A,#01H
JB P3.2,$
RL A
MOV P1,A
RET

...要求:按一下亮一个,再按一下第二个亮,第一个熄灭
LED_1=1; \/\/第一个灭 LED_2=0;} \/\/第二个亮 } } Delay(300);Key=1;} }

跪求 单片机 按键控制流水灯,要求按一下按键第一个灯亮,按两下第二个...
给你个思路:预先定于一个寄存器KEYNUM,首先有按键检测程序,每检测到一次按键,KEYNUM+1。在显示程序里判断KEYNUM是几,如果是1则第一个灯亮,其他的灭,依次类推,如果KEYNUM=8,第八个灯亮,同时清除KWENUM.

单片机8个流水灯依次亮的c程序流程图
1.点亮1个灯;2.延时100毫秒 3.灭第一个灯,点亮第二个灯;4延时100毫秒;。。。依次类推,直到灭第8个灯,再返回到1,重新开始。

51单片机开发板八个led灯依次点亮(就是流水灯)然后再全部
这段代码实现了8个LED灯的流水点亮效果,先点亮第一个LED,等待600毫秒后,再点亮第二个LED,依此类推,直到所有LED都点亮,然后循环重复。

...编程实现流水灯,每次亮一个亮1s后熄灭再亮第二个,再亮1s然后熄灭,以...
DELAY1: MOV R5,#2 ; 可以改时间 D1: MOV R6,#255 D2: MOV R7,#255 D3: DJNZ R7,D3 DJNZ R6,D2 DJNZ R5,D1 RET TAB: DB 0E8H,0D8H,0B8H, 78H,0E4H,0D4H,0B4H, 74H DB 0E2H,0D2H,0B2H, 72H,0E1H,0D1H,0B1H, 71H END ...

单片机汇编语言按键控制流水灯,两个开关k1,k2。实现功能按下k1,流水灯...
JB 01H,LOOP3 JB 00H,LOOP4 SJMP MAINLOOP3: MOV P0,A RR A LCALL DELAY SJMP LOOPLOOP4: MOV P0,A RL A LCALL DELAY SJMP LOOPDELAY: MOV R2,#200DLY: MOV R3,#250 DJNZ R3,$ DJNZ R2,DLY RET END ...

单片机流水灯全亮在灭在亮的程序怎么写
你流水灯都写好了 全亮全灭还不简单啊,设置 P0=0X00 (假设低电平亮,高电平灭) 在延迟一下 在P0=0XFF 在延时 不就OK了 把这几个指令打包下放到一个子程序里 你用按键控制的时候就让按键执行这个子程序 如果是 主程序循环的 话就放进主程序 ...

52单片机独立按键控制LED流水灯
怎么个控制法,按一下,流水灯停下,再按一下开始,还是按一下对应亮一个或亮下一个 还是想知道怎么用按键 教你用按键的方法,功能你自己去实现。把io口拉高电平后,接按键,如果按键按下,会接地,读出的io口电平会变为低,这样就可以判断说法按下按键,但要一直重复读取io口数据,而且要防抖动...

在做单片机按键控制流水灯,我想达到按一下自己循环,再按一下就停止的...
{ Delayms(10); \/\/按键去抖动 if(K1==0) s=0; \/\/按键按下此时是键值s=0 } while(s==0) \/\/当按键第一次按下时进入循环点亮灯的循环 { temp=0x01; for(i=0;i<8;i++) { P0

keil软件用单片机控制8个LED流水灯来回点亮(C语言程序)
while(1){ P1=0xfe; \/\/点亮第一个LED for(i=200;i>0;i--)for(j=500;j>0;j--);P1=0xfd; \/\/点亮第二个LED for(i=200;i>0;i--)for(j=500;j>0;j--);P1=0xfb; \/\/点亮第三个LED for(i=200;i>0;i--)for(j=500;j>0;j--);P1=0xf7; \/\/点亮第四...

相似回答