社区导航

 

搜索
查看: 1656|回复: 2

[求助] 求个语句

[复制链接]

13

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2012-8-12 00:25 | 显示全部楼层 |阅读模式
这个程序只有长按KEY1时灯才闪烁 如何加上几条让他变成只要一按下后再抬开KEY1灯无限闪烁呢?
#include
#define uint unsigned int
sbit led1=P1^0;
sbit key1=P3^4;                  
void delayms(uint);
void main()
{
while(1)
{  
if(key1==0)
{
led1=0;
delayms(1000);
led1=1;
delayms(1000);
while(key1==0) ;
}
}
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
此帖出自51单片机论坛

回复

使用道具 举报

32

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2012-8-13 10:59 | 显示全部楼层

比较好处理

进入循环之前,判断按键按下以后,再判断下按键是否抬起,再进行灯的循环
有需要找我  QQ260568227

回复

使用道具 举报

10

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2012-10-28 00:26 | 显示全部楼层
再加多个变量吧
比如
unsigned char a;
接着判断
if(key1==0){a=1;}
然后用a来进入循环
if(a==1)
{
……
}
有几个按键就加几个变量,用变量间接判断按键,很方便的,希望看的懂哈~~

回复

使用道具 举报

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

关闭

站长推荐上一条 /5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-2-17 15:36 , Processed in 0.146470 second(s), 17 queries , Gzip On, MemCache On.

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