做用51单片机做一个频率计,测量范围为0.1Hz~10kHz

作者&投稿:播狭 (若有异议请与网页底部的电邮联系)
自动控制原理和硬件设计有什么关系?~

呵呵,经典自动控制原理主要是理论,研究简单的控制系统的。在过程控制中主要用于计算PID各部分的参数,然后加以调节。在电气设计中要是想稳定一个状态的话,同样要加入反馈调节,比如说电机调速等问题,甚至要采用双闭环无静差调节,你需要利用自控原理去计算反馈系数,然后通过自控原理去分析这个系统的稳定性能否达到工业要求。不过现在大部分复杂的控制系统都是利用现代控制理论即状态方程来设计系统,因为线控的话不用去考虑其中的过程 ,而且控制的变量也比较随意,像卫星的遥感,控制,还有飞机的自动导航系统,都是利用的现代控制理论。但是自动控制理论永远是自动化类的经典学科。

市场有自动定时控制器,很容易设置和使用。也很便宜。
至于冬天夏天的问题,完全可以人去控制。

很明显啊,在测量小于1Hz频率时,测量时间必须大于1s,比如10s,20s或者更长时间,这样才能保证测量准确。

既然你一次定时0.5s不能变,那就有程序控制累加多个0.5s的测量结果再计算频率值。

所以程序中使用自适应方法,首先测量一个0.5s,看得到的频率值是否大于1,如果大于1即直接测量,如果频率值为0,表示被测频率小于1Hz,就转入长时间测量的模式。

在不改变定时时间的前提下,也就是0.5秒定时,是不能实现0.1~2Hz频率的测量的。
你所谓2Hz~10KHz易实现也是基于这个道理。但这个也是理论情况。
当你0.5s内刚好检测到一个脉冲,你认为这个时候是2Hz而不是2.5hz或者3.9hz?
这中间存在一个测量精度的问题。实际上你所测到的信号是在2hz到4hz之间。

实际上我们在测量信号的时候,低频一般会采用测周期,高频用测频才能提高测量的准确性。
至于高低频的临界点,跟你的计数频率有关,感兴趣的话可以去看《电子测量原理》。

下面我来讲下测周实现的方法,可以使用边沿触发的D触发器输出作为单片机的外部定时控制,测量信号作为触发时钟,计数值作为该信号的周期。

写程序的话,可能比较麻烦,说说思路吧,小数点后面的可以用计数的方法,实际上就是在一个输入时钟内,计数,看计数到几,由于单片机的时钟是已知的,所示用计数值乘以时钟周期就可以得出外部输入时钟的,小数点后面部分的周期,从而可得F频率

先把所有的测得的数据X10 ,最后计算之后/10,不就可以了吗?


用51单片机写一个程序:用定时中断T0T1控制4个数码管显示1...
分内容转自:《51单片机C语言创新教程》温子祺等著。原理:软件设计方面使用动态驱动数码管的方式,即要保证当数码管显示时的效果没有闪烁的现象出现,亮 度一致,没有拖尾现象。由于人眼对频率大于对24Hz以上的光的闪烁不敏感,这是利用了人眼视觉暂留的特点。一般来说,每一个数码管点亮时间为1~2ms...

51单片机编写lcd1602显示程序,第一行显示自己的姓名,第二行显示学号_百...
1、首先我们打开Keil μVision编译器,新建一个工程,然后保存在硬盘上的位置,然后选择Atmel-AT89C51单片机为模型,并启动器添加STARTUP.A51文件,然后在当前目录下新建一个C文件,并将其添加入工作路径。2、导入51单片机的头文件以及LCD1602的头文件。3、创建一个延时函数,可以传入想要具体延时的时长,...

求一个51单片机制做一个简单的东西的程序
SETB FLAG1 ; 置标志位,表示DS1820存在 CLR P1.7 ;检查到DS18B20就点亮P1.7LED LJMP TSR5 TSR4:CLR FLAG1 ; 清标志位,表示DS1820不存在 CLR P1.1 ;点亮P1。1脚LED表示温度传感器通信失败 LJMP TSR7 TSR5:MOV R0,#117 TSR6:DJNZ R0,TSR6 ; 时序要求延时一段时间 TSR7:SETB...

请帮忙在51系列单片机系统中,编写一个延时1ms的子程序。谢谢。。_百...
2、然后添加c文件,接下来输入代码,先输入一个头文件命令。3、然后,进行宏定义,代码如图所示。4、然后声明P1口,如下图所示。5、最后,将延时语句全部添加进去,代码按照图中所示的直接敲入即可。6、最后,点击编译,生成HEX文件就可以了,这样51单片机延时语句就完成了。

51单片机怎么用按键控制一个数码管,按一下显示一个数字,顺序显示_百度...
1、首先,要把代码写好,点亮数码管。2、代码写完后,要确认原先写好的代码是不是正确的。3、确认代码无误后,进入下一步,就是在这一行代码(箭头所指)的地方,将这四个字删去。4、然后如图所示,四个字已经删去,只要改成数字相应的代码即可。5、这里改成的是代表数字0的代码,如图所示。6、...

51单片机 写一个程序 0-9的然后用一个按键按一下就可以变成9-0的 不...
include<reg51.h> define uchar unsigned char uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};sbit key=P2^0;bit flag=0;uchar cnt=0,num=0;void t0isr() interrupt 1 { TH0=(65536-50000)\/256;TL0=(65536-50000)%256;cnt++;if(cnt>=20){ cnt=0;P1=table[...

51单片机c语言编写一个流水灯程序,要求如下(不能用数组,8个led指示灯...
while(1) { halfbyteh=0x80; halfbytel=0x01; for(i=0;i<8;i++) { \/\/LED_PORT=halfbyteh|halfbytel;\/\/高电平点亮 LED_PORT=~(halfbyteh|halfbytel);\/\/低电平点亮 halfbyteh=halfbyteh>>1; halfbytel=halfbytel<<1; delay(10); } }} ...

用51单片机设计一个秒表。主要要求: 1.用单片机的定时\/计数器实现一...
KEYVAL EQU 30HDAT EQU 33HSCANLED EQU 39HCLK EQU 77HSEC EQU 78HSEC1 EQU 79HSEC2 EQU 7AHDOT BIT 00HORG 0000HLJMP MAINORG 0003HLJMP EXTINT0ORG 000BHLJMP T0ISR ;50ms定时ORG 001BHLJMP T1ISR ;扫描显示ORG 0030HMAIN:MOV SP,#5FHMOV TMOD,#11HMOV TH0,#03CHMOV TL0,...

用51单片机编程
比如,现在我想执行12D+39D也就是两个十进制数相加这样一个加法(有时候程序处理的需要,数据在单片机中是以BCD码的形式存储的,也就是12H和39H(十六进制),但我们可以人为将它们看为12D和39D(十进制),而且还希望相加以后的结果为51H,也就是说符合十进制运算规则12+39=51,而不是4BH的结果)...

用51单片机可以做哪些制作玩意儿
有利润的可以做防盗报警器,汽车GPS防盗报警器,智能家居远程控制器。等

鸡冠区14752725763: 做用51单片机做一个频率计,测量范围为0.1Hz~10kHz -
伍桑复方: 在不改变定时时间的前提下,也就是0.5秒定时,是不能实现0.1~2Hz频率的测量的.你所谓2Hz~10KHz易实现也是基于这个道理.但这个也是理论情况.当你0.5s内刚好检测到一个脉冲,你认为这个时候是2Hz而不是2.5hz或者3.9hz?这中间存在一个测量精度的问题.实际上你所测到的信号是在2hz到4hz之间.实际上我们在测量信号的时候,低频一般会采用测周期,高频用测频才能提高测量的准确性.至于高低频的临界点,跟你的计数频率有关,感兴趣的话可以去看《电子测量原理》.下面我来讲下测周实现的方法,可以使用边沿触发的D触发器输出作为单片机的外部定时控制,测量信号作为触发时钟,计数值作为该信号的周期.

鸡冠区14752725763: 用51单片机做频率计测量范围1到1Mhz 误差不超过1hz 这个怎么控制误差啊 -
伍桑复方: 肯定达不到!我做过500HZ的高精度时钟!用在特种产品上的!这个误差主要出现在晶振上!其实晶振是最大的误差源!我们采用的是恒温晶振,不知道你有什么更好的方法没有!恒温晶振很贵,我也在找一个更便宜的方法,现在,我的产品的...

鸡冠区14752725763: 用51单片机做频率计实物时那个测量脉冲怎么弄 -
伍桑复方: INT0(INT1)口接脉冲信号,开通INT0(INT1)上升沿或下降沿中断,中断到来时利用T0或T1定时器计算I输入信号2个脉冲之间的脉宽时间,可以达到测量脉冲频率的目的.

鸡冠区14752725763: 基于51单片机的频率计的设计,要求:、测试范围1HZ—200KHZ;可设置波段 选择.用ppt显示,求大神解答! -
伍桑复方: T0最大的计数值为65536,小于要求计数的频率的最大值 采用软件计数的方法来实现,若1s内有A次溢出,最后的T0为B,则输出信号的频率为: f=A*65536+B 所以可以实现0-300KHz的频率检测.可以通过数码管或LCD显示频率值.对于波段来讲,你可以设置好定时器的初始值可以获取.

鸡冠区14752725763: 求用51单片机做 频率计的电路设计图 要求待测频率在1HZ - 1MHZ ,最好能把元器件参数值标注一下 ,跪求!! -
伍桑复方: 建议STC12C5608单片机28脚,LCD1602液晶屏,其余就是晶振12M,2个30p电容协助起振,一个0·1uF电容和一个100uF电容电源滤波,液晶屏需一个10k电位器调整对比度,一个100欧电阻限制LED电流,其余就是些插座插针开关之类,下载程序用USB转TTL数据线,由于你的测频范围太大,所以要会自动量程转换,保证测量精度和范围

鸡冠区14752725763: 测量范围为0.01Hz~10MHz的频率计我想做一个测量范围为0.01Hz~10MHz的频率计,被测信号电压0~5V,0~10V可选,精度高.用什么比较合适?51单片机... -
伍桑复方:[答案] 1T的51可以,标准只参测1M左右,我做过1Hz~1MHz,AT 2051

鸡冠区14752725763: 数字频率计测量频率一般采用什么方法 -
伍桑复方: 简易频率计 一、设计任务与要求 1.设计制作一个简易频率测量电路,实现数码显示. 2.测量范围:10Hz~99.99KHz 3.测量精度: 10Hz. 4. 输入信号幅值:20mV~5V. 5. 显示方式:4位LED数码. 二、方案设计与论证 频率计是用来测量正弦信...

鸡冠区14752725763: 我下个星期要求做一个基于AT89C51系列的单片机的数字频率计设计,希望大家帮帮忙 -
伍桑复方: 数字频率计单片机部分其实是好做得,无非就是用测频法(两个定时器配合,一个定时,一个计数)对付高频信号,用测周法对付低频信号(一个外部中断+一个定时器),程序量虽然有点,不过用C语言的话,也就是500行里面的事.最难的地...

鸡冠区14752725763: 各位朋友好!!! 我想用51单片机做一个计频器,要求能探测(仅仅是探测)到5M频率的脉冲,可以实现吗 -
伍桑复方: 直接测5M脉冲肯定是做不到的,51单片机的机器周期1um,5M脉冲的话周期就是0.2um,单片机一条语句都还没跑完,脉冲就已经跳了好几个了,所以直接测是做不到的,,最直接的方法就是先把脉冲分频之后再用单片机测,到时候把分频系数乘回去就好了

鸡冠区14752725763: 51单片机频率计数. -
伍桑复方: 就是用单片机的T0做定时器定时50MS ,T1做计数器(把两个寄存器都装满 目的是为了来一个脉冲中断一次).就是用把T0进入20次中断(刚好是1s)清除中断标志 停止T1计数 再查询T1中断了多少次. 单片机,全称单片微型计算机(英语:...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网