仪器网(yiqi.com)欢迎您!

| 注册 登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-产品库- 视频

问答社区

51单片机开发板做频率计 ,测峰峰值和频率

Q沂水润八方 2018-11-11 06:55:51 322  浏览
  • 用郭天祥的TX-1c开发板要做一个频率计,我写了一段代码,能实现测频率,但1602液晶上满屏雪花,峰峰值不知道怎么从一系列AD转换过来的值提取,同时这两种功能的定时器会重复,希望有知道的人为我解答一下。

参与评论

全部评论(0条)

获取验证码
我已经阅读并接受《仪器网服务协议》

热门问答

51单片机开发板做频率计 ,测峰峰值和频率
用郭天祥的TX-1c开发板要做一个频率计,我写了一段代码,能实现测频率,但1602液晶上满屏雪花,峰峰值不知道怎么从一系列AD转换过来的值提取,同时这两种功能的定时器会重复,希望有知道的人为我解答一下。
2018-11-11 06:55:51 322 0
请教51单片机做频率计的问题
 
2018-05-19 07:18:06 311 1
51单片机电子频率计
电子频率计 (一)功能简述 数字频率计在计算机、通讯等科研领域是不可缺少的测量仪器。电子专业人才考试专用板板载NE555芯片,通过电位器Rb3可调节方波的参数。 (二)设计要求 1. 通过导线将硬件资源板上的Signal与单片机的P3.4口(定时/计数... 电子频率计 (一)功能简述 数字频率计在计算机、通讯等科研领域是不可缺少的测量仪器。电子专业人才考试专用板板载NE555芯片,通过电位器Rb3可调节方波的参数。 (二)设计要求 1. 通过导线将硬件资源板上的Signal与单片机的P3.4口(定时/计数器T0)相连接。 2. 使用四位八段共阳数码管显示信号频率。 3. 当信号频率在低于10Khz时,所有LED灯处于熄灭状态,数码管显示的频率单位为Hz。 4. 当频率超过10Khz时,与P1.0端口相连接的LED灯点亮,数码管显示的频率单位调整为Khz。 5. 要求可对0-250Khz的方波信号进行测量,要求误差不超过1%。 6. 考试过程中,应使用硬件平台指定的资源进行设计。 (三)设计文档 1. 系统示意图和程序流程图(提交WORD文档) 2. 电路原理图(Protel或Proteus文档) 3. 源程序(C或汇编) 展开
2014-08-02 01:25:22 350 2
51单片机做频率计,为什么两个数码管一直是00无法检测到频率
#include #define uchar unsigned char #define uint unsigned int uchar f,num,shi,ge; bit flag; sbit dula=P2^6; sbit wela=P2^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c... #include #define uchar unsigned char #define uint unsigned int uchar f,num,shi,ge; bit flag; sbit dula=P2^6; sbit wela=P2^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(uint z)//延时函数 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void display(uchar shi,uchar ge) { dula=1; P0=table[shi]; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(5); dula=1; P0=table[ge]; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(5); } void main() {f=0;num=0;
IP=0x02; //T0优先级高
TMOD=0x15; //TI定时。T0计数
TH0=0; //T0初值
TL0=0;
TH1=(65535-45872)/256; //T1初值50ms
TL1=(65535-45872)%256;
EA=1; // 开总中断
ET0=1; // 开定时器T0中断
TR0=1; // 开T0自启动方式开关
ET1=1; // 开定时器T0中断
TR1=1;
while(1)
{if(flag==1)
{shi=f/10;
ge=f%10;
flag=0;
f=0;
TH0=0;
TL0=0;
TR1=1;
} display(shi,ge); } } void T0time() interrupt 1 using 0 //T0计数 { f++; } void T1time() interrupt 3 using 1//定时器 { TH1=(65535-45872)/256; // 重装初值 TL1=(65535-45872)%256; num++; //自加一次 50ms if(num==20) // 判断是否为一秒 { num=0; TR1=0; flag=1; } } 展开
2018-11-19 21:55:11 381 0
哪种51单片机开发板上可以接有气体传感器
 
2012-10-09 02:42:59 400 5
怎样用单片机做频率计
 
2011-10-09 00:21:18 309 4
用51单片机做频率计实物时那个测量脉冲怎么弄
 
2018-12-02 00:12:27 311 0
51单片机频率计的中断程序怎么设计
有一个信号由200hz的NRZ码控制输出两个频率不同的方波(1600,800)。现在要还原,如果检测到1600则p3.5输出高电平,800则输出低电平。我的设想是定时一个5ms的中断,对输入的方波电平0→1进行计数。计数值大于(8+4)/2=6的话输出1,小于输出0。请问这样可以... 有一个信号由200hz的NRZ码控制输出两个频率不同的方波(1600,800)。现在要还原,如果检测到1600则p3.5输出高电平,800则输出低电平。我的设想是定时一个5ms的中断,对输入的方波电平0→1进行计数。计数值大于(8+4)/2=6的话输出1,小于输出0。请问这样可以吗?对于定时器计时器还有中断的使用不大明白,可否简略写下程序。谢谢 展开
2015-05-26 01:56:14 446 1
基于51单片机用LCD1602液晶显示的频率计程序
求程序——————
2013-04-23 19:11:42 321 1
怎样用51单片机采集555计时器的频率?
 
2012-12-02 03:49:38 351 3
示波器峰峰值5V频率1000HZ时,周期是多少
 
2012-03-28 16:04:12 391 2
泰克示波器怎么测峰峰值
 
2012-05-02 09:15:35 312 2
用示波器、频率计 测人声频率
我在物理书上看到ZYC的频率是264Hz,便想把话筒接在示波器上测量我自己唱ZYC这个音跑没跑调。可是,显示的波形几乎难以分辨一个周期,频率计测出的频率也差的离谱。然而我敲击264HZ的音叉,测得的波形和频率效果很好。这是怎么回事?(ps,我不是五音不全... 我在物理书上看到ZYC的频率是264Hz,便想把话筒接在示波器上测量我自己唱ZYC这个音跑没跑调。可是,显示的波形几乎难以分辨一个周期,频率计测出的频率也差的离谱。然而我敲击264HZ的音叉,测得的波形和频率效果很好。这是怎么回事?(ps,我不是五音不全的那种人!!!!!!!!!!!!!!)还有,有什么办法能用以上器材测出具有音乐音高意义的声音频率?  没法FFT的。   展开
2011-06-16 07:06:02 376 3
单片机频率计
求课程设计--单片机频率计
2018-11-10 22:45:41 210 0
单片机频率计
一、基本原理 使用555产生矩形波信号,输入到单片机进行测量频率。 测频的方案有多种: 1、测周法:通过测量被测信号的周期的倒数得到频率,选用适当的时基,以被测信号作为计数的闸门进行测量,得到闸门内的计数值,与时基相乘即为被测信号的周期,周期... 一、基本原理 使用555产生矩形波信号,输入到单片机进行测量频率。 测频的方案有多种: 1、测周法:通过测量被测信号的周期的倒数得到频率,选用适当的时基,以被测信号作为计数的闸门进行测量,得到闸门内的计数值,与时基相乘即为被测信号的周期,周期的倒数即为频率。该法适合测量频率低的信号。 2、测频法:通过频率的定义即单位时间的脉冲数,得到被测信号的频率。选用适当的时基,如1秒,以此作为计数闸门,得到闸门内的计数值即为信号的频率。该法适合测量频率高的信号。 二、参考电路框图 三、参考程序流程图 展开
2011-09-19 20:15:31 453 1
纹波和峰峰值 有什么区别?
请问 纹波和峰峰值 有什么区别?用示波器测量纹波时为什么要将耦合coupling 设置为DC. 而设置为AC时,测量值就超出上限,测试的产品不能PASS?
2017-09-06 04:37:08 787 2
用51单片机做的简易频率计为什么在高频段数码管就开始闪了
采用测频法测外部信号的频率,T1,定时一秒,方式2;T0,计数,方式1,低频段的时候显示正常,高频段数码管就闪,为什么呢 #include #define uchar unsigned char #define uint unsigned int uchar code t[]={0x3f,0x06,0x5b,0x4f,0x66,0x6...
2013-06-12 00:16:56 435 2
51单片机频率计,程序中时间按道理来说应该是只测了半个周期
应该乘以2才能得到一个周期,但是我乘以4后才能得到正确结果,为什么呢,程序如下: void main() { initlcd();//液晶显示初始化 CT_init();//定时计数器初始化 EA=1;//开总中断 EX0=1;//允许外部中断 IT0=1;//设置外部中断方式为下降沿触发 ... 应该乘以2才能得到一个周期,但是我乘以4后才能得到正确结果,为什么呢,程序如下: void main() { initlcd();//液晶显示初始化 CT_init();//定时计数器初始化 EA=1;//开总中断 EX0=1;//允许外部中断 IT0=1;//设置外部中断方式为下降沿触发 P3=0xff; while(1) { t0=u*65536+x;//计算脉冲时间宽度 f=1000000/(4*t0);//计算频率 c=f*100;//计算结果逐位保存 a[9]=c%10+48; a[8]=(c/10)%10+48; c=f; a[6]=c%10+48; a[5]=(c/10)%10+48; a[4]=(c/100)%10+48; a[3]=(c/1000)%10+48; a[2]=(c/10000)%10+48; write_com(0x80); for(i=0;i<=11;i++) { write_data(a[i]); delay(10); } } } void CT_init()//定时计数器初始化 { TMOD=0x99;//GATE=1,T0工作在方式1,定时方式 TH0=0;//定时计数器初值清零 TL0=0; TR0=1;//TR0置位,此时定时计数器的启动有INT0引脚电平决定 ET0=1;//开中断 } void ITC0() interrupt 0//外部中断0服务程序 { u=m;//读定时计数器0溢出次数 m=0;//溢出次数清零 x=TH0*256+TL0;//读定时计数器0当前值 TH0=0;//定时计数器0清零 TL0=0; } void TIME0() interrupt 1//定时计数器0溢出中断 { m++;//溢出次数加1 } 展开
2015-05-25 02:54:24 566 1
频率计如何测对讲机的发射频率
 
2012-11-17 17:57:13 401 2

5月突出贡献榜

推荐主页

最新话题