久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

電子競賽-頻率計(jì)數(shù)器程序

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2010年06月04日   【字體:

該程序能實(shí)現(xiàn)測量10至3MHZ的TTL信號頻率,液晶顯示4為有效數(shù)字,同時(shí)能夠測量脈沖占空比,精度在0.5%左右...

需要硬件支持:C8051F360單片機(jī),鍵盤,液晶顯示器
下面這個(gè)是主程序
還有下面這幾個(gè)文件限于篇幅不能一一貼上來大家可以去下載:
1.液晶初始及鍵盤等
2.初始化及中斷
3.ASCII液晶輸出函數(shù)
這個(gè)幾個(gè)文件請從這里下載
http://www.zg4o1577.cn/ziliao/file/pinglvji1.rar 

main()  
{
    int xdata flag1=0;
       float  sum1=0,sum2=0;
       float xdata sum3[10];
       int i;
       Init_device();
       LCD_REST();
       LCD_INIT();
       f=0;
       f1=0;

  while(1)
 {  

    if(flag)
   {
        if(f>=10&&f<=99)   額,不得不說,取11個(gè)數(shù)求平均值確實(shí)不好,讀數(shù)不能穩(wěn)定的說....
           {

             sum2=(jishu[0]+jishu[1]+jishu[2]+jishu[3]+jishu[4]+jishu[5]+jishu[6]+jishu[7]+jishu[8]+jishu[9]+jishu[10])/11;
             get_flow(sum2);
             LCD_HZ(0x80,TAB_WORD);
             LCD_HZ(0x90,F_DISPLOW);
          flag=0;
            }
          else if(f>=100&&f<= 999)
       {

               get_flowhigh();
               LCD_HZ(0x80,TAB_WORD);
               LCD_HZ(0x90,F_DISPLOWHIGH);
               flag=0;
       }
          else if (f>=1000&&f<=9999)
          {
             get_high();
                LCD_HZ(0x80,TAB_WORD);
                LCD_HZ(0x90,F_DISPHIGH);
                flag=0;
          }
          else if(f>=10000&&f<=99999)
          {
             get_highone();
                LCD_HZ(0x80,TAB_WORD);
                LCD_HZ(0x90,F_DISPHIGHONE);
                flag=0;
          }
          else if(f>=100000&&f<=999999)
       {
           get_highone();
           LCD_HZ(0x80,TAB_WORD);
           LCD_HZ(0x90,F_DISPHIGHONE);         內(nèi)部數(shù)據(jù)存儲器只有128位,為節(jié)約空間與上個(gè)數(shù)組存在同一空間
                                                                                   (內(nèi)部數(shù)據(jù)存儲器空間用完的說...)
           flag=0;
              }
              else
              {
              get_highthree();
              LCD_HZ(0x80,TAB_WORD);
              LCD_HZ(0x90,F_DISPHIGHTHREE);
              flag=0;
              }

     }
        if((key_num&0xf0)==0)
        {    
               TR0=0;
                ET1=1;
                TMOD=0x10;
                TCON=0x40;
                for(i=0;i< 10;i++)
                {
                 while(CHUFA==0);
                 TH1=0;
            TL1=0;
                  f1=0;
                     TR0=0;
                 while(CHUFA==1);
               while(CHUFA==0);
                 TR1=1;
                while(CHUFA==1);
              TR1=0;
                m=f1*65536+256*TH1+TL1;
                while(CHUFA==0);
                  TH1=0;
                TL1=0;
                f1=0;
                TR1=0;
                while(CHUFA==1);
                TR1=1;
                while(CHUFA==0);
                TR1=0;
                f=f1*65536+256*TH1+TL1;
          key_num=0xf0;
          sum1=m;
          sum2=m+f;
          sum1=sum1/sum2;
          sum3[i]=sum1;
          }
          sum2=0;
          for(i=0;i< 10;i++)
          {
            sum2=sum2+sum3[i];
          }
          sum2=sum2/10;
             if(sum2>=0.1&&sum2<=0.40)
              {
                sum2=sum2-0.07;
                }
               else if(sum2>0.40&&sum2<=0.44)
                {
                sum2=sum2-0.04;
                }                                                                    占空比程序設(shè)計(jì),本想用個(gè)中斷來著,試驗(yàn)不成功簡單的算了
                                                                                      由于每次運(yùn)行指令要耗費(fèi)時(shí)間,精度不高,故加個(gè)實(shí)測校準(zhǔn)程序
                                                                                      O(∩_∩)O哈哈~測評時(shí)能達(dá)到0.5%的精度,踩狗屎運(yùn)了...
                else if(sum2>0.44&&sum2<=0.55)
                {
                 sum2=sum2-0.02;
                }                                                             
                else if(sum2>0.55&&sum2<=0.63)
                {
                sum2=sum2+0.03;
                }
                else sum2=sum2+0.07;
          get_f(sum2);
          LCD_HZ(0x88,TAB_WORD1);
          LCD_HZ(0x98,F_DISP);
          flag1=1;
        }
        if(flag1==1)                                        讓程序能范圍繼續(xù)測量頻率
        {
            TMOD=0x51;                           
           CKCON=0;           
           TCON=0x50;  
              flag1=0;
       }
 }
}
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 国产一区二区在线视频 | av久久| eeuss国产一区二区三区四区 | 男女免费观看在线爽爽爽视频 | 三级黄片毛片 | 极品电影院 | 美女在线一区二区 | 91精品国产高清一区二区三区 | 91精品国产综合久久久动漫日韩 | 日韩电影一区 | 在线色网 | 久久麻豆精品 | 亚洲精品久久久久久久久久久 | 日本不卡一区 | 91久久久久久久 | 亚洲欧美一区二区三区视频 | 中文字幕91| 亚洲精选一区 | 欧洲尺码日本国产精品 | 欧美日韩不卡 | 你懂的免费在线 | 婷婷综合色 | 一级片视频免费 | 一区二区三区在线 | 欧 | av网站推荐| 在线观看国产视频 | 亚洲一区二区三区在线视频 | 91久久久久| 成人自拍av | 国产乱码精品一区二区三区忘忧草 | 老头搡老女人毛片视频在线看 | 91www在线观看 | 亚洲欧美在线一区 | 国产精品小视频在线观看 | 日本一区二区三区四区 | 国产999精品久久久 午夜天堂精品久久久久 | 伊人伊人| 91精品国产乱码久久久久久 | 国产激情一区二区三区 | 亚洲一区二区三区在线播放 | 一区二区三区欧美 |