长汀无线电厂交流论坛

 找回密码
 注册
查看: 2233|回复: 7
打印 上一主题 下一主题

单片机C语言编程问题:怎样实现设置好之后按键无动作10秒退出键盘扫描子函数

[复制链接]
楼主
发表于 2011-6-2 17:33:41 | 显示全部楼层
#include<reg52.h>

sbit LED1=P1^0;
sbit LED2=P1^1;
sbit LED3=P1^2;
sbit KEY1=P3^2;
sbit KEY2=P3^3;

void delay(unsigned char time){
while(time>0)
  time--;
}

void fun1(){                      //按键KEY1的程序
while(1){LED2=0;}
}

void fun2(){                     //按键KEY2的程序
while(1){LED3=0;}
}

void main(){
unsigned int i=0,j;
LED1=1;
LED3=1;
LED2=1;
KEY1=1;
KEY2=1;
while(i<50){
  while(j<14000){        //修改14000这个参数可以调整延时时间
   j++;
   if(!KEY1){
    delay(200);
    if(!KEY1)
    fun1();
   }
   if(!KEY2){
    delay(200);
    if(!KEY2)
    fun2();
   }  
  }
  j=0;
  i++;
}
while(1){LED1=0;}
}

LED1亮表示进入子函数。LED2和LED3亮表示进入按键程序。
上电复位后,不按KEY和1KEY2,约10S钟后LED1亮。

菜鸟愚见,欢迎高手拍砖
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|长汀无线电厂交流论坛  

GMT+8, 2024-5-12 01:49 , Processed in 0.743021 second(s), 17 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表