void led_run()
{
static uchar numcount=0;
if(keystep2&0x01)
{
if(numcount>=100)
{
led2=!led2;
}
}
else
{
led2=1;
}
}
void key2()
{
static uchar k2_cnt=0;
if(k2==0)
{//按下
k2_cnt++;
if(k2_cnt==0) k2_cnt--;
if(k2_cnt==2)//消抖时间约为2个DelayMs(10)
{
keystep2++;
}
}
else
{//松开
k2_cnt=0;
}
}
void main()
{
// 定义以及初始省略
while(1) // 主函数就是扫描各个按键
{
DelayMs(10);
key2();
led_run();
}
}
根据你的功能要求改了你的代码。
一个函数不应该把多个功能混杂在一起,要功能简单单一,好理解。
|