<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 51單片機系列連載2—美麗的發(fā)光二極管

51單片機系列連載2—美麗的發(fā)光二極管

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/201611/322434.htm

法二:使用數組

#include

unsignedchartable[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

voidyanshi();

voidmain()

{unsignedinti;

while(1)

{

for(i=0;i<8;i++)

{P1=table[i];(注意,在這里的大括號是一定要加的,否則你就out了)

yanshi();

}}}

voidyanshi()

{unsignedinti;

for(i=0;i<10000;i++);}

法三:左移右移

#include

unsignedchartable[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

unsignedinti;

voidyanshi();

voidmain()

{P1=0xfe;

while(1)

{P1=P1<<1;

P1=P1|0x01;(因為是左移而不是循環(huán)左移,所以要末位置一,這樣的結果也會(huì )導致最后只挨個(gè)量一次)

yanshi();}

}

voidyanshi()

{unsignedinti;

for(i=0;i<10000;i++);}

其實(shí)想想并不是很難,就是賦值控制亮滅,主要是記住延時(shí)那個(gè)函數,最后調用就可以了,在這個(gè)基礎上再拓展一下,雙燈左移右移閃爍,也就是雙燈左移7次,右移7次,然后全閃7次,程序如下:

#include

voidDelay(unsignedinti);

voidmain()

{unsignedchari;

unsignedchartemp;

while(1)

{temp=0xfc;

P1=temp;

for(i=0;i<7;i++)

Delay(50000);

{temp<<=1;

temp=temp|0x01;

P1=temp;}之所以加入temp做中間變量,防止直接操作端口造成的短暫閃爍

Temp=0x3f;

P1=temp;

For(i=0;i<7;i++)

{Delay(50000);

Temp>>=1;

Temp|=0x80;

P1=temp;}

For(i=0;i<3;i++)

P1=0xff;

Delay(50000);

P1=0x00;

Delay(50000);}

}}

voidDelay(unsignedinti)

{

while(--i);

}

這么一分析,發(fā)光二極管真的很簡(jiǎn)單,賦值端口,控制亮滅,延時(shí),調用函數,基本上就可以了,最重要的是c語(yǔ)言簡(jiǎn)單知識的一些規范,這都是入門(mén)的,不難理解,細心一些就好了,個(gè)人覺(jué)得比較好的還是自己寫(xiě)程序去調試,調試次數多了,自然而然就熟悉了,孰能生巧,對很多事情都是亙古不變的真理,學(xué)習更是如此。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 51單片機發(fā)光二極

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>