单片机按键控制8个LED亮灭,每个键控制一个LED,跪求程序,用C编写的!!谢了

如题所述

我的构想是,按键采用中断,给R0计数(每次按键加1),R0预置1,使用DJNZ R0,XXXX命令,XXXX转移目标,为0(说明没有按键),等待,不为0(至少按键过一次)再减一次,如果为0,说明按键过一次,跳转到一次按键的程序,如果不为0,跳转到按键2次的程序。粗略的这么想了一下,希望能给你有所启发。追问

谢谢大家了

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-16
到大侠论坛下载一个就是了,这种东西很多。
第2个回答  2011-04-16
如果LED接在P1口,为0时LED亮,按键在P2口,按键一端接负极,程序如下
void main()
{
whie(1)
{
P1=P2;
}
}

keil软件用单片机控制8个LED流水灯来回点亮(C语言程序)
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; \/\/点亮第四个LED for(i=...

...单片机中用c语言keil写程序实现用一个按键控制8个灯的亮和灭(按下...
void main(){ P2 = led; \/\/led初始赋给P2口 while(1){ if(k==0) \/\/如果按键按下 { while(k==0); \/\/判断按键松开 led=~led;P2 = led; \/\/按键按下取反再赋给P2口 } } }

求单片机控制八个led灯随意亮灭别且想有几个亮就亮几个的程序!!!
void delay(uint z);\/\/声明延时变量 void main(){ temp=0xfe;\/\/11111110想第几个管脚的二极管亮,就将那个管脚设0 P1=temp;\/\/低电平有效,第一个管脚的二极管亮 while(1) \/\/进入循环 { delay(3000);\/\/延时1秒 temp=_crol_(temp,1); \/\/向左移,一位 P1=temp;\/\/将temp的值赋给P1口...

单片机编程:8个LED灯同亮或者同灭,每中断一次,变反一次~编出程序~~~
功能:开发板8个发光管一起闪动 实验内容:输出底电平可以点亮RD口的发光管 高电平可以关掉发光管 开发板连接方法:装上J2。\/ include<pic.h> \/\/包含单片机内部资源预定义 __CONFIG(0xFF32);\/\/芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡void delay(); ...

谁帮我设计一个单片机的哈 就是八盏等全亮 然后每次灭一个 直至全灭...
<reg52.h> define uchar unsigned char define uint unsigned int sbit LED = P1^0;void DelayMS(uint x){ uchar i;while(x--){ for(i=120;i>0;i--);} } void main(){ while(1){ LED = ~LED;DelayMS(150);} }单啊。一个延时,一个MOV就搞定,你需要是C语言的,还是汇编的 ...

单片机编程:8个流水灯每隔一秒亮一个,用中断的方式。求完整编程啊...
} \/ 函数名称 : Timer0_isr(void) interrupt 1 using 1 函数功能 : 定时器中断程序 \/ void Timer0_isr(void) interrupt 1 using 1 { TH0=0x00; \/\/重新赋值,方式1是16位计数器,不能硬件重装初始值 TL0=0x00;LED=~LED; \/\/指示灯反相,可以看到闪烁 } ...

单片机LED小灯闪烁8灯亮灭的程序编写
include<reg51.h> unsigned char c,xianshi[]={0xfe,0xfd,0xfb,0Xf7,0Xef,0xdf,0xbf,0X7f, \/\/左移 0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,\/\/右移 0xff,0x55,\/\/闪 0x3f,0xcf,0xf3,0xfc,0xff,0xfc,0xf3,0xcf,0x3f,\/\/两位一起移动 0xff,0xaa};\/\/闪 unsigned int...

要求用51单片机控制8个LED亮灭的原理图+程序+解说?
1、依次亮,依次灭:从一个灯亮到全亮,再到全灭,每次改变一个灯亮灭 2、奇偶号灯间隔亮灭:隔一个灯亮一个灯亮灯时间为1s,没有灯全灭的时候 3、依次闪烁、切换时间为3秒,闪烁时间为2秒,我理解的是,没三秒钟有一个灯在闪烁,其中有一秒钟是灭灯状态 程序中使用了P1口与8个发光二极管...

用五一单片机c语言编程,p1口控制八个发光二极管,实现每隔一秒,两两点亮...
P0 = 0x00; \/\/P0.0~P0.7分别接八个发光二极管,刚开始全灭 while(1){ delay(1000);P0 = 0xc0;\/\/点亮前两个发光二极管P0.0和P0.1;delay(1000);\/\/延时1秒 P0 = 0x30;\/\/点亮第三个和第四个LED delay(1000);P0 = 0x0c;delay(1000);P0 = 0x03;} } 二、include <reg52.h>...

C语言C51单片机一个按钮控制8个LED灯,来高手解决,在线等,要求在下面...
我告诉你编程思路。首先初始化中P0全为1 if(P2.0==0){ while(1){亮的端口设为0;(看不清你说的LED)delay();(这里设置T0延迟)之前亮的端口设为1;现在亮的设为0;delay();亮的端口设为1;} }

相似回答