- 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();
- }
- }
根据你的功能要求改了你的代码。
一个函数不应该把多个功能混杂在一起,要功能简单单一,好理解。
|