📄 frequency.h
字号:
#define uchar unsigned char
#define uint unsigned int
uint frequency()
{
unsigned long time=0;
uint i=0;
uint freq;
TMOD=0x51;//定时器1计数,定时器0定时,工作方式为1
TCON=0x00;//所有标志清空
TH0=0;
TL0=0;
TH1=0;
TL1=0; //计数器初值清零
TR1=1; //T1开始计数
while(1)
{
if(TL1==1)//第1个脉冲,定时器0开始定时
{
TR0=1;
break;
}
}
while(1)
{
if(TL1==11)//第11个脉冲,定时器0停止计时,测定10个脉冲的时间,
{
TR0=0;
break;
}
if(TF0==1)//定时器0溢出,i记录
{
i++;
TF0=0;
}
}
time=i*(unsigned long)65536+(unsigned int)256*TH0+TL0;
freq=1364473464/time; //16.3M晶振,显示两位小数 16.3M*100*10/12
return freq;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -