51微控制器怎麼只控制一顆LED燈閃爍

時間 2021-11-04 16:41:26

1樓:

1、新建專案,如圖所示。

2、新增標頭檔案,建立延遲函式。

3、建立c主函式。

4、新增死迴圈效果。

5、點亮led燈。p1=0x7e;二進位制11111110。

6、新增延遲效果。

注意事項:很多公司都有51系列的相容機型推出,今後很長的一段時間內將佔有大量市場。51微控制器是基礎入門的一個微控制器,還是應用最廣泛的一種。

需要注意的是51系列的微控制器一般不具備自程式設計能力。

2樓:給生活加糖

因為p1^0是p1的第零位,只能賦值0或者1;而p1是一個8位暫存器正確程式如下:

#include

sbit led=p1^0; //p1^0這個埠接ledvoid delay(unsigned int i);

main()

}void delay(unsigned int ms)

3樓:匿名使用者

你先定義 sbit p10 = p1^0; 要想把p10設為0,就直接寫 p10 = 0;設為1,就寫p10 = 1;0x00和0xff是8位資料不能給一個位的。

4樓:匿名使用者

首先你要知道既然是控制一個led燈的話,那麼就只需要一個io口控制就可以了。那麼在程式中你只需要改變一個io口的狀態。

你這個程式首先是,p10是什麼東西,如果是一個io口的話,為什麼後面會是0x00,和0xff,這是什麼意思, 這是八位的表示方式,一位需要用這麼多的資料來表示麼。你只需要置1,和清零就可以了。就是說 p10 = 0;p10 = 1,這種方式的就可以了。

而且你還需要在程式的最開始定義p10是什麼東西的。微控制器是不知道p10 是什麼的。

如果是一個八位埠的話,這樣定義是沒有錯的。但是控制的就是8個io口了。

5樓:匿名使用者

void delay(unsigned int i); //宣告延時函式

main()

{ p1 = 0x00; //置p0口為低電平delay(600); // 延時

p1 = 0x01; //置p0口為高電平delay(600); // 延時

51微控制器怎麼用c語言寫一個按鈕控制一個led的閃爍,按一下開始閃爍,再按就滅掉

6樓:匿名使用者

bit flash;//閃爍標誌位

sbit led=p0^0;

sbit p01=p0^1;

sbit p02=p0^2;

void main()

}void scankey()//鍵盤掃描//按住按鍵的動作

flash=~flash;//按鍵按下後執行動作}}}void ledflash()

else led=0;

}void delay(unsigned int i)這個程式是現寫的。。應該能執行,有些細節沒有寫,自己修改下,只是個大框而已(比如函式宣告,定義埠什麼的)

7樓:流13氓2兔

#include

sbit x=p3^0;//p3.0接按鈕sbit y=p1^0;//p1.0接ledvoid main()

y=0;//停止閃爍}}

注意我是在keil c裡面編寫的,你要注意電路圖的電平

8樓:匿名使用者

sbit key = p1_0;

sbit led = p1_1;

#define led_on 0

main()

while(!key)

}上面這個是按下閃,鬆開滅的程式,稍微改一下,就可以做到要求的功能。

main()

while( key )

while( ! key )

while( key )}

9樓:匿名使用者

用一箇中斷子程式和閃爍燈主程式。

at89c51微控制器控制led燈閃爍

10樓:匿名使用者

採用uln2803驅動吧,2803正好是 8 入 8 出,滿足你八路的要求,圖如下:

接法:9腳接地,10腳com端,接+5v

1 到 8,2803的輸入控制端,接微控制器的8個io管腳11到18,2803的輸出控制端,接你燈的負極,燈的正極接電源注意這樣的接法是,微控制器io管腳微控制器驅動

11樓:匿名使用者

那你用uln2003控制吧,自己查詢相關資料吧,1-7腳接控制訊號,8腳接地 10-16腳接負載,最高負載電壓50v,最大負載電流500ma,

控制訊號為ttl電平

12樓:

不太清楚你的要求,把你的程式貼上來

51微控制器控制數碼管並顯示,51微控制器控制8個數碼管並顯示1 8

啟巖 數碼管段選連線到微控制器p0口,位選連線到p2口org 0000h main call display ajmp main display mov r0,0 mov r1,0x01 mov dptr,tab loop inc r0 mov a,r0 movc a,a dptr mov p0,0...

51微控制器控制繼電器,51微控制器如何驅動12V繼電器 用三極體實現的電路引數怎麼求?

你的 圖有問題,繼電器是不會吸合的。發光二極和串聯的電阻阻值也大,led不能亮。應該如下圖這樣畫 彙編程式 relay bit p2.0 繼電器控制位reset ljmp main org 000bh mov th0,3ch mov tl0,0b0h djnz r2 back mov r2 20 中...

51微控制器按鍵控制流水燈左移,51微控制器的c語言 左移右移怎麼用?想用來控制流水燈,請幫忙寫個完整的c程式,參考下,埠隨意

按鍵不能用while函式來寫,第八行 if k1 0 按一次執行一次函式內容 開始學習微控制器的同學們寫注意了,在執行程式後,現象不正確的時候,不要首先就找軟體的錯誤,我的經驗是從源頭開始找問題,首先你得確定你的平臺是正確的,你說是按鍵沒效果,先用萬用表測試一下你的引腳的電平,是否被拉低了如果按鍵沒...