『壹』 單片機C語言按鍵控制LED燈
其實是一樣的,也沒什麼哪個規范這一說,這個看個人習慣了
首先if(SW13==0)是判斷此引腳是否為0 (按鍵按下)
然後一個delay用於按鍵防抖動
沒被注釋的那部分是靠if在次判斷是否為0按下按下後執行LED_ON函數使LED亮
然後通過while判斷按鍵是否松開,如果松開的話就繼續執行LED_OFF將LED關閉
而注釋掉的那段是依靠while函數直接判斷按鍵是否處於按下狀態
是的話就循環執行LED_ON函數直至判斷按鍵松開(SW13=1)後在繼續執行到LED_OFF函數使LED 關閉
不過這兩種寫法的有個共同缺點就是按鍵判斷是while死循環,如果你這個按鍵按下後,單片機就只是在判斷這個條件成立與否,期間不在進行其他工作
『貳』 單片機怎麼用簡單按鍵控制LED
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
sbit led =P1^0;//假設燈在P1.0
sbit key1=P2^0;//假設按鍵在P2.0和P2.1
sbit key2=P2^1;//
void delay_1s(uint x)//延時
{
uint y;
uint z; //如果延時不夠長可以把z的值加大
while(x--)
{
for(y=0;y<50000;y++)
{
z=200;;
while(z--);
}
}
}
void main(void)
{
led=1; //不亮
while(1)
{
if(key1==0 && key2==1)//按鍵1按下,按鍵2沒按
{
led=0; //亮
}
else if(key1==1 ) //按鍵1釋放或未按時,燈滅
{
led=1; //滅
}
if(key2==0 && key1==1) //按鍵2按下,按鍵1沒按
{
led=0; //先亮
delay_1s(30); //等30秒
led =1 ; //30秒後滅
}
}
}
『叄』 單片機通過按鈕控制一個LED小燈的亮滅,請問這個程序怎麼寫
led應該是一個變數,是代表led燈 亮或者滅的一個變數。 當你按下開關後,s1==0,就執行 led=!led 這條語句。 led=!led
的意思就是取反的意思,即原來led燈亮的話 執行該條語句後就變成滅;原來滅的話 執行該條語句後
就變成亮。按鍵按下就打控制燈的io取反就可以了。如:if(key1==1){while(key1==1); //
等待按鍵放開led1=~led1;}
『肆』 請教一下STC單片機1秒鍾內按2下按鈕開關LED燈亮代碼怎樣寫啊
很簡單的。
循環(1){
檢測按鍵,等待按下;
發現按下後,延時消抖,等待釋放,然後執行下面的循環;
循環(1){ //循環檢測1秒鍾
發現按下後,燈亮,等待釋放,然後就跳出循環;
延時10ms;
次數加一;
次數不到100,繼續循環
到了100(即1s了),關燈,然後就跳出循環;
}
}
『伍』 單片機用c語言,按鈕控制一個LED燈,要求按下松開,LED亮,按下松開,LED暗!循環
1、首先打開桌面上的keil軟體,在進行對51單片機進行編程時最常用的就是keil軟體。
『陸』 51單片機用1個按鍵點亮LED燈,另1個按鍵關
//假設按鍵輸入P1.0,P1.1,LED控制P2.0,都是低電平有效
#include "reg51.h"
sbit KEY0=P1^0;關燈按鍵
sbit KEY1=P1^1;開燈按鍵
sbit LED=P2^0;燈
void main(void)
{
LED=1;
while(1)
{
if(KEY0==0)LED=1;
if(KEY1==0)LED=0;
}
}
『柒』 單片機控制LED燈開關按鍵不靈可通過什麼解決
不應該不領,可以檢查下IO輸出波形和外部電路。