📄 f.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 *
*
*************************************************************************************************/
//proteus仿真论坛:http://proteus.5d6d.com
#include<reg51.h>
#include<stdio.h>
#include<lcd.c>
#include<math.h>
sbit p32=P3^2;
main()
{
unsigned long int period,k,j,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=%5.2fHZ",f);
else
{m=f/1000.0;
sprintf(buff,"f=%5.2fKHZ",m);
}
lcdprintf(0,0,buff);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -