當前位置:首頁 » 編程語言 » c語言的led燈
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言的led燈

發布時間: 2023-08-07 05:16:32

① 單片機c語言編程點亮LED燈

可以通過左移函數_crol_()和右移函數_cror_()來實現LED等的來迴流動。 具體實現方法可以參考如下程序: #include #include #define uint unsigned int#define uchar unsigned charvoid delay(uint a);void main(){ P1=0xfe; while(1) { // 向左循環點亮LED for(i=0; i<7; i++) { P1=_crol_(P1,1); // 左移一位,點亮下一位LED delay(55); } // 向右循環點亮LED for(i=0; i/ 右移一位,,點亮上一位LED delay(55); } }}// 延時函數,延時a毫秒void delay(uint a){ uint x,y; for(x=a;x>0;x--) for(y=110;y>0;y--);}

② 用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--);

}

(2)c語言的led燈擴展閱讀:

單片機應用分類:

通用型:

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

匯流排型:

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

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

控制型:

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

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

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



③ 單片機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死循環,如果你這個按鍵按下後,單片機就只是在判斷這個條件成立與否,期間不在孝歷進行其他工作

④ 用C語言編寫程序,要求實現兩盞LED燈交替閃爍,間隔時間為2秒

bit LED1;
bit LED2;
LED1=1;
LED2=0;
while (昌臘明1)
{ delay(2000);耐告
LED1=!局液LED1;
LED2=!LED2;
}

⑤ C語言編程式控制制LED燈亮滅

如果你LED的介面一個低電平,即0,燈就會亮,給一個高電平,1,就會滅。如果要一閃一閃的,只需給亮和滅的中間加延時,控制亮滅次數,可以使用一個循環。

⑥ 寫出點亮2盞LED燈的c語言程序

單片機的話,如埠上電默認高電平,那直接led一頭接電源一頭接埠,一個led對應一個埠。
一、簡單講:想要燈亮,就將對應埠置0。反之就是燈滅。
二、詳細講:假設用keil編寫,新建工程->選擇單片機型號->新建源文件->設置output(點魔術棒圖標勾選create hex file)。
我們用P2^0埠連接一個led(led另一端連電源)。先給埠起別名sbit led1=P2^0;之後代碼中需要燈亮就寫led1=0;即可。(頭文件自行導入)。
程序寫好,編譯後將生成的hex(路徑在之前的設置中)寫入單片機或載入到模擬電路中運行。