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

📄 measure_f.c

📁 一种多功能频率计
💻 C
字号:
#include<reg52.h>
#include<lcd1602.h>
#include<counter.h>
#include<measure_F.h>
#include<write164.h>
#include <delay.h>

void measure_F()
{   
    uchar dotwei;
    uchar Mflag;
    unsigned long  freq;
   	gotoxy(2,1);
    write_LCD_data('=');
	dotwei=0;

while(1)
{
   	Mflag=1;
   write164(Fen200_MF); /*选通200分频,测200k--10M的信号*/
   	while(Mflag)
	{  
   	    freq=counter(1);
		if(freq>50000)
		{
		gotoxy(2,3);
		write_LCD_data('E');
		}
        
       else if((freq<=50000)&&(freq>1000))	
	      { freq=freq*200;
		    gotoxy(2,3);
           display_LCD_number(freq,dotwei);
		   }
      else Mflag=0;
	  if(freq==0) {goto reti;}
   }

	Mflag=1;
    write164(Fen100_MF);/*选通100分频,测10k--200k的信号*/
   while(Mflag)
	 {   
   	 freq=counter(1);
	 if((freq>1000)&&(freq<=2000))	
	     { freq=freq*100;
		   gotoxy(2,3);
           display_LCD_number(freq,dotwei);
		 }
     else 
	     {if((freq<=1000)&&(freq>100))
	          {
			   freq=counter(5);
			   freq=freq*20;
               gotoxy(2,3);
              display_LCD_number(freq,dotwei);
		 	  }
          else  Mflag=0;
	     }
    if(freq==0) {goto reti;}
    }

   
      Mflag=1;
      write164(Direct_MF);/*选通直通分频,测500--10k的信号*/
	  while(Mflag)
	{
       freq=counter(2);
	   if(freq>1000)
	   { freq=freq*5;
	   dotwei=1;
	   gotoxy(2,3);
	   display_LCD_number(freq,dotwei);
	   }
	else Mflag=0;
 if(freq==0) {goto reti;}
	}
	
	Mflag=1;			
	write164(Direct_MF); /*选通直通分频,测1--500的信号*/
    while(Mflag)
  {
	 freq=counter(10);

     if(freq>=10)
	 {
       dotwei=1;
      gotoxy(2,3);
	 display_LCD_number(freq,dotwei);
	 }     
	 else
	 {
	  freq=counter(100);
	  if(freq>100)
	  { dotwei=2;
	   gotoxy(2,3);
	    display_LCD_number(freq,dotwei);    ///freq=freq/10;/*想办法显示小数部分*/
	 }
	 else Mflag=0;
	  }
   if(freq==0) {goto reti;}
  }

 /*   Mflag=1;
//	write164(Direct_MF);
	while(Mflag)
  {P1=0x00;
    delay(1);
	P1=0xff;
 	freq=counter(1);
	if(freq>0)
   {dotwei=3;        	
	gotoxy(2,3);
	
   	display_LCD_number(freq,dotwei);
	}
   else Mflag=0;
   if(freq==0) {goto reti;}
  }*/
 
}
   reti:;
}


⌨️ 快捷键说明

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