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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于51單片機(jī)的頻率計(jì)程序

          基于51單片機(jī)的頻率計(jì)程序

          作者: 時(shí)間:2012-09-17 來源:網(wǎng)絡(luò) 收藏

          10.jpg10.jpg

          本文引用地址:http://www.ex-cimer.com/article/170849.htm

          這個是電路原理圖
          ***********************************************
          **************入門級計(jì)設(shè)計(jì)******************
          ***************精度低,希望各位初學(xué)者在此基礎(chǔ)上修改為精度更高的*************
          使用了,動態(tài)掃描,中斷定時(shí)/計(jì)數(shù)等資源,電路圖如上設(shè)計(jì)者:liujy
          日期:2010/03/25*******************************/
          #include reg52.h>
          #define uchar unsigned char
          sbit w1=P2^0;
          sbit w2=P2^1;
          sbit w3=P2^2;
          sbit w4=P2^3;//位控
          sbit w5=P2^4;
          sbit w6=P2^5;
          sbit s=P3^7;//啟動鍵
          bit flag;//標(biāo)簽
          uchar ss,sg,fs,fg,ms,mg, shu=1;//顯示位變量,由數(shù)字鐘變來
          uchar t0,t1,t2,a;
          unsigned long num,x,y;
          unsigned char code table1[]={0xc0,0xf9,0xa4,0xb0, //0-f
          0x99,0x92,0x82,0xf8,
          0x80,0x90,0x88,0x83,
          0xc6,0xa1,0x86,0x8e};
          void delay(int z)//延時(shí)子
          {
          int h,t;
          for(h=z;h>0;h--)
          for(t=110;t>0;t--);
          }
          void iint()//初始化函數(shù)
          {
          flag=0;
          TMOD=0x15;//t1為定時(shí)器,t0為計(jì)數(shù)器模式
          TH1=(65536-4000)/256;//設(shè)初值
          TL1=(65536-4000)%256;
          TH0=0;
          TL0=0;
          EA=1; //開總中斷
          ET0=1;//開中斷允許
          ET1=1;//開中斷允許
          TR1=1;//開中斷控制
          TR0=1;//開中斷控制
          }
          void main()
          {
          loop: if(s==0)//按鍵啟動
          {
          while(s!=0);//等按鍵松手
          a++;//功能變量
          }
          if(a==1)
          {
          iint();
          //while(1)
          // {

          while(1)
          {
          if(t1==250)
          {
          t1=0;
          EA=0;//關(guān)中斷
          TR0=0;//開中斷控制,可省
          flag=1;//標(biāo)簽標(biāo)志置位
          }

          y=TH0*256+TL0;//賦值部分
          x=t0*65536;
          num=x+y;
          ss=num/100000;
          num=num%100000;//賦值部分
          sg=num/10000;
          num=num%10000;
          fs=num/1000;
          num=num%1000;
          fg=num/100;//賦值部分
          num=num%100;
          ms=num/10;
          num=num%10;
          mg=num%10;
          if(flag==1)//動態(tài)掃描顯示
          {
          P2=0;//數(shù)據(jù)口
          w1=1;
          P0=table1[ss];
          delay(shu);
          P2=0;
          w2=1;
          P0=table1[sg];
          delay(shu);

          P2=0;
          w3=1;
          P0=table1[fs];
          delay(shu);
          P2=0;
          w4=1;
          P0=table1[fg];
          delay(shu);
          P2=0;
          w5=1;
          P0=table1[ms];
          delay(shu);
          P2=0;
          w6=1;
          P0=table1[mg];
          delay(shu);
          //num=0;
          if(s==0){ while(s!=0);a++;}
          if(a==2)
          {
          a=0;
          goto loop;
          }
          }

          }
          // }

          }
          }
          void timer0() interrupt 1
          {
          TH0=0;
          TL0=0;
          t0++;

          }
          void timer1() interrupt 3
          {
          TH1=(65536-4000)/256;
          TL1=(65536-4000)%256;
          t1++;

          }

          51單片機(jī)相關(guān)文章:51單片機(jī)教程


          c語言相關(guān)文章:c語言教程




          關(guān)鍵詞: 程序 頻率 單片機(jī) 基于

          評論


          相關(guān)推薦

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