导航:首页 > 操作系统 > 单片机检测信号频率

单片机检测信号频率

发布时间:2022-08-29 05:32:25

A. 怎么用单片机测量信号频率。

你这难度有点大啊!
市电220V中基频是50Hz,而且幅度最大,其他高频的成分幅度小,都叠加在50Hz的基频上。
所以50Hz基频的频率测量比较简单,电压比较器进行比较得到方波,单片机测量方波频率就OK,至于幅度就使用ADC测量降压之后的市电,然后根据降压比来计算原来的电压。
实际上对50Hz成分的测量可以用ADC来完成,那就是软件的学问了,通过软件计算信号的周期和幅度。
分析其他频率的信号,那就要先把50Hz基频过滤掉才行了。因为普通的降压法同样把其他谐波成分幅值降低到无法测量的程度,所以要使用滤波器过滤掉50Hz信号,然后将剩余的信号用ADC采样,
并进行FFT运算得到各个频率成分的频率值和幅度值。

B. 单片机如何同时测多路信号频率

当测量多路频率信号,可以把频率信号先滤波后经锁存器接入单片机I/O口,通过软件扫描I/O口电平变化来测量频率,20~2000HZ之间效果比较好,如果用cc4067,巡检一周用时太长了,当然,如果对时间要求不高也可以的.就想你说的cc4607是16选一,它是做不到同时测16路,只能一路一路的测.

C. 51单片机用定时器计数器测量频率

定时器1对外部脉冲计数时TMOD高4位设置应该是5
因此TMOD=0x51;
以下我的频率计程序:
#include <reg52.h>//因没用到STC12C5410专有特殊功能寄存器,此处用52或51的头文件均可
#define unit unsigned int
#define uchar unsigned char
//定义以I/O口的功能
sbit beiguang=P3^2;//液晶屏背光
sbit rs=P1^3;//液晶屏写选择,0命令 1数据
sbit rw=P1^4;//液晶屏读写选择
sbit lcden=P1^5;//液晶屏使能
sbit fm=P1^7;//蜂鸣器

#define db P2 //定义P2为数据输出口,写数据时用db代替P2,增加液晶屏程序的通用性

//更改硬件接线时,只更改此处,而不必去更改液晶屏读写子程序
uchar aa,bb,cc;//变量声明
unit dd,ee;
void Delay1ms(unsigned int i) //1ms延时程序

{
unsigned int j;
for(;i>0;i--)
{
for(j=0;j<125;j++)
{;}
}
}
void init()//初始化设置

{
TMOD=0x15;//定时器0作为计数器,定时器1作为定时器用
TH0=0;//计数器清0
TL0=0;
EA=1;//开总中断
ET1=1;//允许定时器1中断
TH1=0x4c;
TL1=0x5c;
TR0=1;//启动计数器
TR1=1;//启动定时器
aa=0;
}
void write_com(uchar com)//向液晶屏写命令

{
db=com;
rs=0;
rw = 0;
lcden=0;
Delay1ms(10*12);
lcden=1;
Delay1ms(10*12);
lcden=0;
}
void write_date(uchar date)//向液晶屏写数据

{
db=date;
rs=1;
rw = 0;
lcden=0;
Delay1ms(10*12);
lcden=1;
Delay1ms(10*12);
lcden=0;
}
void init2()//液晶屏初始化
{
beiguang=0;
rw=0;
write_com(0x38);
Delay1ms(10*12);
write_com(0x0f);
Delay1ms(10*12);
write_com(0x06);
Delay1ms(10*12);
write_com(0x01);
Delay1ms(10*12);
}
void display4(unsigned int number) //单行多位显示程序
{
uchar A1,A2,A3,A4,A5;
init2();//液晶屏初始化
A1=number/10000%10;//分离出万,千,百,十,个,对于int型数据,最大不超过65535
A2=number/1000%10;
A3=number/100%10;
A4=number/10%10;
A5=number%10;
write_com(0x80);//第1个数据的位置设定,第1行第1列
Delay1ms(10);
write_date(0x30+A1);//写数据
Delay1ms(10);
write_date(0x30+A2);
Delay1ms(10);
write_date(0x30+A3);
Delay1ms(10);
write_date(0x30+A4);
Delay1ms(10);
write_date(0x30+A5);
Delay1ms(10);

write_com(0x87);//第6个数据'H'的位置,中间空85和86 二格
write_date('H');
Delay1ms(10);
write_date('z');
Delay1ms(10);
}
void main()//主程序很简单
{
init();//初始化
while(1)//循环程序
{
dd=bb*256+cc;//0.5S的计数值
ee=2*dd;//换算为1秒钟的计数值
if(aa==1)
{
if(TH0>12)//预判断,50ms内TH0>12,1s内计数值将超过可计数的最大值65535
fm=0;//报警
}
display4(ee);//显示
fm=1;//报警停止
}
}
void timer1()interrupt 3//注意:定时器1的中断序号为3
{
aa++;
TH1=0x4c;//11.0592Mhz
TL1=0x5c;
if(aa==10)//中断10次,共0.5S
{
TR0=0;//暂停计数
aa=0;
bb=TH0;//读出计数器数据
cc=TL0;
TL0=0;//计数器清0
TH0=0;
TR0=1;//重新启动
}
}

D. 单片机怎样进行频率采样

如果被测信号频率远大于单片机工作频率(机器周期),可以通过外部可编程分频器降到单片机可以接受的频率范围。
如果被测信号频率稍低于单片机工作频率,可以采用单片机定时器从计数引脚输入信号,程序设定计数门限时间的方法来测量频率。
如果被测信号频率远低于单片机工作频率,那么可以采用信号输入外部中断引脚作为单片机定时器的计数门限时间,定时器以工作频率计数来测量频率。

E. pic单片机测量频率

用LZ的方法,肯定会存在误差。数字方式都会有误差,误差范围可以接收就是好的设计。

用AD方法误差形成的原因:

  1. 无法在正弦波周期极值点正好是采样时刻而准确的采样到这个极值数据。采样点越多,精度才更高。

  2. 程序中程序执行、计算的时间没有准确统计。

解决方法:

  1. 采用硬件方式,将正弦波转成方波送如PIC的一个端口,程序中定时计数就可以了。运算速度快,精度好控制。编程可能也容易些。甚至可以用外围电路组成0.1秒或者1秒闸门的计数器,程序中定时对计数器清零读数就可以了。缺点是硬件投入大一些,电路复杂一些。

  2. 仍采用AD方式,也是可以的,需要在预测频率的几个周期内AD采样点足够多才能找出比较准确的极值点。这就需要AD的速度够快,采样的频率要可知(知道每2个采样点的时间间隔,或者一个数组的总时间消耗),程序上要效率高。

F. 如何利用单片机实现对正玄波信号频率的测量

一楼的方法基本可行,不过有缺陷。
直接利用门电路整形,然后输入单片机的引脚,这种方法只能检测频率不高的信号。对于标准51来说,最高也只能检测几百K的信号,上M就很为难了。
最好的办法是,先把信号进行放大,然后进行过零比较和整形,把信号变成标准的方波,然后用一到两级的计数器,把频率降低,然后再输入单片机。这种方法可以实现对10MHz级别信号的测频。

G. 单片机如何检测信号的频率

如果被测信号频率远大于单片机工作频率(机器周期),可以通过外部可编程分频器降到单片机可以接受的频率范围。
如果被测信号频率稍低于单片机工作频率,可以采用单片机定时器从计数引脚输入信号,程序设定计数门限时间的方法来测量频率。
如果被测信号频率远低于单片机工作频率,那么可以采用信号输入外部中断引脚作为单片机定时器的计数门限时间,定时器以工作频率计数来测量频率。

H. 使用单片机测量频率的方法有哪几种,他们的原理是什么

一般来说就是周期测量和频率直接测量,周期测量是测量单周期时间, 进而计算出频率;直接测量,固定时间内测量脉冲或周期数,用以频率较高的信号

阅读全文

与单片机检测信号频率相关的资料

热点内容
man文件linux 浏览:282
javaweb实现页面跳转 浏览:125
命令如什么 浏览:315
centos如何使用ftp服务器 浏览:981
直立车陀螺仪算法 浏览:69
coreldrawpdf下载 浏览:895
虚拟主机云服务器软件服务 浏览:370
苹果的怎么拉安卓的打游戏 浏览:412
游戏程序员负责角色 浏览:313
于丹pdf 浏览:716
反编译ref 浏览:549
鸿蒙智能文件夹怎么弄 浏览:547
grunt压缩html 浏览:791
macpdfword转换器 浏览:907
压缩面膜是什么材质 浏览:355
抖音发布作品怎么建文件夹 浏览:17
安卓如何更改谷歌地区 浏览:276
airpods为什么安卓连上声音很大 浏览:513
联想服务器按钮怎么开不了机 浏览:98
苹果xrapp程序库没有了怎么办 浏览:844