小瓶子 发表于 2014-7-21 13:36:48

按键中最后那个延时delay(10)的作用是什么?

本帖最后由 jianhong_wu 于 2014-7-24 00:22 编辑

//k1-k4按键状态显示
#include <reg51.h>
#define uchar unsigned char
#define uintunsigned int
sbitled1 = P0^0;
sbitled2 = P0^1;
sbitled3 = P0^2;
sbitled4 = P0^3;
sbitk1 = P1^0;      
sbitk2 = P1^1;
sbitk3 = P1^2;
sbitk4 = P1^3;
void delay(uint x)
{
      uchar i;
      while(x--) for(i = 0; i < 120; i++);
}
void main()
{
      P1 = 0xff;
      P0 = 0xff;
      while(1)
      {
                led1 = k1;
                led2 = k2;
                if(k3 == 0)
                {
                        while(k3 == 0);             //等待按键释放
                        led3 = ~led3;
                }
                if(k4 == 0)
                {
                        while(k4 == 0);               //等待按键释放
                        led4 = ~led4;
                }
                delay(10);
      }
}
请问下这段程序的最后那个延时的作用是什么??????

jianhong_wu 发表于 2014-7-21 16:02:47

最后那个delay延时估计作者是想用来去抖动的。这段程序写的很糟糕,非常糟糕。请不要 深入研究这段程序。建议你看我写的《从业将近十年!手把手教你单片机程序框架》关于按键部分的内容。

jianhong_wu 发表于 2014-7-21 16:03:06

最后那个delay延时估计作者是想用来去抖动的。这段程序写的很糟糕,非常糟糕。请不要 深入研究这段程序。建议你看我写的《从业将近十年!手把手教你单片机程序框架》关于按键部分的内容。

jianhong_wu 发表于 2014-7-21 16:07:03

最后那个delay延时估计作者是想用来去抖动的。这段程序写的很糟糕,非常糟糕。请不要 深入研究这段程序。建议你看我写的《从业将近十年!手把手教你单片机程序框架》关于按键部分的内容。

小瓶子 发表于 2014-7-21 17:23:24

哦哦哦   好的   你说的那个在哪啊   论坛里有么

黑夜之狼 发表于 2014-7-22 13:44:15

LZ,写漂亮的代码就看鸿哥的就行了

小瓶子 发表于 2014-7-23 23:27:13

好的                              
页: [1]
查看完整版本: 按键中最后那个延时delay(10)的作用是什么?