最默認(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)圖?

改進(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)成的?
