找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2255|回复: 6
收起左侧

帮我看一这个程序错在哪里,我要它一个按钮在一定时间内按下两次以上灯亮。帮忙谢谢

[复制链接]
ID:44262 发表于 2014-10-25 12:20 来自手机 | 显示全部楼层
你应该增加消抖动处理,然后做一个软件计数器,当计数器增加到二的时候清零,然后执行相应的按键操作
回复

使用道具 举报

ID:65605 发表于 2014-10-25 14:44 来自手机 | 显示全部楼层
这个要怎么写啊能不能给我一个例子
回复

使用道具 举报

ID:65605 发表于 2014-10-25 17:45 来自手机 | 显示全部楼层
帮帮忙谢谢了
回复

使用道具 举报

ID:66840 发表于 2014-10-27 08:50 | 显示全部楼层
#include<reg52.h>

unsigned int temp,temp1;
sbit k1=P1^0;
sbit LED=P0^0;//lLED1

void delay(unsigned char xms)
{
    unsigned char i,j;
    for(i=xms; i>0; i--)
    {
            for(j=110; j>0; j--);
     }
}

void main()
{
        temp = 0;
        temp1 = 0;
          while(1)
           {
            while(k1==0)// 判断K1是否按下
         {
                 while(k1==1)//等待按键释放
                         {
                                temp++;
                               delay(1);
                               temp1++;
                         if(temp1<2000)//判断是否在2秒内
                         {
                           if(temp >= 2) //判断次数是否2次以上
                               {
                                LED =0;
                                temp1 = 0;
                                   temp = 0;                                       
                                }
                        else
                        {
                                LED =1;                                                                                                                                        }                          }                        
                        }                        
                        }                                       
        }
}

评分

参与人数 1威望 +50 黑币 +50 收起 理由
admin + 50 + 50

查看全部评分

回复

使用道具 举报

ID:68079 发表于 2014-10-29 19:17 | 显示全部楼层
你的计时程序不应在while中实现,

评分

参与人数 1黑币 +30 收起 理由
admin + 30 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:66840 发表于 2014-10-29 21:44 来自手机 | 显示全部楼层
是的,没考虑好,应该放在开头。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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