📄 frequencytest.c
字号:
#include<reg51.h>
unsigned int count;
unsigned long int time,frequency;
bit flag;
counter()
{frequency=4*count/time; //得到所的频率;
count=0;time=0;flag=1;
}
timer0() interrupt 1 using 1 //计数中断
{count++;
}
timer1() interrupt 3 using 3 //定时中断
{time++;
if(time==100){IE=0;counter();} //关中断并转到处理函数;
}
main()
{ unsigned long int temp;
P0=0;
TMOD=0X2d; //T1为定时方式,工作为2(即自重重载TH1),T0为计数方式,工作为1,计数位长16位;
TH1=0x05;TL1=0x05;//定时时间为250us;
TCON=0x50;
IE=1;
IP=0x02; //把T0的中断级设为最高
while(1)
{if(flag==1)
{temp=frequency;
frequency=0;
flag=0;
P0=!P0; //得到频率后处理程序
IE=1; //处理服务程序后开中断;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -