導航:首頁 > 操作系統 > 單片機led閃爍程序

單片機led閃爍程序

發布時間:2022-01-16 21:58:49

單片機下面程序是怎麼實行LED燈閃爍的

  1. 原理:LED閃爍其實就是LED亮滅,要看電路,有的直接是單片機驅動的小LED,給高平亮,給低電平滅,一直給高低電平循環就表現出亮滅了。

  2. 延時:就是亮多久後滅,滅多久後亮。

  3. 實現:先給高電平,LED亮,經過延時後,再給一個低電平,LED滅,再給一個延時,如此無限循環。

② 單片機LED燈閃爍延遲程序

int main(void)
{
while(1)
{

D3=0;
yanshi();
D3=1;
yanshi();
}
}
注意單片機程序是從main函數開始執行的,注意單片機主函數內部不加while大循環,程序會一直往下執行,直到RAM溢出產生錯誤為止程序將跑飛,所以主程序內部一定要加大循環,上面的格式是經過無數工程師的驗證,主函數的書寫格式。

③ 單片機C語言程序,LED閃爍控製程序

void main()
{
while (1); 這里不要加分號「;」

④ 單片機LED閃爍編程

表示不同的開發板,連線不同,電路不同程序都不同,什麼都沒有,誰能給你編出來。。。。

⑤ 51單片機怎麼只控制一顆LED燈閃爍

1、新建項目,如圖所示。

注意事項:

很多公司都有51系列的兼容機型推出,今後很長的一段時間內將佔有大量市場。51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。需要注意的是51系列的單片機一般不具備自編程能力。

⑥ 用C語言編寫一個單片機控制LED燈閃爍變化的編程 急用!!!!!!!!!

C語言實現LED燈閃爍控制配套51單片機開發板。

#include //包含單片機寄存器的頭文件

/****************************************
函數功能:延時一段時間

*****************************************/

void delay(void) //兩個void意思分別為無需返回值,沒有參數傳遞。

{

unsigned int i; //定義無符號整數,最大取值范圍65535。

for(i=0;i<20000;i++) //做20000次空循環。

; //什麼也不做,等待一個機器周期。

}

/*******************************************************

函數功能:主函數 (C語言規定必須有也只能有1個主函數)。

********************************************************/
void main(void)

{

while(1) //無限循環。

{

P0=0xfe; //P1=1111 1110B, P0.0輸出低電平。

delay(); //延時一段時間。

P0=0xff; //P1=1111 1111B, P0.0輸出高電平。

delay(); //延時一段時間。

}

}

單片機驅動LED燈的源程序:

#include<reg52.h> //頭文件。

#define uint unsigned int

#define uchar unsigned char

sbit LED1=P1^7; //位定義。

void delay_ms(uint);//mS級帶參數延時函數。

void main()

{

while(1)

{

LED1=0;

delay_ms(1000);

LED1=1;

delay_ms(1000);

}

}

void delay_ms(uint z) //延時子程序

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

(6)單片機led閃爍程序擴展閱讀:

單片機應用分類:

通用型:

這是按單片機(Microcontrollers)適用范圍來區分的。例如,80C51式通用型單片機,它不是為某種專門用途設計的;專用型單片機是針對一類產品甚至某一個產品設計生產的,例如為了滿足電子體溫計的要求,在片內集成ADC介面等功能的溫度測量控制電路。

匯流排型:

這是按單片機(Microcontrollers)是否提供並行匯流排來區分的。匯流排型單片機普遍設置有並行地址匯流排、 數據匯流排、控制匯流排,這些引腳用以擴展並行外圍器件都可通過串列口與單片機連接。

另外,許多單片機已把所需要的外圍器件及外設介面集成一片內,因此在許多情況下可以不要並行擴展匯流排,大大減省封裝成本和晶元體積,這類單片機稱為非匯流排型單片機。

控制型:

這是按照單片機(Microcontrollers)大致應用的領域進行區分的。一般而言,工控型定址范圍大,運算能力強;用於家電的單片機多為專用型。

通常是小封裝、低價格,外圍器件和外設介面集成度高。 顯然,上述分類並不是惟一的和嚴格的。例如,80C51類單片機既是通用型又是匯流排型,還可以作工控用。

參考資料來源:網路-單片機



⑦ 單片機C語言程序問題,關於led燈花樣閃爍程序

單片機學的就是程序,根據硬體電路寫程序的
你的兩排燈應該是P0和P1的吧
如果你想學我可以教你,手上也沒有花樣程序,也懶得寫了,花樣也是一個一個的閃爍程序堆積起來,就是用~(P0<<j),然後再用些P0=0xfe,什麼什麼的,再加for循環,加延遲,最好有水滴下落的效果,用pwm占空比在去控制燈的亮度

⑧ 單片機控制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)有什麼區別嗎?

⑨ 關於單片機控制一個LED閃爍程序的問題

while(1)後面要加花括弧吧
20000個指令周期
P1表示P1.0~P1.7,8位
0x表示該數據是十六進制數
0xfe轉換為二進制數為11111110,最低位P1.0=0
0xff轉換為二進制數為11111111,最低位P1.0=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);

(10)單片機led閃爍程序擴展閱讀:

注意事項:

#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;//所有的燈都亮著

閱讀全文

與單片機led閃爍程序相關的資料

熱點內容
devc編譯錯了怎麼辦 瀏覽:294
編譯系統都有哪些部分 瀏覽:703
資料庫技術pdf 瀏覽:228
如何把網頁部署到伺服器上 瀏覽:634
php用戶組 瀏覽:785
撫順自動數控編程軟體 瀏覽:747
如何判斷是否可以通過編譯 瀏覽:929
衛士通加密官網 瀏覽:55
程序員需要會盲打么 瀏覽:448
編譯c無法識別unsighed 瀏覽:433
怎麼給幾年前的安卓機強行刷機 瀏覽:316
天方地圓製作演算法 瀏覽:193
演算法失效分析 瀏覽:760
gcc編譯選項給gdb調試 瀏覽:590
ios和android前景好 瀏覽:66
蘋果如何藍牙傳送安卓app 瀏覽:552
方舟編譯器mod怎麼用 瀏覽:762
伺服器地址欄在哪裡 瀏覽:397
做安檢還是程序員好 瀏覽:529
程序員最火的bug 瀏覽:938