登录
首页 单片机论坛
回帖 发帖
正文

主题:新手求答案:用一个按键控制一个LED闪烁的程序怎么写

点击:4664 回复:13

谁能告诉用一个按键控制一个LED闪烁的C程序怎么写,按键S1=P3^2 ;LED=P0^0;写出主程序即可,就是按键按一下led亮,再按下led灭,谢谢
11-02-07 19:51
sbit p0 = P0^0;
 int a=1;//根据发光二极管极极性取值
void delay(unsigned int i)
{
   char j;
   for(i; i > 0; i--)
       for(j = 200; j > 0; j--);
}
void main(void)
{
  int i;
  IT0=0;      
  EX0=1;
  EA=1;
  while(1)
  {    
    p0 = a;
delay(150);
}
}
void  counter0(void) interrupt 0
{
 
  EX0=0;
  a=!p0;
  EX0=1;
delay(150);
}
11-02-08 12:32
谢谢楼上前辈,我试试看
11-02-08 15:37
前辈可不敢当,我也是刚学,我们共同学习
11-02-08 19:07
这个是C语言吧,还有点没反应过来!
11-02-10 15:50
//按下LED亮,再按下灭;
#include  
sbit S1=P3^2 ;
sbit LED=P0^0;
unsigned int XD1;
bit M1;
bit X1;
/*******主程序**************************/
void main(void)
{
  S1=1; //按键复位
LED=1; //LED复位
XD1=0; //消抖值复位
X1=1; //软按键复位
M1=1; //辅助标志复位
while(1)
{
//按键按下开始消抖
if(S1==0)
{
if(XD1>=500)X1=0; //消抖后开始确定按键按下
else  XD1++; //消抖开始开始
}
else {XD1=0;X1=1;}          //按键松开复位
//按键按下LED取反
if(X1==0 && M1==1){LED=~LED;M1=0;}//加M1是防止重复输出
if(X1==1 && M1==0)M1=1;
}
}
最后修改:2011/2/16 12:45:05
11-02-16 12:34
//按下LED闪动,再按下灭;
#include  
sbit S1=P3^2 ;
sbit LED=P0^0;
unsigned int XD1;
bit M0;
bit M1;
bit X1;
void Delay_Task(unsigned int d)
{
unsigned int i,j;
for(i=0;i   for(j=0;j<1500;j++);
}
/*******主程序**************************/
void main(void)
{
  S1=1; //按键复位
LED=1; //LED复位
XD1=0; //消抖值复位
X1=1; //软按键复位
M1=1; //辅助标志复位
while(1)
{
//按键按下开始消抖
if(S1==0)
{
if(XD1>=100)X1=0; //消抖后开始确定按键按下
else  XD1++; //消抖开始开始
}
else {XD1=0;X1=1;}          //按键松开复位
//按键按下标志位取反
if(X1==0 && M1==1){M0=~M0;M1=0;}//加M1是防止重复输出
if(X1==1 && M1==0)M1=1;

//闪动程序
if(M0==0)
{
LED=~LED;
Delay_Task(10); //修改括号值可以改变闪动频率
}else LED=1;
}
}
11-02-16 12:43
单按钮控制继电器就可以实现,何必这么花费呢。
11-02-16 19:10
org 0000h
ljmp main
org 0100h
main:jb p1.0,$
      nop
nop
jb p1.0,main
nop
nop
jnb p1.0,$
cpl p1.1
ljmp main
end
这是汇编的
11-03-08 17:40
#include "reg52.h"
sbit S1 =P3^2;
sbit Led =P0^0;
void main(void)
{
Led=1; //假设1是使灯灭
while(1){
  if(S1==0)
   {
     while(S1==0); //等待按键释放
   Led^=1; //灯的状态取反
  }
}
}
11-03-31 13:28

上一页下一页

工控新闻

更多新闻资讯