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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機簡易頻率計源代碼

          51單片機簡易頻率計源代碼

          作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
          //定時器0 設(shè)置定時時間1秒 定時器1 設(shè)置計數(shù)1秒內(nèi)的脈沖數(shù)量
          #include
          #define uchar unsigned char
          #define uint unsigned int
          uint ff; //接受頻率值
          uchar start=1; //定時器,計數(shù)模式啟動變量
          code uchar seg[]={0x28,0x7e,0xa2,0x62,0x74,0x61,0x21,0x7a,0x20,0x60};
          code uchar tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
          void delay(uint k) //延時函數(shù)
          {
          while(k--);
          }
          void show(uint k) //數(shù)值顯示函數(shù)
          {
          static uchar i,j;
          uint ss[5];
          i=0;
          do
          {
          ss[i]=k%10;
          i++;
          }while(k/=10);
          for(j=0;j {
          P0=seg[ss[j]];
          P2=tab[j];
          delay(100);
          P0=0xff;
          P2=0xff;
          }
          }

          void time0_init()
          {
          TMOD|=0x01; //定時器0 定時模式 計數(shù)范圍65536
          TH0=0x3c; //定時初值50ms
          TL0=0xb0;
          TR0=0; //暫停定時器0
          }
          void time1_init()
          {
          TMOD|=0x50; //定時器1 計數(shù)模式,計數(shù)范圍65536
          TH1=0; //計數(shù)初值0
          TL1=0;
          TR1=0;//暫停計數(shù)器
          }
          void str_init() //定時器中斷
          {
          EA=1;
          ET0=1;
          }
          void time0_event() interrupt 1
          {
          static uchar i;
          i++;
          TH0=0x3c; //定時初值50ms
          TL0=0xb0;
          if(i==20)
          {
          i=0;
          TR1=0; //停止計數(shù)
          TR0=0; //停止定時
          ff=(TH1*256+TL1); //求出頻率值 就是1秒內(nèi)脈沖次數(shù)
          TH1=0; //計數(shù)值清零
          TL1=0;
          TH0=0x3c; //定時初值50ms
          TL0=0xb0;
          start=1; //啟動定時器開啟變量
          }
          }
          void main()
          {
          time0_init();
          time1_init();
          str_init();
          while(1)
          {
          if(start==1)
          {
          TR0=1; //啟動定時器
          TR1=1; //啟動計數(shù)器
          start=0; //關(guān)閉啟動變量位 保證1秒時間
          }
          show(ff);
          }
          }


          關(guān)鍵詞: 51單片機頻率

          評論


          技術(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); })();