#include "reg52.h" //包含头文件
#include "freq.h"
#define Timer0Init(void)
#define Timer2Init(void)
unsigned long value1=0; //计数值
unsigned long temp=0;
unsigned long value=0;
void Timer0Init(void) //定时器0初始化
{
TMOD|=0x05;
TH0=TL0=0;
TR0=0;
}
void Timer2Init(void)
{
TL2 = 0xfd; //设置定时初值
TH2 = 0xFE; //设置定时初值
RCAP2L = TL2;
RCAP2H = TH2;
TR2 = 1;
ET2 = 1;
EA = 1;
}
void main()
{
Timer0Init(); //开启定时器0用于外部脉冲计数
Timer2Init(); //开启定时器2
while(1)
{
value1=value*3.33;
temp=300000/value;
}
}
void tm2_isr() interrupt 5 using 1 //定时器2中断
{
static uint count=0;
TF2 = 0; //清除定时器2中断标志位
if(++count==600) //0.3s闸门信号
{
value=(uint)TH0<<8|TL0; //读取定时器0的计数值
TR0=count=0; //清零
TH0=TL0=0; //清零
TR0=1; //重启定时器0计数,开启新一轮计数
}
}
运行结果:
freq.c(14): error C141: syntax error near '{', expected 'hdata'
freq.c(15): error C129: missing ';' before '|='