色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)LED流水燈閃爍燈程序大集合

          單片機(jī)LED流水燈閃爍燈程序大集合

          作者: 時(shí)間:2012-08-15 來(lái)源:網(wǎng)絡(luò) 收藏
          /*點(diǎn)亮燈:方1  位操作方式   sbit D1=P1^0;方2  總線方工     P1=0x??;讓燈閃爍*//*//方1:位操作方式點(diǎn)亮#includereg52.h>sbit  D1=P1^0;      //P1^0的P必須是大寫(xiě)void main(){D1=0;        //使用P1^0必須先經(jīng)過(guò)sbit定義,而不能直接用P1^0=0;否則編譯過(guò)不了}*///-------------------------------------------------
          :總線方式點(diǎn)亮LED#includereg52.h>void main(){P1=0xfd;         //1111 1100 LED是共陽(yáng)的,低電平時(shí)點(diǎn)亮,
          所以就是LED1和2燈被點(diǎn)亮}*///-------------------------------------------------------------/* 讓LED燈閃爍    采用位點(diǎn)亮+內(nèi)部循環(huán)進(jìn)行延時(shí)#include reg52.h>sbit D1=P1^3;              //隨便一個(gè)你也可改為P1^0,注意P要大寫(xiě)的才可以u(píng)nsigned int a;void main(){D1=0;for (a=0;a=20000;a++) {};       //for循環(huán) {}空操作即可形成延時(shí)效果D1=1;for (a=0;a=20000;a++) {};}*///--------------------------------------------------------------/*//讓LED燈閃爍    采用位方式+delay延時(shí)函數(shù)方式#include reg52.h>sbit D1=P1^0;    //位操作方式unsigned int a;void delay(int x)         //延時(shí){int a,b;for(a=x;a>0;a--)for(b=110;b>0;b--);}void  main(){D1=0;delay(50);           //調(diào)用延時(shí)D1=1;delay(50);/}*///-----------------------------------------------/*//讓3個(gè)燈一起閃爍  ,采用總線方式#includereg52.h>unsigned int a;void delay(int x)          //延時(shí){int a,b;for(a=x;a>0;a--)for(b=110;b>0;b--);}void main(){P1=0xf8;             //1111 1000,點(diǎn)亮前3個(gè)燈,3個(gè)燈一起閃爍delay(500);P1=0xff;delay(500);}*///----------------------------------------------------/*//讓LED燈閃爍   采用wlile方式#include reg52.h>sbit P10=P1^0;int a;void main(){while(1){a=51000;P10=0;         //點(diǎn)亮燈while(a--);    //程序停在這里,一直執(zhí)行減法,直到a從51000減到0后退出循環(huán),
          這就形成延時(shí)a=5100;      //前面a已經(jīng)減成0了,這里再給它個(gè)初值P10=1;while(a--);    //又從初值51000減到0為止,形成延時(shí)效果}}*///-----------------------------------------------------------/*// ,在PIC只要設(shè)整個(gè)端的0x??
          值然后采用端口值=端口值1左移1位即可形成//而在52里卻不行,得用_crol關(guān)皺字,
          而這個(gè)關(guān)鍵字又是在另一頭文件intrins.h里,所以在開(kāi)頭就得先包含它_#include reg52.h>#include intrins.h>     //因?yàn)橐玫絚orol這一關(guān)鍵字#define uchar unsigned charsbit P23=P2^3 ;sbit D1=P1^0;void delay(int x){int a,b;for(a=x;a>0;a--)for(b=110;b>0;b--);}void main(){uchar a,temp;temp=0xfe;for (a=8;a>0;a--)   //循環(huán)8次,即流水燈8個(gè)循環(huán)8次即可點(diǎn)亮8個(gè){P1=temp;temp=_crol_(temp,1); //移動(dòng)delay(100);}}*///--------------------------------------------------------------//流水燈 :正流+倒流;在PIC里流水燈只要設(shè)整個(gè)端的0x??
          值然后采用端口值=端口值1左移1位即可形成流水燈//而在52里卻不行,得用_crol關(guān)皺字,
          而這個(gè)關(guān)鍵字又是在另一頭文件intrins.h里,所以在開(kāi)頭就得先包含它#include reg52.h>#include intrins.h>     //因?yàn)橐玫絚orol這一關(guān)鍵字#define uchar unsigned charsbit P23=P2^3 ;sbit D1=P1^0;void delay(int x){int a,b;for(a=x;a>0;a--)for(b=110;b>0;b--);}void main(){uchar a,temp;temp=0xfe;for (a=8;a>0;a--)   //循環(huán)8次,即流水燈8個(gè)循環(huán)8次即可點(diǎn)亮8個(gè){P1=temp;temp=_crol_(temp,1); //移動(dòng)delay(100);}temp=0x7f;              //注意這一句,
          如果沒(méi)有這一句,下面的語(yǔ)句循環(huán)是循環(huán)了,卻沒(méi)東西出來(lái)for (a=8;a>0;a--)   //循環(huán)8次,即流水燈8個(gè)循環(huán)8次即可點(diǎn)亮8個(gè){P1=temp;temp=_crol_(temp,-1); //移動(dòng)delay(100);}} 


          關(guān)鍵詞: 單片機(jī) LED 流水燈 閃爍燈

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉