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

📄 频率脉冲的测量周期法.c

📁 在被测信号T内
💻 C
字号:
/*-------------------------------------
    测量周期法的基本原理:在被测信号T内,
对某一基准时间进行计数,基准时间与计数值
的乘积便是被测周期.
---------------------------------------*/

#include"at89x51.h"
#define uint unsigned int

uint count, period;
bit rflag = 0;		   //周期标志

void control(void)
{
	TMOD = 0x09;	 //T/C0为方式1,INT0 为1是启动定时器
	IT0 = 1;	    //脉冲方式(后沿负跳有效)进入中断
	TH0 = 0;TL0 = 0;
	P1_0 = 0; P1_0 = 1;	、//触发器清零
	TR0 = 1;  //启动T/C0
	EX0 = 1; //只开外部中断1
	EA = 1; //开总中断
}

void INT_0(void) interrupt 0 using 1 //INTO中断服务
{
	EA = 0;
	TR0 = 0;
	count = TL0 + TH0 * 256;//取计数值
	rflag = 1;			   //设标志
	EA = 1;
}

main()
{
	control();
	while(rflag == 0);	、//等待一个周期
	period = count * 2;	 //fosc = 6MHz,2us计数增1,周期值单位us
}

⌨️ 快捷键说明

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