⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frequencymeter.c

📁 等精度频率测量 采用五次10分频的方法实现了测量高频信号自动量程切换
💻 C
字号:
/*************************************************************************************************
* FUNCTION NAME:等精度频率计                                            		    			 *
*`CREATE DATE  :2007.7.02                                                                        *
* CREATED BY   :wu zhi zhong ,ChongQing Institute of Technology                                  *
* MODEIFY DATE :2007.7.05                                                                        *
* INPUT        :frequency                                                                        *
* OUTPUT       :frequency                                                                        *
                                                                  								 *
/*************************************************************************************************/
#include<reg51.h>
#include<stdio.h>
#include<lcd.c>
#include<math.h>
sbit p32=P3^2;
main()
{ 
 unsigned long int period,k,i=0;
 float f,m;
 char buff[30];
 init_LCD();
 P2=0x00;
 while(1)
 {
  TMOD=0X09;
  TH0=0;
  TL0=0;
  while(p32==1);
  TR0=1;
  while(p32==0);
  while(p32==1);
  TR0=0;
  period=TH0*256+TL0;
  while(period<=500)       /*判断是否分频及计算分频次数*/
  { P2++;
    i++;
	period=period*10;
    if(i==6)
    {P2=0x00;
	break;
	}
  }
  k=pow(10,i);             /* 10的i次方*/
  f=(1000000.0/(2*period))*k;
  if(f<1000)
  sprintf(buff,"f=%8.4fHZ",f);
  else
  {m=f/1000.0;
  sprintf(buff,"f=%8.4fKHZ",m);
  }
  lcdprintf(0,0,buff);
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -