1樓:依驪豔
#include
unsigned char k;
sbit k1=p0^0;
sbit k2=p0^1;
sbit led=p1^1;
unsigned char sz=
delay1s();
void main();
delay1s();
led=1;}}
delay1s()}}
思路僅供參考。
2樓:草莓啵啵虎
#include #define uchar unsigned char #define uint unsigned int bit sign_a=0,sign_b=0,sign_c=0,sign_d=0;//標誌 uint count1=0,count2=0; sbit led1 = p2^0; sbit led2 = p2^1; sbit led3 = p2^2; sbit key = p3^1; void keyscan() } } else count=0; } } void main(void) //@12t、12mhz、定時50ms } void time0() interrupt 1 } if((sign_b==1)&(sign_d==1)) } }
微控制器用c語言,按鈕控制一個led燈,要求按下鬆開,led亮,按下鬆開,led暗!迴圈
3樓:自我程式設計
你要什麼微控制器
。我這裡只能用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)
用c語言編寫一個微控制器控制led燈閃爍變化的程式設計 急用!!!!!!!!!
4樓:風翼殘念
c語言實現led燈閃爍控制配套51微控制器開發板。
#include //包含微控制器暫存器的標頭檔案
/****************************************
函式功能:延時一段時間
*****************************************/
void delay(void) //兩個void意思分別為無需返回值,沒有引數傳遞。
函式功能:主函式 (c語言規定必須有也只能有1個主函式)。
void main(void)
}微控制器驅動led燈的源程式:
#include//標頭檔案。
#define uint unsigned int
#define uchar unsigned char
sbit led1=p1^7; //位定義。
void delay_ms(uint);//ms級帶引數延時函式。
void main()
}void delay_ms(uint z) //延時子程式
擴充套件資料:
微控制器應用分類:
通用型:
這是按微控制器(microcontrollers)適用範圍來區分的。例如,80c51式通用型微控制器,它不是為某種專門用途設計的;專用型微控制器是針對一類產品甚至某一個產品設計生產的,例如為了滿足電子體溫計的要求,在片內整合adc介面等功能的溫度測量控制電路。
匯流排型:
這是按微控制器(microcontrollers)是否提供並行匯流排來區分的。匯流排型微控制器普遍設定有並行地址匯流排、 資料匯流排、控制匯流排,這些引腳用以擴充套件並行外圍器件都可通過序列口與微控制器連線。
另外,許多微控制器已把所需要的外圍器件及外設介面整合一片內,因此在許多情況下可以不要並行擴充套件匯流排,大大減省封裝成本和晶片體積,這類微控制器稱為非匯流排型微控制器。
控制型:
這是按照微控制器(microcontrollers)大致應用的領域進行區分的。一般而言,工控型定址範圍大,運算能力強;用於家電的微控制器多為專用型。
通常是小封裝、低**,外圍器件和外設介面整合度高。 顯然,上述分類並不是惟一的和嚴格的。例如,80c51類微控制器既是通用型又是匯流排型,還可以作工控用。
5樓:猶若楓
可以用外部中斷計數,來實現流水燈的正轉、暫停、以及反轉和爆閃。。這是我前幾天寫的一個這樣的程式,樓主可以結合protues 畫圖**,注意程式中所用到的io埠就行了。
#include
#include
#define uchar unsigned charuchar a,b;
void delay(uchar z)
void begain()
void main()
if(a==3)
if(a==4)
if(a==5)}}
void int0() interrupt 0}
6樓:用希慕
用c語言編寫一個微控制器控制led燈閃爍變化的程式設計 急用!!!!!!!!!
求一微控制器c語言程式:兩個按鍵控制兩個led key1按一下led1亮 再按一下led1滅 key2按下led2亮 led1滅
7樓:取綽號好難
按一下是有push and release 事件,要計算bounce?
要用interrupt 或是polling?
既然是微控制器,就用interrupt表示,再寫下流程圖,根據流程圖寫功能程式
byte key1=0,key2=0;
irq key1()
irq key2()
while(1)
else
if(key2)}
8樓:做而論道
#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) }}}
9樓:
while(1)
51微控制器怎麼用c語言寫一個按鈕控制一個led的閃爍,按一下開始閃爍,再按就滅掉
10樓:匿名使用者
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)這個程式是現寫的。。應該能執行,有些細節沒有寫,自己修改下,只是個大框而已(比如函式宣告,定義埠什麼的)
11樓:流13氓2兔
#include
sbit x=p3^0;//p3.0接按鈕sbit y=p1^0;//p1.0接ledvoid main()
y=0;//停止閃爍}}
注意我是在keil c裡面編寫的,你要注意電路圖的電平
12樓:匿名使用者
sbit key = p1_0;
sbit led = p1_1;
#define led_on 0
main()
while(!key)
}上面這個是按下閃,鬆開滅的程式,稍微改一下,就可以做到要求的功能。
main()
while( key )
while( ! key )
while( key )}
13樓:匿名使用者
用一箇中斷子程式和閃爍燈主程式。
微控制器怎麼用簡單按鍵控制LED,51微控制器用兩個按鈕控制一個LED燈的亮滅(不是那麼簡單請看我要求)
易水嚴寒風蕭蕭 include reg52.h define uchar unsigned char define uint unsigned intsbit led p1 0 假設燈在p1.0sbit key1 p2 0 假設按鍵在p2.0和p2.1sbit key2 p2 1 void dela...
微控制器程式求修改,實現按鍵控制數碼管0 9,急
做而論道 include unsigned int num,a sbit key0 p1 0 sbit key1 p1 1 sbit key2 p1 2 sbit key3 p1 3 bit flag unsigned char code led code 20 void delay unsigne...
微控制器怎樣識別按鍵值,微控制器按鍵檢測程式
你的這個問題問的太沒有水平了,我本來不想回答的我是實在看不下去了,這個問題對沒有接觸微控制器的人是很有難度的,對於瞭解微控制器的人簡直是1 1 2就這麼簡單,微控制器統稱處理器內部結構操作非常簡單,微控制器io可以做輸出 和輸入簡單一點說,寫程式就是控制微控制器的io埠輸出高電平或者低電平來控制外圍...