这是一个独立按键实验,为什么反应不是特别灵敏

2020-01-18 18:50发布

#include <reg52.h>
sbit key=P1^1;
  unsigned char code ledchar[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};

  void Delays ();
   void main ()
  {
          unsigned char cnt=0;
        bit backup=1;
        bit keyup=1;
         P0=ledchar[cnt];

        while (1)
        {
        P0=ledchar[cnt];
        keyup=key;
        if(keyup!=backup)
        {
          Delays ();
          if(keyup==key)
          {
            if(backup==0)
                {
                  cnt++;
                  if(cnt>=10)
                  cnt=0;
                }
                         P0=ledchar[cnt];
          }
        }
         backup=key;
   }
  }

  void Delays()
  {
          unsigned int i = 1000;
       
        while(i--);
  }
有的时候需要按三四次才能变数
5条回答
毕延吉
1楼 · 2020-01-19 03:07.采纳回答
sweet_136 发表于 2015-11-8 15:08
这个分析起来就很简单了

我又重新变了一次,奇迹般的又好使了;
sweet_136
2楼-- · 2020-01-18 23:50
 精彩回答 2  元偷偷看……
sweet_136
3楼-- · 2020-01-19 05:51
毕延吉 发表于 2015-11-8 15:12
我又重新变了一次,奇迹般的又好使了;

不错.代码写的很好..加油.有潜力..
汪凯露露
4楼-- · 2020-01-19 11:14
代码写的很好
zxq_9781
5楼-- · 2020-01-19 14:53
用定时器扫描按键,效率高灵敏度可控

一周热门 更多>