导航:首页 > 操作系统 > 周测法测频率单片机程序

周测法测频率单片机程序

发布时间:2022-07-07 21:56:44

1. 用单片机测频率的程序

我只有51的程序,没有MSP430的,但是我可以告诉您的思路:
1、你将输入信号输入外部中断引脚。
2、开启您的定时器T0;
3、使用定时器T0计时5S,然后读取外部中断了多少次。
4、计算外部中断的次数N,这样你就得到你所需要的频率了。那就是N*12=1分钟的次数。

2. 测周法测频率怎么用单片机实现。

主要是利用单片机的定时器计时,测量2个时间参数t1和t2,即如下所示:

计算信号的一个波形的周期t=t1+t2 则可以求出频率f=1/t

3. 基于89c51单片机实现测频,利用测频法以及测周法(两种方法测不同频率但是需要在同一个程序中)

先说测脉冲个数,用于频率较高场合,直接测周期用于频率较低场合。先默认计数法,当算得频率低于某一值时,改为测周期法,当频率高于某一值时,采用测脉冲个数法。

4. 51单片机测周C程序怎么写,计算两个脉冲之间的时间,程序怎么写!

或是低电平脉冲则直接接到单片机外部中断的引脚上就行了,一个低脉冲过来,进入中断,启动定时器/计数器,再来一个脉冲,再进入中断,关闭定时器/计数器,取得这个时间段的时钟周期,根据晶振频率算出时间就OK了。是不是很简单?

5. 51单片机制作频率计,测周法如何测量(用T0和T1两个就可以了吗),求大虾帮忙啊,最好详细点

#include<REG51.H>

#defineU8unsignedchar

U8codetab[]={0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28};

U8codescn[]={0x7f,0xbf,0xdf,0xef};//先点亮左边一个数码管

U8buf[4]={0,0,0,0};//显示缓冲区

U8cnt=0;//扫描计数

unsignedintfreq=0;

unsignedintF;

voidmain(void)

{EA=1;//允许中断

TMOD=0x01;//设定时器0为模式1(16位)

ET0=1;//定时器0中断允许

TH0=(65536-5000)/256;//晶振12MHz,中断周期5mS

TL0=(65536-5000)%256;;

TR0=1;//开始计数

PX0=1;//外部中断优先级高

EX0=1;//允许外部中断

IT0=1;//外部中断下降沿触发

while(1);

}

voidexint0(void)interrupt0//外部中断0服务程序

{freq++;

}

voidtimeint(void)interrupt1//定时器0中断服务程序

{chari;

TH0=(65536-5000)/256;//晶振12MHz,中断周期5mS

TL0=(65536-5000)%256;;

i=cnt&0x03;//求应点亮的LED号(从左到右依次为0,1,2,3)

P0=tab[buf[i]];//笔划代码送P0口

P2=scn[i];//控制扫描码送P2口

cnt++;

if(cnt==200)

{cnt=0;//到1秒钟,显示的数字加一

F=freq;freq=0;

buf[0]=F/1000;

buf[1]=(F/100)%10;

buf[2]=(F/10)%10;

buf[3]=F%10;

}

}

6. 51单片机测频率的程序

测频率时,频率高的时候,采用“定时计数法”。
楼上给出的“开启一个定时器,计算一定时间t内的count值”,就是这种方法。
但是,频率低的时候,这种方法是不适用的。
因为想要计几个数,就要花费很长的时间。
故此,频率低的时候,应该使用“测量周期法”,再换算成频率。

阅读全文

与周测法测频率单片机程序相关的资料

热点内容
怎么把pdf导入iphone 浏览:565
7z后缀文件解压缩 浏览:904
服务器为什么禁用三叉戟 浏览:934
解压小视频卸妆或化妆 浏览:554
太监程序员 浏览:56
java编译选项包括 浏览:432
安卓手机如何导其他手机的通讯录 浏览:931
离心式压缩机品牌 浏览:167
plc编程推荐什么电脑 浏览:935
安卓最新什么系统版本 浏览:193
甜颜app真人交友在哪里下载 浏览:335
电脑里好乱很多文件夹都是空 浏览:352
数学一窍不通可以学模具编程吗 浏览:271
退休程序员练字 浏览:693
海光服务器什么架构 浏览:138
战斗命令要素 浏览:953
app上哪里可以开鞋子盲盒 浏览:82
python多线程计划 浏览:384
华为模拟加密门id禁卡 浏览:555
华为od服务器广播算法 浏览:354