微控制器c語言呢程式設計問題 我要實現用按鍵控制LED的亮

2021-05-04 10:30:20 字數 3106 閱讀 4681

1樓:匿名使用者

你沒有鬆手監測呀!就是在按鍵處理程式後要加一個while(k1!=0);就是隻有你鬆開按鍵後才認為本次按鍵執行完畢,不然就會一直重複執行按鍵按下的程式,那麼你的d1一直就會執行亮滅操作!

2樓:匿名使用者

1、你看看微控制器資料手冊你的微控制器p0口內部上拉沒,一般的微控制器p0口都是沒上拉的,使用p0口一般都需要外部上拉。要麼不使用p0口。

2、程式要寫工整點,賣相真不好。

3、就按教科書的寫程式如下:

#include

#include

typedef unsigned char byte;

typedef unsigned int word;

sbit k1 = p2^0;

sbit led_out = p0^0;

void keyscan();

void delayms(word z);

void main()

void keyscan()}}

void delayms(word z)

//我表示抄樓上一個延時函式鴨梨山大,x>0後面是逗號,第二個for迴圈後面沒分號。

3樓:匿名使用者

你沒要延遲去抖動

void delay(uint z)

delay(20) 在你的按鍵那個地方延遲20就好了if(s1==0)

delay(20)

if(s1==0)

d1=!d1

4樓:匿名使用者

while(!k1);//等待放開才繼續.

5樓:匿名使用者

#include

sbit p32=p3^2;

main () }

if(x==1)

p0=0x00;

else

p0=0xff;}}

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樓:匿名使用者

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

求一微控制器c語言程式:兩個按鍵控制兩個led key1按一下led1亮 再按一下led1滅 key2按下led2亮 led1滅

10樓:取綽號好難

按一下是有push and release 事件,要計算bounce?

要用interrupt 或是polling?

既然是微控制器,就用interrupt表示,再寫下流程圖,根據流程圖寫功能程式

byte key1=0,key2=0;

irq key1()

irq key2()

while(1)

else

if(key2)}

11樓:做而論道

#include

sbit key1 = p1^0;

sbit key2 = p1^1;

sbit led1 = p1^2;

sbit led2 = p1^3;

void delay(unsigned int x)//key1按一下led1亮 再按一下led1滅//key2按下led2亮 led1滅

main()

else } } }

}//--------------------------------

#include

sbit key1 = p1^0;

sbit key2 = p1^1;

sbit led1 = p1^2;

sbit led2 = p1^3;

void delay(unsigned int x)main()

}if(!key2) }}}

12樓:

while(1)

微控制器用c語言,按鈕控制一個led燈,要求按下鬆開,led亮,按下鬆開,led暗!迴圈

13樓:自我程式設計

你要什麼微控制器

。我這裡只能用51微控制器(晶振11.0592mhz)演示比如我將按鈕連p1.6,led連p1.7。如下圖:

那你**裡,只要寫一個延遲函式,主函式迴圈檢查按鈕,按鈕彈起時p1.7取反就行。

//大致**如下:

#include

sbit k1=p1^6;

sbit led=p1^7;

void delay(uint xms);

void main() }

}}void delay(uint xms)

微控制器C51C程式問題,求翻譯成微控制器程式語言

現在都用c語言 編寫微控制器程式,c語言就是程式語言,而且是高階語言,易懂易讀,是單片版機程式設計的最好的語言權了。而你說的翻譯,是要翻譯成組合語言程式吧。如果你看不懂c語言程式,只學了組合語言,這種現象還很多,因很多學校還在講組合語言 其實非常落後 那你用keil 編譯這個程式時,選中生成彙編 就...

微控制器c語言延時程式,51微控制器C語言中delay函式是怎麼定義和使用的?

用定時器 可以衍生出定時中斷和標記迴圈查詢法 還有直接用軟體語句硬性延時 這個需要實際測試和調校過才比較準 但不管是哪一種,其最終 還是要依據微控制器工作頻率,具體的需要解釋太多,你還是看看對應微控制器的datasheet的各模組說明吧 可以用for迴圈延時 但是精度不夠 最好用定時器中斷 比如用定...

急!急!急!請高手幫忙編寫C語言的微控制器程式設計。。要能通過的謝啦

先看懂一下程式再說,一下程式是除錯成功的時鐘程式 你在這個基礎上一定能改出來的 include include define uchar unsigned char define uint unsigned int 12864 埠定義 sbit rs p3 5 資料指令選擇輸入 sbit en p3...