陳奕婷3144
数字频率计是一种基本的测量仪器。它被广泛应用与航天、电子、测控等领域。它利用VHDL硬件描述语言进行设计,并在EDA(电子设计自动化)工具的帮助下,用大规模可编程器件(CPLD)实现数字频率计的设计原理及相关程序。通过了Max+plusⅡ软件进行仿真、硬件调 ... 你可以去这个网 址看看
crystal85k
频率测量的方法常用的有测频法和测周法两种。
测频法的基本思想是让计数器在闸门信号的控制下计数1秒时间,计数结果是1秒内被测信号的周期数,即被测信号的频率。若被测信号不是矩形脉冲,则应先变换成同频率的矩形脉冲。测频法的原理框图如图所示。
图中,秒脉冲作为闸门信号,当其为高电平时,计数器计数;低电平时,计数器停止计数。显然,在同样的闸门信号作用下,被测信号的频率越高,测量误差越小。当被测频率一定时,闸门信号高电平的时间越长,测量误差越小。但是闸门信号周期越长,测量的响应时间也越长。
2、当被测信号频率较低时,为保证测量精度,常采用测周法。即先测出被测信号的周期,再换算成频率。测周法的实质是把被测信号作为闸门信号。
在它的高电平的时间内,用一个标准频率的信号源作为计数器的时钟脉冲。若计数结果为N,标准信号频率为f1,则被测信号的周期为:T = T1·N。被测信号的频率为:f = 1/T1·N = f1/N。
利用测周法所产生的最大绝对误差,显然也等于±1个标准信号周期。如果被测信号周期的真值为T真= T1·N,则T测= T1·(N±1)σmax= (f测-f真)/ f真= T真/T测 – 1=±1/(N±1)由上式可知,对于一定的被测信号,标准信号的频率越高,则N的值越大,因而相对误差越小。
3、低频段的测量,鉴于上述困难,对于低频信号,为了达到规定的精度,要采取一些比较特殊的方法。例如,可考虑将被测信号倍频后再用测频法测量。
或将闸门信号展宽。由于倍频电路比较复杂,所以一般采用后一种方法,实际上闸门信号展宽与被测信号倍频在效果上是相同的。
闸门信号展宽比较容易做到,例如采用分频电路就可以实现。若闸门信号高电平时间从1秒展宽到10秒,则相对误差可以按比例下降,但响应时间也增大相同的比例。
4、显示方式:共用右边四个数码管,左三个显示数据,最右端一个显示单位,为0时单位为Hz,为1时单位为Khz
5、代码:
//#include<>
#include<>
#include<>
#define uint unsigned int
uint a,b,c,d;
unsigned long x;
unsigned long count;
unsigned char flag=0;
void Timer0_Init()interrupt 1
{
TH0=(65535-10000)/256;
TL0=(65535-10000)%256;
if(++count==40)
{
count=0;
TR1=0;
x=TH1*256+TL1;
TH1=0;
TL1=0;
TR1=1;
flag=1;
}
}
void show(void)
{if(x>=10&&x<100)
{
a=0;
b=x*10%100;
c=x/10;
d=x%10;
ZLG7289_Download(1,7,0,a);
ZLG7289_Download(1,6,0,b);
ZLG7289_Download(1,5,1,d);
ZLG7289_Download(1,4,0,c);
}
else if(x>=100&&x<1000)
{
a=0;
b=x/100;
c=x%100/10;
d=x%10;
ZLG7289_Download(1,7,0,a);
ZLG7289_Download(1,6,1,d);
ZLG7289_Download(1,5,0,c);
ZLG7289_Download(1,4,0,b);
}
else if(x>=1000&&x<10000)
{
a=x/1000;
b=x%1000/100;
c=x%100/10;
d=1;
ZLG7289_Download(1,7,0,d);
ZLG7289_Download(1,6,0,c);
ZLG7289_Download(1,5,0,b);
ZLG7289_Download(1,4,1,a);
}
}
main(void)
{
system_init();
systemclk_init();
port_init();
ZLG7289_Init(40);
ZLG7289_Reset();
timer_init();
while(1)
{
if(flag==1)
{
show();
flag = 0;
}
}}
#include <>
#include <>
void system_init()
{
PCA0MD&=~0x40;
}
void systemclk_init()
{
OSCICL=OSCICL+42; //设置内部振荡器为24MHZ
OSCICN|=0x01; //内部振荡器4分频
}
void port_init()
{
P0SKIP=0x00; //跳过做做INT1(模拟输出不跳)
P1SKIP=0x00; //跳过,,
XBR0=0x00; //交叉开关使能UART0
XBR1=0x60; //打开交叉开关
//IT01CF=0x10; //INT0配置在,INT1配置在
P0MDIN=0xFF; //数字输入
P1MDIN=0xFF;
P0MDOUT=0xFF; //推挽
P1MDOUT=0xFF;
}
void timer_init()
{
TMOD=0X51;
TH0=(65535-2500)/256;
TL0=(65535-2500)%256;
EA=1;
ET0=1;
TR1=1;
TR0=1;
}
#ifndef __port_H_
#define __port_H_
void system_init(void);
void systemclk_init(void);
void port_init(void);
void timer_init(void);
#endif
好好生活2013
1、频率计嘛就是用来测试信号频率的啊!2、用FPGA来做就最简单不过了!3、我做了一个频率范围在,一点都不夸张的,而且精度还很高,比你想象的要高的多!4、软件设计就只要QUARTUS II,很好做的也很容易!5、就连报告也都有的!
翻滚的石榴
你问的也太多了吧。真是舍得用百度啊。1.频率计应该是能对输出的信号的频率进行调整。比如要求输出10kHZ的某种波。指标:频率,波形,占空比,最高电压,最低电压,振幅等。2.可以模块化,你自己参考资料去实现吧。3.依旧百度,百科里有。是基于硬件的编程,相对ASIC很灵活,能调整来实现你的功能。在视频处理,工业控制,DSP上都有很大的使用。他也作为ASIC的模型。
进我空间有答案,这东西嘛,很义贼。
数字时钟 电子时钟毕业设计 全路面起重机 玉米脱粒机的设计 毕业设计 连杆孔研磨装置设计毕业设计 硅胶(RB)手机按键模具分析与制作 注射器盖毕业课程设计说明
频率测量的方法常用的有测频法和测周法两种。 测频法的基本思想是让计数器在闸门信号的控制下计数1秒时间,计数结果是1秒内被测信号的周期数,即被测信号的频率。若被测
你问的也太多了吧。真是舍得用百度啊。1.频率计应该是能对输出的信号的频率进行调整。比如要求输出10kHZ的某种波。指标:频率,波形,占空比,最高电压,最低电压,
这个一般不好确定,因为没个学校的要求都不同,严格程度都不同,所以不能确定。但一般的情况是,专科3000字~~5000字,本科的话应该在6000字~~12000左