独闷闷网

标题: 按键中最后那个延时delay(10)的作用是什么? [打印本页]

作者: 小瓶子    时间: 2014-7-21 13:36
标题: 按键中最后那个延时delay(10)的作用是什么?
本帖最后由 jianhong_wu 于 2014-7-24 00:22 编辑

//k1-k4按键状态显示
#include <reg51.h>
#define uchar unsigned char
#define uint  unsigned int
sbit  led1 = P0^0;
sbit  led2 = P0^1;
sbit  led3 = P0^2;
sbit  led4 = P0^3;
sbit  k1 = P1^0;      
sbit  k2 = P1^1;
sbit  k3 = P1^2;
sbit  k4 = 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
最后那个delay延时估计作者是想用来去抖动的。这段程序写的很糟糕,非常糟糕。请不要 深入研究这段程序。建议你看我写的《从业将近十年!手把手教你单片机程序框架》关于按键部分的内容。
作者: jianhong_wu    时间: 2014-7-21 16:03
最后那个delay延时估计作者是想用来去抖动的。这段程序写的很糟糕,非常糟糕。请不要 深入研究这段程序。建议你看我写的《从业将近十年!手把手教你单片机程序框架》关于按键部分的内容。
作者: jianhong_wu    时间: 2014-7-21 16:07
最后那个delay延时估计作者是想用来去抖动的。这段程序写的很糟糕,非常糟糕。请不要 深入研究这段程序。建议你看我写的《从业将近十年!手把手教你单片机程序框架》关于按键部分的内容。
作者: 小瓶子    时间: 2014-7-21 17:23
哦哦哦   好的   你说的那个在哪啊   论坛里有么
作者: 黑夜之狼    时间: 2014-7-22 13:44
LZ,写漂亮的代码就看鸿哥的就行了
作者: 小瓶子    时间: 2014-7-23 23:27
好的                              




欢迎光临 独闷闷网 (http://www.dumenmen.com/) Powered by Discuz! X3.2