❶ STM32怎麼實現單片機控制LED燈常亮10S後熄滅
首先實現LED燈的點亮和熄滅,控制連接LED燈的管腳輸出高低電平就可以實現。如果電流比較大可以增加三極體驅動電路。10秒定時可以用定時器實現,設置一個1秒的定時器。上電點亮LED燈,並開始計時,10秒時間到熄滅LED就可以了。
❷ 想讓單片機控制定時器延時閃爍,但是燈卻一直亮著,沒有達到要的效果(用c語言控制的)
delay()實現裡面不能用if來判斷TF0,因為程序運行到這時定時計數器還在計數,TH0還沒有溢出,TF0還是0;所以你要用個while(!TF0);讓程序在這等一下,等到TH0溢出,這時TF0被硬體自動置1,while(!TF0)循環結束,程序繼續往下走,這時令TR0=0,關閉定時器。delay()運行完總共延時也就是50毫秒。以方式0為例():
❸ 為什麼51單片機開發板,p1口 p1.6和p1.7的燈不受程序控制,一直亮著
如果51單片機發狂的話這裡面一直亮著那就說明裡面出現的短路了這個問題如果出現短路了一般情況就會出現這樣的一種情況所以呢無論從哪個角度講把方方面面來說的話這個里邊這個電其前
❹ 單片機:為什麼燈一直亮程序要求是控制P1.0,使輸出高低電平,使燈亮一會暗一會
la=1; P0=temp[i]; la=0;中間沒有時間間隔,即使燈亮了,你也看不到,延時程序不對。
❺ 求大神看一下單片機電路,怎麼才能讓燈一直亮
讓燈一直亮很簡單,如圖所示:
❻ 單片機led為啥一直亮著而不是閃爍
改一下程序就可以了。
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uint a,b,c;
uchar led=0xfe;
void main()
{
a=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
P1=led;
while(1)
{
if(a==20)
{
led=~led;
led|=0xfe;
P1=led;
a=0;
}
}
}
void timer() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
}