A. 51單片機控制LED閃爍頻率
暫時想到兩種解決方案:
1.最簡方案——利用延時函數:進入主函數後,初始化LED,設置一個延時初始值,然後進入while循環,里邊只做四件事,打開LED,利用鍵盤返回值作延時函數參數,關閉LED,利用鍵盤返回值作延時函數參數。
2.精確解決方案——定時器:初始化定時器,打開中斷等,然後進入while等待中斷,在中斷函數里先定義一個變數,然後將鍵盤返回值賦值給此變數,再將此變數去重裝定時器初值,接下來就是為LED取反。
有不懂的隨時回復我。
希望我的回答能幫助到你。
B. 單片機模擬軟體proteus用p0實現8個燈間隔點亮每隔0.5秒閃爍一次定時器1實現
摘要 親,您好!1.實驗原理
C. 如何用單片機編程(即ASM格式的程序)一段程序 要求:使一盞LED燈閃爍8次後熄滅
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R2,#8
LOOP:
CLR P1.0
LCALL DELAY
SETB P1.0
LCALL DELAY
DJNZ R2,LOOP
SJMP $
DELAY:
MOV R2,#200
DLY:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DLY
RET
END
D. 單片機led燈閃爍
利用中斷定時每過1秒翻轉LED狀態,主函數中進行按鍵檢測的循環即可。
E. 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);
}
(5)單片機led每秒閃爍8次擴展閱讀:
注意事項:
#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;//所有的燈都亮著
}
}
F. 單片機LED燈閃爍
要增加這個功能,你的程序結構還得有不小的變化。
例如需要增加定時器0中斷及其服務函數。在主循環中判斷大小關系並且修改標志位(是否閃爍)。在定時器0中斷服務函數中處理閃爍(如果閃爍,計時到一定時間,燈狀態翻轉,重載計時;如果不閃爍,燈狀態熄滅)。
G. 單片機 8個LED燈隨機閃爍怎麼做
1、首先在電腦中新建項目:Keil uVision4 51單片機LED閃爍編程,如下圖所示。
H. 單片機如何控制一個LED燈閃爍頻率不斷加快
首先定時器中斷時間比如5ms,用來定時刷新數碼管,他就不閃了。
其次,你另外申明一個全局變數,flash_count,每次定時中斷,就是每次5ms,flash_count++,
同時你每次中斷再判斷flash_count==xxx時,你的led取反,同時設flash_count=0
你可以控制xxx,從1-255 改變,就可以控制閃爍的頻率不斷變化。
I. 單片機編程:1.正常情況下,8個LED以較慢的速度閃爍,間隔時間為500ms。
我只能給你思路了。
1.顯示用閃爍用定時器0。
2.定時器的初始值要設置成變數。
3.在中斷內使定時器初始值改變,
4.中斷同時使定時器1工作,輸出1000Hz的方波。
5.用一個引腳做按鍵,檢測到此鍵有效,使定時器1停止工作,同時改變定時器0的初始值。
祝你成功。
J. 單片機如何控制一個LED燈閃爍頻率不斷加快
首先定時器中斷時間比如5ms,用來定時刷新數碼管,他就不閃了。
其次,你另外申明一個全局變數,flash_count,每次定時中斷,就是每次5ms,flash_count++,
同時你每次中斷再判斷flash_count==xxx時,你的led取反,同時設flash_count=0
你可以控制xxx,從1-255
改變,就可以控制閃爍的頻率不斷變化。
手工打的哦。採納我吧。