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

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

问答社区

51单片机频率计的中断程序怎么设计

小玉哥6 2015-05-26 01:56:14 491  浏览
  • 有一个信号由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。请问这样可以吗?对于定时器计时器还有中断的使用不大明白,可否简略写下程序。谢谢 展开

参与评论

全部评论(1条)

  • ljx123456aas 2015-05-27 00:00:00
    定时器1 1MS中断一次,5次是5ms,乘200就是1秒种,其初值由晶振频率决定,有计算软件 当然,也可以中断10次或20次,频率判断更准确,但响应速度慢了 1600或800方波接入定时器/计数器0的外部输入引脚上,好像是P3.4 程序如下: void init()//初始化设置 { TMOD=0x15;//定时器0作为计数器,定时器1作为定时器用 TH0=.0;//计数器清0 TL0=0; EA=1;//开总中断 ET1=1;//允许定时器1中断 TH1=......; TL1=.......; TR0=1;//启动计数器 TR1=1;//启动定时器 aa=0; } void main()//主程序很简单 { init();//初始化 while(1)//循环程序 { dd=bb*256+cc;// 5ms的计数值 ee=200*dd;//换算为1秒钟的计数值 if((ee>750)&&(ee<850)) { P3.5=0; } if((ee>1550)&&(ee<1650)) { P3.5=1; } } } void timer1()interrupt 3//注意:定时器1的中断序号为3 { aa++; TH1=....;. TL1=....;. if(aa==5)//中断5次,共5ms { TR0=0;//暂停计数 aa=0; bb=TH0;//读出计数器数据 cc=TL0; TL0=0;//计数器清0 TH0=0; TR0=1;//重新启动计数器 } }

    赞(14)

    回复(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 491 1
基于51单片机用LCD1602液晶显示的频率计程序
求程序——————
2013-04-23 19:11:42 355 1
求一个简易单片机频率计设计程序
频率测量精度为1HZ 误差小于10HZ通过LCD1602显示出来
2010-07-11 07:06:44 523 2
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 404 2
单片机频率计设计
在下想做个频率计用来检测NE555的频率,那请问输入端电路怎么弄,以及程序的测量怎么写?
2015-08-06 12:10:34 532 1
stc12c5a60s2单片机频率计程序
2017-07-07 00:38:42 383 1
你有没有 基于51单片机用LCD1602液晶显示的频率计程序
 
2013-05-20 02:57:49 355 1
单片机频率计的这段程序怎么理解
 
2017-12-05 00:32:59 488 3
51单片机---------基于简单IO口的LCD显示频率计设计
求报告!!!
2013-12-04 17:40:52 416 1
汇编语言 51单片机 器程序
 
2017-04-19 08:39:13 383 1
基于单片机的频率计设计
设计要求设计一个以单片机为核心的频率测量装置。使用AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展6位LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED数码管显示出来。(1)被测频率fx<110Hz,采用测周法,显示频率×××. ×××;fx>1... 设计要求设计一个以单片机为核心的频率测量装置。使用AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展6位LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED数码管显示出来。(1)被测频率fx<110Hz,采用测周法,显示频率×××. ×××;fx>110Hz,采用测频法,显示频率××××××。(2)利用键盘分段测量和自动分段测量。(3)完成单脉冲测量,输入脉冲宽度范围是100ms~0.1s。(4)显示脉冲宽度要求如下。Tx<1000ms,显示脉冲宽度×××。Tx>1000ms,显示脉冲宽度××××。 求大神给个程序,给个设计方,您之前给的失效了,谢谢大神 展开
2016-07-07 19:24:28 349 1
51单片机信号发生器的正弦波程序
voidvout_sin(void)//输出正弦波{floatx;//用于正弦波发生器if(Voutsin())//“正弦波按键”被有效按下do{for(x=-3.1415;x<3.1415;x+=0.1)//正弦波发生器{vout=255*(1+sin(x))/2;//输出... void vout_sin(void) //输出正弦波
{ float x; //用于正弦波发生器
if(Voutsin()) //“正弦波按键”被有效按下
do{
for(x=-3.1415;x<3.1415;x+=0.1) //正弦波发生器
{ vout=255*(1+sin(x))/2; //输出值vout必须大于0
P1=vout;
delay_out();
} } while(P3_0==1&P3_1==1&P3_2==1&P3_4==1) } 此段程序中do{}内的内容不是很理解,希望好心网友帮忙解释一下,财富值不是很多,谢谢了。 展开
2013-04-02 06:51:20 542 3
请教51单片机做频率计的问题
 
2018-05-19 07:18:06 337 1
求51单片机设计数字频率计,附带Proteus仿真和程序
 
2014-05-13 23:13:37 365 1
用51单片机设计信号发生器,
用51单片机设计信号发生器,具体要求如下:1.利用实验板平台设计制作一个信号发生器,能产生10—10KHZ的方波2.能通过键盘输入频率,输入范围为10-10KHZ,超过范围报警提示3.要求输... 用51单片机设计信号发生器,具体要求如下: 1. 利用实验板平台设计制作一个信号发生器,能产生10—10KHZ的方波 2. 能通过键盘输入频率,输入范围为10-10KHZ,超过范围报警提示 3. 要求输出频率误差小于1% 急,,,急,,急............... 展开
2010-12-30 04:45:07 437 2
单片机简易频率计,怎么编程序测正弦信号的?
测方波信号的我知道,就是用计数器来计数,但正弦信号不能这样子的吧。
2011-06-18 10:21:18 452 3
51单片机制作简易数字频率计程序
 
2010-12-09 18:27:45 244 1
温度控制51单片机,DS1820温度传感器的程序
只要一小段,温度加热时候的程序,我要用Keil和proteus编程仿真的,加热到40,60,80的时候分别需要恒定温度一段时间后,在继续加热....... 只要一小段,温度加热时候的程序,我要用Keil 和 proteus 编程仿真的,加热到40,60,80 的时候分别需要恒定温度一段时间后,在继续加热.... 展开
2014-11-16 03:23:05 327 2
怎样设计一个有整流滤波,DA转换的基于51单片机的频率计
 
2012-12-15 05:58:53 358 2
51单片机超声波模块测厚度程序怎么写?
 
2018-12-03 12:10:19 458 0

12月突出贡献榜

推荐主页

最新话题