<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          基于51單片機(jī)的無線遙控自行車風(fēng)火輪程序

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

          硬件制作資料從http://www.51hei.com/bbs/dpj-19358-1.html下載
          //課題:無線遙控自行車風(fēng)火輪
          //程序編寫:潘觀學(xué)
          //單片機(jī):STC89C54RD
          //晶振:12MHZ
          //單片機(jī)時鐘模式:6T
          #include
          #include "fenghuolun.h" //定義在這里
          /*********************************
          延時函數(shù)
          ***********************************/
          void delay_ms(unsigned int i)//1ms基準(zhǔn)延時
          {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口設(shè)置為輸入狀態(tài) 先全部寫1
          i=P1;//賦值給臨時存貯變量

          本文引用地址:http://www.ex-cimer.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); //每顯示一組產(chǎn)生一個延時
          }
          }

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


          上一頁 1 2 下一頁

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();