⑴ 單片機LED燈閃爍程序
一切不談電路只談固件程序的行為都是在耍流氓……
⑵ 讓一隻發光二極體閃爍程序
發光二極體交替閃爍就要提供一定頻率的波形 來驅動二極體 方法有 比如晶元 產生一個PWM 波形單片機編程產生一個PWM波形三極體配合其他元件也能產生硬體類一般都上硬之城看那裡比較專業,專業的問題專業解決,這是最快的也是最好的方法,好過自己瞎搞,因為電子元器件的電子型號那些太多了一不小心就會弄錯,所以還是找專業的幫你解決。
⑶ 單片機下面程序是怎麼實行LED燈閃爍的
原理復:LED閃爍其實就是制LED亮滅,要看電路,有的直接是單片機驅動的小LED,給高平亮,給低電平滅,一直給高低電平循環就表現出亮滅了。
延時:就是亮多久後滅,滅多久後亮。
實現:先給高電平,LED亮,經過延時後,再給一個低電平,LED滅,再給一個延時,如此無限循環。
⑷ 單片機小白 求簡單的led燈閃爍程序
要用什麼語言?
硬體連接有規定么?
什麼樣的單片機?
閃爍時間多少?
⑸ 為什麼我寫的程序不能使單片機LED燈閃爍
程序有錯誤,編譯都通不過,當然無法閃燈了。
#include"reg52.h"
typedefunsignedcharu8;
typedefunsignedintu16;
sbitled=P2^0;
voiddelay(u16i)
{
while(i--);
}
voidmain()
{
while(1)
{
led=0;
delay(50000);//這里多了一個空格
led=1;
delay(50000);
}
}
⑹ 這是一個閃爍的LED燈的C語言,比較簡單的,但是我想聽大師解釋一下急用!!!!
#include <reg52.h> //使用52單片機頭文件庫
#define uchar unsigned char //重定義,將unsigned char類型重新命名為uchar
#define uint unsigned int //重定義,將unsigned int類型重新命名為uint
sbit LED = P1^0; //將單片機第P1.0位的定義為LED
void DelayMS(uint x) //定義延時函數,返回類型是void,函數名是DelayMS,x為參數,類型為uint
{
uchar i; //定義uchar類型的參數 i
while(x--) //while循環,循環次數為x,每執行一次之後x-1
{
for(i=120;i>0;i--); //for循環,i的初始值為120,當i>0時進入for循環,每次循環之後i-1,因為for循環裡面沒有具體執行語句,相當於使函數停留在這里
}
}
void main() //主函數
{
while(1) //while循環,1為循環條件,即一直在循環
{
LED = ~LED; //將LED的值取反,相當於將單片機P1.0的值取反,使燈的狀態改變
DelayMS(150); //每改變一次燈的狀態則調用DelayMS延時函數
}
}
⑺ 51單片機怎麼只控制一顆LED燈閃爍
1、新建項目,如圖所示。
注意事項:
很多公司都有51系列的兼容機型推出,今後很長的一段時間內將佔有大量市場。51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。需要注意的是51系列的單片機一般不具備自編程能力。
⑻ 單片機控制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)有什麼區別嗎?
⑼ 用單片機設計8個led燈同時閃爍的程序!!
方法:
1:設定一個變數i,可以從0到3循環的變化
2:檢測一個經過消抖處理的按鍵,按一下,i+1
3:當專i值為各個值時,執屬行相應的花樣。
流水燈參考程序
#include
#include
#define uchar unsigned char
uchar j,temp;
void delay(unsigned int ms)
{
uchar t;
while(ms--)
for(t=0;t<123;t++);
}
void main()
{
P1=0xff;
delay(500);
temp=0xfe; //有點怪,led接在P2.3~P2.6
for(j=0;j<4;j++)
{
P1=temp;
delay(500);
temp=_crol_(temp,1);
}
P1=0xff;
while(1);
}
⑽ 單片機LED燈閃爍延遲程序
int main(void)
{
while(1)
{
D3=0;
yanshi();
D3=1;
yanshi();
}
}
注意單片機程序是從main函數開始執行的,注意單片機主函數內部不加while大循專環,程序會一直屬往下執行,直到RAM溢出產生錯誤為止程序將跑飛,所以主程序內部一定要加大循環,上面的格式是經過無數工程師的驗證,主函數的書寫格式。