测量周期法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测量周期法。
将被测量信号经过整形后转换成方波信号,利用单片机查询两个上升沿,在此期间根据晶体振荡器产生的周期为 Tc的脉冲送计数器进行计数,设计数值为N,则得被测量信号的周期值Tx=Tc×N,然后取其倒数即为被测量信号的频率。
图1 信号周期测量原理图
A点
波形
图 2 频率测量计数波形示意图
件头:
/*-------------------------------------
测量周期法的基本原理:在被测信号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 }
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求。