|
發布時間: 2022-12-19 15:13
正文摘要:謝謝大家,單片機源程序如下: #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit k1=P1^0; sbit k2=P1^1; sbit k3=P1^2; sbit k4=P1^3; sbit buz=P3^0; uchar code duan[] ... |
|
不要在定時器中斷做這么多操作,只做計數即可。長按其實很簡單 void scan() { static uin32t_t cnt; if(k2== 0) //按鍵按下 { cnt++; if(cnt >=100000)//數據越大,時間越長 { cnt = 0; //長按功能 } } } |
|
| 加void Keyup()和void KeyDown(),設置個flag標志按鍵按下和松開。 |
| 在松開按鍵里面做文章 while(!k2) while(!k3) |