『壹』 52單片機閃爍燈程序
你閃爍的話,程序是什麼樣子?這個單片機閃爍的程序的話。根據這個需求來進行開關可以了
『貳』 51單片機燈閃爍怎麼編程
51單片機閃爍燈的編程程序要與相對應的機器連接之後,固定編碼操作。
『叄』 如圖單片機閃爍燈的程序怎麼寫
main前加void
uint i,j;
『肆』 51單片機控制一個燈閃爍的程序怎麼做
不知道你那個按鍵是做什麼用的,要LED閃爍的話可以先點亮LED,然後延時一會兒,再熄滅LED,循環的話就是閃爍了,點亮或者熄滅LED就是通過P0口輸出高或低電平實現
『伍』 利用51單片機設計一個循環閃爍程序
#include<reg51.h>
#defineucharunsignedchar
voiddelay(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}
main()
{
uchari,j;
j=0;
while(1)
{
for(i=0;i<10;i++)
{
P0=~(1<<j);
delay(100);
P0=0xff;
delay(100);
}
j++;
j%=8;
}
}
『陸』 單片機控制led的閃爍程序
你這個程序死循環了,我一點一點給你糾正:
1 你有個不好的習慣,希望你改正:
定義變數的時候,請明確的指明變數的類型:unsigned char i,或者unsigned int i
而不要是unsigned i,這是不好的習慣。
2 你的這個地方是個死循環:
for(j=7;j>=0;j--)
{
led=(temp>>=1);
yanshi(50);
}
因為你的j定義的是unsigned 類型,所以,j永遠都會是非負數,所以,你的for循環會一直進行,修改如下:
for(j=7;j>0;j--)
{
led=(temp>>=1);
yanshi(50);
}
3 看你的while(1)循環里:
while(1) {
if(kaiguan==0) yanshi(20);
if(kaiguan==0)
{
kaideng();
}
if(kaiguan!=1)
{led=0xff;}
}
你這樣寫,我問你 if(kaiguan==0)和if(kaiguan!=1)有什麼區別嗎?
『柒』 51單片機使燈閃爍,我寫的程序按一下開始閃爍,在按一下為什麼不能熄滅呢
void main()
{
L1=0;
if(K1==0) //1 按鍵按下後
{
Delay10ms(); //2 延時去抖動
if(K1==0) //3 確認按下
{
L1=0; //4 以下4句閃爍一次
Delay(1000);
L1=1;
Delay(1000);
}
while(1) //5 這里死循環,不能再執行上面的語句了。
{
while(!K1) //6 判斷按鍵是否按下,如果按下,則延時10ms,再判斷是否按下,一致循環,知道你松開手。
{
Delay10ms();
}
while(!K1); //7 按鍵按下話,一致死等,直到你松開手
{ //8 下面閃爍一次。
L1=0;
Delay(1000);
L1=1; // 9
Delay(1000);
}
}
}
}
你的程序來看,工作流程是這樣的,開機後,按下按鍵不放,只閃爍一次。如果你放開你的手,釋放按鍵,則LED一致閃爍。
你說再按一下為什麼不熄滅,因為 標示9句那裡置1了,你的硬體應該是L1置1亮吧?
因為L1=1,是你燈閃爍的最後一個狀態,而後又會從5再次執行,如果你按下了按鍵,程序停在了6那裡死循環,
則後面7,8都不會執行了。燈則保留了上一個循環最後的狀態,也就是9的狀態,所以就一致亮了。
你如果又松開按鍵,燈又會閃爍,你再按下按鍵,燈又一直亮了。如此循環。
你的程序的就是一個字概括,亂,你的思路很混亂,條理不清晰,建議先在紙上寫下流程,再來寫代碼。想清楚了再下手。
你會學的很快的。
你的main函數有個性,呵呵,沒有人會這么寫main函數的,去看看單片機C語言的書吧!
『捌』 單片機LED燈閃爍程序
char LED;
sbit key1down=P1^0 ; // 設開關key1連接此埠
sbit key2down=P1^1 ; // 設開關key2連接此埠
void main(){
P0=0xff; // 輸出低電平LED亮
LED=0xfe;
while(1){
P0=LED; delay();
if(key1){ LED <<= 1 ; } // 將LED左移一位;
if(key2){ LED >>= 1 ; LED |=0x80; } // 將LED右移一位;
if(key1down==0) { key1=1; key2=0;}
if(key2down==0) { key1=0; key2=1;}
}
『玖』 8個LED指示燈循環閃爍的程序(單片機)
1:設置一個變數i,它可以從0循環到3
2:檢測一個已取消緩沖的鍵。按「+1」
3:當I值為每個值時,執行相應的模式。
水量燈參考程序
#include
#include
#定義uchar無符號字元
Ucharj,溫度;
無效延遲(無符號整型ms)
{
Uchart;
(女士)
對於(t = 0;T < 123;T + +);
}
Voidmain()
{
P1=0XFF;
延遲(500);
Temp=0xfe;//奇怪,led連接在P2.3~P2.6
對於(j = 0;J < 4;J + +)
{
P1=temp;
延遲(500);
Temp=_crol_(Temp,1);
}
P1=0XFF;
(1);
}
(9)單片機閃爍程序擴展閱讀:
注意事項:
#include「reg52。這個文件為單片機定義了一些特殊的功能寄存器
Typedef無符號int在16以下;//以聲明的方式定義數據類型
無符號charu8;
//LED燈
Sbitleda=P0;
Sbitled1=P0^0;
Sbitled2=P0^1;
Sbitled3=P0^2;
Sbitled4=P0^3;
Sbitled5=P0^4;
Sbitled6=P0^5;
Sbitled7=P0^6;
Sbitled8=P0^7;
無效延遲(16歲以下)
{
,(我);
}
Voidmain()
{
而(1)
{
勒達=1;//所有的燈都亮著
//從左到右熄滅
Led1=0;
延遲(50000);//延遲時間約為450毫秒
Led2=0;
延遲(50000);//延遲時間約為450毫秒
Led3=0;
延遲(50000);//延遲時間約為450毫秒
Led4=0;
延遲(50000);//延遲時間約為450毫秒
Led5=0;
延遲(50000);//延遲時間約為450毫秒
Led6=0;
延遲(50000);//延遲時間約為450毫秒
Led7=0;
延遲(50000);//延遲時間約為450毫秒
Led8=0;
延遲(100000);//延遲大約900毫秒
//從右到左照明
Led8=1;
延遲(50000);//延遲時間約為450毫秒
Led7=1;
延遲(50000);//延遲時間約為450毫秒
Led6=1;
延遲(50000);//延遲時間約為450毫秒
Led5=1;
延遲(50000);//延遲時間約為450毫秒
Led4=1;
延遲(50000);//延遲時間約為450毫秒
Led3=1;
延遲(50000);//延遲時間約為450毫秒
Led2=1;
延遲(50000);//延遲時間約為450毫秒
Led1=1;
延遲(50000);//延遲時間約為450毫秒
勒達=1;//所有的燈都亮著
}
}
『拾』 單片機閃爍小燈程序怎麼寫
#include<reg52.h>
#defineuintunsignedint
sbitD0=P0^0;
main()
{
while(1)
{
inti,j;
D0=0;
for(i=0;i<100;i++)
for(j=0;j<670;j++);
D0=1;
for(i=0;i<100;i++)
for(j=0;j<670;j++);
}
}
上面是基於51系列單片機寫的,D0是小燈的IO 口,在While循環中控制高低電平(寫0或1)就能實現小燈閃爍。