求一个51单片机的程序:一个按键控制led灯闪烁,就是按一下灯闪,再按灯就灭了

能不用中断吗,中断只能一个按键控制闪烁,另一个按键控制灯灭,想用同一个按键控制。

LED BIT P1.0
KEY BIT P1.1
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
    CLR 00H
MAIN1:
    JB KEY,LOOP
    JNB KEY,$
    CPL 00H
LOOP:
    JNB 00H,LOOP1
    CPL LED
    LCALL DELAY
    SJMP MAIN1
LOOP1:
    SETB LED
    SJMP MAIN1
DELAY:
    MOV R2,#200
DLY:
    MOV R3,#250
    DJNZ R3,$
    DJNZ R2,DLY
    RET
    END
温馨提示:内容为网友见解,仅供参考
无其他回答

51单片机怎么用c语言写一个按钮控制一个led的闪烁,按一下开始闪烁,再按...
if(P02)\/\/再次确定按键按下 { while(P02){flash=flash}\/\/按住按键的动作 flash=~flash;\/\/按键按下后执行动作 } } } void ledflash(){ if(flash){ led=1;\/\/点亮 delay(100);\/\/延时100MS led=0;\/\/熄灭 } else led=0;} void delay(unsigned int i){自己根据单片机频率写个1MS带形参...

按键点灯程序,按一下按键灯亮(一直亮),再按一下灭,51单片机。
1、首先打开编程软件Keil uVision4,新建一个工程文件,在菜单栏中Project—— New uVision Project..。2、然后选择单片机型号是 Atmel 公司的 AT89c52,单击OK。3、再单击工具栏上新建按钮,新建一个文档,然后再点击保存,输入保存的路径,输入名字。4、右键单击将这个文件添加到到工程文件夹中。5、打...

求51单片机按键点灯汇编程序,按一下按键灯亮(一直亮),再按一下灭
SETB P1.0 START:JB P1.0,NEXT ;设按键为低电平有效。JNB P1.0,CPL P3.0 NEXT:SJMP START END

单片机实现LED灯,按键时闪烁 ,再次按键时熄灭。
{ EX0 = 1; EA = 1;IT0 = 1;while(1)if(!Pm) { LED = 0; delay(200); LED = 1; delay(200); } } \/\/--- void X0_INT(void) interrupt 0 using 1 { delay2(5);if(P3_2 == 0) Pm = ~Pm;while(P3_2 == 0);} \/\/--- ...

单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED...
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include<reg52.h> \/\/定义单片机的头文件sbit led=P2^0; \/\/定义单片机的管脚,void main(void) \/\/主函数{ while(1) \/\/无限循环 {led=0x1f; \/\/点亮前面三个灯。这里...

51单片机按键控制按下K1四个led灯循环亮,再按一下全灭,c程序怎么写
在四个灯循环点亮的状态下,每点亮一个灯需要延时,如果调用延时子程序,按键就显示不灵敏了,所以,采用定时器中断的方式控制延时,就不影响按键了。include<reg51.h> include<intrins.h> 仿真图效果。

用单片机c语言一个按键控制led的闪烁和熄灭,就是按一下闪烁,再按就熄灭...
首先你的贴出来的程序不完整,最好贴出完整代码!其次,如果你的程序没问题的话,你的LED闪烁是必须在你按住按键且不能弹起情况下才会发生的,你是一直按着吗?而且注意你n的类型,因为你这样一直加,会溢出的

需要一个C语言程序。51单片机控制:按键按一下,延迟1分钟后开灯,灯亮半...
如果对时间要求不精确,用软延时即可。include<reg52.h> define uchar unsigned char define uint unsigned int sbit s=P1^0;sbit led=P1^1;void delayms(uint i) \/\/1ms延时程序 { uchar j;for(;i>0;i--){ for(j=0;j<125;j++)\/\/如果延时时间误差较大,可按比例改变125这个数 \/\/取值...

用51单片机按键控制启动给按键控制LED亮熄 在按键控制停止给LED不工 ...
不晓得你的按键和LED是高有效还是低有效 键盘需要去抖动啊 每次检测有键按下后,要延时一小段时间,在检测。你试一下呢?聚集还是要不得,感觉你程序算法有问题 include<reg52.h> \/\/\/宏定义\/\/\/ define uint unsigned int define uchar unsigned char \/\/\/定义引脚\/\/\/ sbit K1 = P1^0;sbit K2...

51单片机的按键控制小灯亮灭的问题(程序类型:c语言)怎么解决?
当松手时,KEY1 = 1,不满足if语句不 进入循环,LED继续保持当前状态即LED = 0,如果再次按下按键,此时检测到KEY1 = 0,进入循环,LED取反得到LED = 0,灯亮。*\/ delay(500); \/*此处延迟,保证连续两次按键动作处在程序的延时过程中,不进行其他程序从而不会影响小灯。*\/ } }}v...

相似回答