在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<s id="cmphk"><label id="cmphk"></label></s>
    <span id="cmphk"><var id="cmphk"></var></span>
    <dfn id="cmphk"><var id="cmphk"></var></dfn>
    <menu id="cmphk"><thead id="cmphk"></thead></menu>

    <address id="cmphk"></address>

      <dfn id="cmphk"></dfn>
      
      
      <span id="cmphk"></span>

      <object id="cmphk"><tt id="cmphk"></tt></object>
      1. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于51單片機的無線遙控自行車風火輪程序

        基于51單片機的無線遙控自行車風火輪程序

        作者: 時間:2016-11-30 來源:網(wǎng)絡 收藏

        硬件制作資料從http://www.51hei.com/bbs/dpj-19358-1.html下載
        //課題:無線遙控自行車風火輪
        //程序編寫:潘觀學
        //單片機:STC89C54RD
        //晶振:12MHZ
        //單片機時鐘模式:6T
        #include
        #include "fenghuolun.h" //定義在這里
        /*********************************
        延時函數(shù)
        ***********************************/
        void delay_ms(unsigned int i)//1ms基準延時
        {unsigned char j;
        while(i--)
        {for(j=0;j<246;j++)
        {;
        }
        }
        }
        void delay_us(unsigned int n) //10us延時
        {uchar i;
        uchar j;
        for(i=0;ifor(j=0;j<2;j++);
        }
        /*******************************
        呼吸燈
        ********************************/
        void huxi()
        {
        uint k=0,t,i,j;
        for(i=0;i<=350;i++)
        {
        if((i%4)==0)
        k++;
        for(t=0;t<=16;t++)
        {
        led=0;
        for(j=0;j<=52;j++)
        if(j==k)
        led=1;
        }
        if(enable==1)break;
        }
        for(i=0;i<=350;i++)
        {
        if((i%4)==0)
        k--;
        for(t=0;t<=16;t++)
        {
        led=0;
        for(j=0;j<=90;j++)//j越大速度越慢
        if(j==k)
        led=1;
        }
        if(enable==1)break;
        }
        led=0xff;
        delay_ms(200);
        }
        /******************************
        閃爍函數(shù)
        *****************************/
        void shan()
        {
        led=0;
        delay_ms(100);
        led=1;
        delay_ms(400);
        }
        void shan1()
        {
        led=0;
        delay_ms(100);
        led=1;
        delay_ms(100);
        led=0;
        delay_ms(100);
        led=1;
        delay_ms(300);
        }
        /**********************************
        蜂鳴器函數(shù)
        ************************************/
        void beep()
        {
        fmq=0;
        delay_ms(100);
        fmq=1;
        }
        /*******************************
        畫面切換函數(shù)
        ********************************/
        void huan()
        {uchar i;
        P1=0xff;//P1口設置為輸入狀態(tài) 先全部寫1
        i=P1;//賦值給臨時存貯變量

        本文引用地址:http://www.biyoush.com/article/201611/323806.htm

        i=i&0x0f;//和0x0f相與 屏蔽高四位,讀取無線遙控碼

        if (i==0x04)//如果是0x04,則代表無線遙控器的按鍵A按下
        {
        if(moshi==0)
        {
        modle0++;//下一個靜態(tài)畫面
        if(modle0>9)
        modle0=0;
        }
        if(moshi==1)
        {
        modle1++;//下一個動態(tài)畫面
        if(modle1>2)
        modle1=0;
        }
        beep();//提示音
        }
        if (i==0x01)//如果是0x01,則代表無線遙控器的按鍵B按下
        {
        if(moshi==0)
        {
        modle0--;//上一個靜態(tài)畫面
        if(modle0<0)
        modle0=9;
        }
        if(moshi==1)
        {
        modle1--;//上一個動態(tài)畫面
        if(modle1<0)
        modle1=2;
        }
        beep();//提示音
        }
        if (i==0x08)//如果是0x08,則代表無線遙控器的按鍵C按下
        {
        moshi=~moshi;
        beep();//提示音
        }
        if (i==0x02)//如果是0x02,則代表無線遙控器的按鍵D按下
        {
        enable=~enable;
        beep();
        }
        }

        /*******************
        靜態(tài)畫面顯示函數(shù)
        *******************/
        void display(uchar n)
        {uint i;//0-255形成整個圓
        uchar a=8;//發(fā)送循環(huán)次數(shù)
        uchar h1,h2,h3,h4;

        for(i=0;i<256;i++)
        {
        h4=tab[n][i*4+3];
        st_cp4=0;
        while(a--)//發(fā)送第4個8位
        {ds4=h4&0x01;
        sh_cp4=0;
        h4=h4>>1;
        sh_cp4=1;
        }
        a=8;

        h3=tab[n][i*4+2];
        st_cp3=0;
        while(a--)//發(fā)送第3個8位
        {ds3=h3&0x01;
        sh_cp3=0;
        h3=h3>>1;
        sh_cp3=1;
        }
        a=8;

        h1=tab[n][i*4];
        st_cp1=0;
        while(a--)//發(fā)送第1個8位
        {ds1=h1&0x01;
        sh_cp1=0;
        h1=h1>>1;
        sh_cp1=1;
        }
        a=8;

        h2=tab[n][i*4+1];
        st_cp2=0;
        while(a--)//發(fā)送第2個8位
        {ds2=h2&0x01;
        sh_cp2=0;
        h2=h2>>1;
        sh_cp2=1;
        }
        a=8;

        st_cp1=1;
        st_cp2=1;
        st_cp3=1;
        st_cp4=1;

        delay_us(time1); //每顯示一組產生一個延時
        }
        }

        /********************************
        動態(tài)畫面顯示函數(shù)
        *********************************/
        /*******自動切換畫面*********/
        void zidong()
        {
        if(z0>=20) //每顯示20次切換
        {
        z0=0;
        z1++;
        }
        if(z1>9)
        z1=0;
        }


        上一頁 1 2 下一頁

        評論


        技術專區(qū)

        關閉