用C8051F020单片机记录1秒钟内特定输入口的方波数

来源:百度知道 编辑:UC知道 时间:2024/05/02 18:30:58
晶振是11.0592MHZ的
输入口为P2.4
输入的波是光耦测量的转速
10个波为1圈
要求程序完成后得出当前转速
谢谢大家了 在线等
我现在需要一个C语言变得程序。。

QQ56235935
这是一个我帮人做的霍尔n传感器的程序,外圈也是10次方波一圈的,还通过内圈来确定正翻转。你是11.0592,没办法那么准一秒钟。

你自己加下头文件
#define uchar unsigned char
#define uint unsigned int

sbit red P2^6
sbit green P2^7
sbit waring_sound P2^5
uchar i=0,j=0;t_1=0,t_2=0,turn,tx=0,speed_time=0,speed;

void wait(void)
{
uint a;
while(a--);
}

void Interruption(void)
{
TCON=0x05;
TMOD=0x51;
TH0=3C;
TL0=B0;
EX0=1;
EX1=1;
ET0=1;
ET1=1;
EA=1;
}

void timer(void)
{
if(TF0==1)
{
tx++;
speed_time++;
TF0=0;
}
}

void waring(void)
{
if(speed>1200)
{
red=0;
waring_sound=0;
}
if(speed<100)
{
green=0;
waring_sound=0
}
if(speed>100||speed<1200)
{
green=1;
red=1;
waring_sound=1;
}
}

void speed(