標題:
關(guān)于單片機短按鍵、長按鍵一文
[打印本頁]
作者:
不倒翁.WZT
時間:
2022-1-27 20:43
標題:
關(guān)于單片機短按鍵、長按鍵一文
做成短按鍵、長按鍵有不同反應(yīng)較難一點,如果用將長按變成按兩次,就比較簡單。下面程序,按一次鍵時,為短按,短按LED_1點亮。按兩次鍵時,為長按,長LED_2點亮。
#include < reg51.h >
#include <intrins.h>
sbit k1=P1^0; //
sbit LED_1=P0^7;
sbit LED_2=P0^0;
unsigned char Time;
unsigned char i;
void delay(unsigned int ms) /
{
unsigned char x,y;
for(x=0;x<ms;x++)
for(y=0;y<120;y++);
}
void key_scan() //
{
i=0;
if(k1==0) /
{
delay(5);
if(k1==0) /
{
while(!k1); /
i=++i;
}
}
}
void main()
{
P0=0x00;
while(1)
{
key_scan();
if(i==1)
{
LED_1=1;
}
if(i==2)
{
LED_2=1;
}
}
}
作者:
溫xyz
時間:
2022-1-28 19:00
按鍵不松開,單片機什么也干不了。這也不是長按短按,這是松手檢測。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1