獨立按鍵控制LED狀態
所用到的電路圖
一,獨立按鍵模塊,
JP1連接到單片機P1口,介面一一對應的

二,LED模塊,
J19連接到單片機P2口,介面一一對應的

按鍵的小問題
解決方法: 在按下前面加個延時函式,渡過這時間段
代碼如下:
#include <REGX51,h>
void Delay_ms(Xms) //延時函式(ms)
{
unsigned char i, j;
while(Xms>0)
{
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
Xms--;
}
}
void main()
{
while(1)
{
if(P1_0 == 0)
{
//機械抖動,前后大約都是(5~10)ms,因此20ms肯定能夠消抖
Delay_ms(20); //消除按下的抖動
while(P1_0 == 0); //判斷手松開了沒
Delay_ms(20); //消除松開的抖動
P2_0 = ~P2_0; //進行取反,~是非的意思
}
}
}
實驗現象:按下K1,不會有任何反應,當松開K1,燈才會有反應,燈會從亮變滅,或者從滅變亮,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/260661.html
標籤:其他

