其實就是設定微控制器引腳旁邊兩個IO口為高電平,中間那個引腳為高阻輸入,一旦掃到高電平,就可認為有按鍵按下
關鍵詞: 高阻輸入,其餘的處理方式和按鍵一樣,中斷也好,掃描也可以。
# include
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sfr P1M1=0x91; //I/O口工作狀態暫存器
sfr P1M0=0x92;
void delay(void)
{
unsigned char a,b,c;
for(c=167;c>0;c--)
for(b=171;b>0;b--)
for(a=16;a>0;a--);
_nop_();
}
void main()
P1M1=0x02;
P1M0=0x00;
P10=1;
P12=1;
P11=0;
while(1)
if(P11==1)
P2=0x00;//P2接LED
delay();
else
P2=0xFF;
其實就是設定微控制器引腳旁邊兩個IO口為高電平,中間那個引腳為高阻輸入,一旦掃到高電平,就可認為有按鍵按下
關鍵詞: 高阻輸入,其餘的處理方式和按鍵一樣,中斷也好,掃描也可以。
# include
# include
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sfr P1M1=0x91; //I/O口工作狀態暫存器
sfr P1M0=0x92;
void delay(void)
{
unsigned char a,b,c;
for(c=167;c>0;c--)
for(b=171;b>0;b--)
for(a=16;a>0;a--);
_nop_();
}
void main()
{
P1M1=0x02;
P1M0=0x00;
P10=1;
P12=1;
P11=0;
while(1)
{
if(P11==1)
{
P2=0x00;//P2接LED
delay();
delay();
}
else
{
P2=0xFF;
}
}
}