大家知道單片機(jī)的IO口資源是非常寶貴的,特別是當(dāng)我一個(gè)工程項(xiàng)目比較大的時(shí)候,我們在利用按鍵的時(shí)候,我們除了可以用矩陣鍵盤以外,我們還有一種辦法可以實(shí)現(xiàn)減少IO口但卻實(shí)現(xiàn)多功能的控制。這樣就可以為我節(jié)省了IO口,那么這個(gè)方法是什么呢?這就是我今天剛學(xué)的一個(gè)按鍵多種功能的控制。而且這次我還就效果及程序作了一定的講解,當(dāng)然我不是一個(gè)專業(yè)的老師,而且我不是以營利為目的,我只是抱著讓我空間見證我的進(jìn)步,還有讓看到我日志,想學(xué)單片機(jī)而沒有一點(diǎn)基礎(chǔ)的朋友不要像我走那么多彎路,少走一些彎路的目的。順便多結(jié)交一些熱愛單片機(jī)的朋友,當(dāng)然如果你是高手,希望高手們不要見笑;蛘吣X得有更好的辦法也請您多多指點(diǎn)。我會虛心向您們學(xué)習(xí)的,大家一起在交流中進(jìn)步。
參考資料“單片機(jī)一鍵多功能按鍵識別設(shè)計(jì):http://www.torrancerestoration.com/mcu/41.html
效果及簡單的講解:
程序:
#include<reg52.h>
sbit LED1=P1^0;
sbit LED2=P1^1;
sbit LED3=P1^2;
sbit key=P3^0;
void main()
{
int temp;
while(1)
{
if(key==0)
{
while(key==0);
{
temp++;
if(temp==1)
{LED1=0; LED3=1;}
if(temp==2)
{
LED1=1;
LED2=0;
}
if(temp==3)
{
LED2=1;
LED3=0;
temp=0;
}
}
}
}
}