⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 counter.c

📁 一种多功能频率计
💻 C
字号:
#include<reg52.h>
#include<counter.h>
unsigned long INT0_count=0;
 uchar Cflag;
 uchar Kflag=1;
unsigned long counter(uchar gate_time)
{ unsigned long  count=0;
  uint stop;
   Kflag=1;
  
  
  stop=gate_time*20;
  TH1=0x46; /*定时器1装处初值*/
  TL1=0x00;
	EX1=1; 
	ET1=1; /*开定时器中断*/
	EX0=1;/*开外部中断*/
	TR1=1; /*开定时器1*/
	EA=1;  /*开总中断*/

	while(Kflag&&(Cflag<=stop));
    EX0=0;    /*关外部中断*/
	TR1=0;
    EA=0;
    Cflag=0;
	count=INT0_count;    /*闸门时间内中断次数*/
	INT0_count=0;
    return count;
}
void time1() interrupt 3 using 1
{ 
  TR1=0;
  Cflag++; 
  TH1=0x46;
  TL1=0x00;                      
  TR1=1;
}

void int0() interrupt 0 using 0
{
	EX0=0;
	INT0_count++;
	EX0=1;
}

void int1() interrupt 2 using 2
{
	Kflag=0;
	INT0_count=0;//若产生中断则返回值为0,在measure_F函数中检测出有键按下
	EX1=0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -