單片機(jī)開發(fā),流水燈+蜂鳴器

最默認(rèn)的全圖喚醒LED燈代碼?

單片機(jī)的LED喚醒,首先最麻煩的就是一個一個打,后面如果自己組織了許多的LED燈的話,這樣是會累死的?

#include <reg52.h> // 51頭文件

/*sbit LED1 = P1^0; // 首先 LED1 這個變量等于 IO插口上的LED燈第一個,一共有八個開口,從0到7?

sbit LED2 = P1^1;

sbit LED3 = P1^2;

sbit LED4 = P1^3;

sbit LED5 = P1^4;

sbit LED6 = P1^5;

sbit LED7 = P1^6;

sbit LED8 = P1^7;

unsigned int i ;

?//定義變量i,這個后面作為255等于進(jìn)制65535,你可以把他理解成時間 , 這樣的話就可以使它隔一段時間在運(yùn)行了 ,這里其實(shí)是調(diào)整他的通電性 , 電壓會被電阻限制,一般來說是5V, 超出或者超過就不會亮了?

void main ()

{

P1 = 0 ;

i = 65535 ;

while(i--) ; //這里需要一個循環(huán) 減掉之后就進(jìn)行運(yùn)行下面語句?

P1 = 0xff ;? //二進(jìn)制,就是全部關(guān)掉的意思 , 你可以把十六進(jìn)制的這個數(shù)轉(zhuǎn)為二進(jìn)制,你就明白了?

i = 65535 ;

while(i--) ; //再次循環(huán),回上面,又重新運(yùn)行,形成循環(huán)?

}

*/??

下面是LED燈IO開口的對應(yīng)圖?


P0_P7 for IO?

改進(jìn)后 , 變成流水燈 + 加上蜂鳴器?

#include <reg52.h>

#include <intrins.h>

#define uint unsigned int

#define uchar unsigned char

uchar temp ; //LED燈變量

sbit beep = P2^3; //激活蜂鳴器 它在P2里面?

// 注意,蜂鳴器他的驅(qū)動硬件不是控制硬件,小心使用,有時候如果給它亂調(diào)整電壓的變化,可能會讓板子壞掉額?

void dealy(uint z)

{

unsigned int x,y ;

for(x=z;x>0;x--)

for(y=144;y>0;y--);

}

void main()

{

temp = 0xfe;

P1 = temp ;

dealy(255);

while(1)

{

temp = _crol_(temp,1);

P1 = temp;

beep = beep;

dealy(255);

}

}??

附上蜂鳴器的原理圖?

可以把它當(dāng)作有EBC開口,通電之后就會出現(xiàn)了 , 我的設(shè)備是PNP型三極管構(gòu)成的?

?PNP?
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容