利用T0作为定时器,T1作为计数器;

主要思路:

1、T1计数,工作模式:方式2;T0计时,工作模式:方式1

2、T1八位计数,赋初值0xFF,打开中断,开始计数(P3.5口输入被测量方波信号)

3、进入T1中断:若TR0=0,则开始计时TR0=1,TH/L1=0xF6(测量十个周期);若TR0=1,则停止计时TR0=0并停止计数TR1=0;记录当前T0计时结果,得方波周期。

注意:

  1. TH/L1=0xF6为测量十个周期,目的是增大测量值,减小测量误差占比。若之间删去则测量一个周期的时间。
  2. T0工作在方式1有十六位,一次最多能够计时71ms(晶振:11.0592MHz)
  3. T0的结果要根据单片机的晶振频率换算成时间,若晶振为11.0592M,则需要×12/11.0592(us)

C51定时器设置

//定时器设置
void Init_T(){TMOD=0x61;  //T1计数工作在2模式;T0计时工作在1模式TL0=0x00;TH0=0x00; //T0初始值0,一共可计时71msTL1=0xFF;TH1=0xFF; //T1初始值255,计数1次触发中断;EA=1;ET1=1;//开启T1中断ET0=1;//开启T0中断TR1=1;TR0=0;
}
//定时器中断设置
void timer1() interrupt 3 using  2{if(!TR0){TH0=0x00;TL0=0x00;TH1=0xF6;TL1=0xF6;TR0=1;}else{TR0=0;TR1=0;time=0;time=TH0;time=time<<8;time=time|TL0;}
}

如果感觉本文有用就点个赞鼓励一下吧@~@

如果有其他精确测量周期的方法或者认为本文有误,欢迎评论区或者私信讨论交流~

51单片机测量方波信号周期相关推荐

  1. 【011】基于51单片机的低频信号发生proteus仿真与实物设计

    ​一.资料内容 (1).基于51单片机的低频信号发生proteus仿真设计一份: (2).基于51单片机的低频信号发生proteus仿真设计keli源代码一份: (3).基于51单片机的低频信号发生A ...

  2. 【Proteus】51单片机交通灯信号模拟仿真示例二

    [Proteus]51单片机交通灯信号模拟仿真示例二 Proteus仿真效果 相关篇<[Proteus]51单片机交通灯信号模拟仿真示例一> 程序代码 /*---------------- ...

  3. 单片机用c语言编写测量波形频率和占空比,单片机测量方波的频率、占空比及相位差的方法...

    1.频率及占空比的测量 如上图所示,当脉冲的上升沿来临时,将定时器打开:紧接着的下降沿来临时,读取定时器的值,假设定时时间为t1:下一个上升沿来临时关闭定时器,读取定时器的值,假设定时时间为t2.t1 ...

  4. 利用51单片机测量电容量

    /* 在博文"时基电路 555 的应用"中,做而论道介绍了使用555构成多谐振荡器,并利用该电路测量电容器容量的方法. 通过合理设计电路,可以使得脉冲周期的 ms 数,等于电容器容 ...

  5. 51单片机测量脉冲频率C程序及protues仿真结果精确

    测定脉冲频率,附带部分PROTUES仿真结果和完整C语言程序,对于初学者或着急使用的电子爱好者来说,软件硬件结合,十分方便移植.仿真结果十分精确,实际应用中可能会存在少许误差,通过相应的电路处理,可以 ...

  6. 110报警声+单片机c语言,用51单片机做发声小玩意及程序

    用51单片机做发声小玩意及程序 "嘀嘀"警报 生活中我们常常到各种各样的报警声,例如"嘀.嘀-"就是常见的一种声音报警声,但对于这种报警声,嘀0.2秒钟,然后断 ...

  7. 单片机考试及答案c语言版,51单片机期末考试试卷及答案

    制作人:兰香子 一.填空题 1.设X=5AH,Y=36H,则X与Y"或"运算为7EH,X与Y的"异或"运算为6CH. 2.若机器的字长为8位,X=17,Y=35 ...

  8. 51单片机期末考试试卷及答案

    一.  填空题 1.设X=5AH ,Y=36H,则 X 与 Y"或"运算为7EH ,X 与 Y 的"异或"运算 为 6CH . 2.若机器的字长为 8 位,X= ...

  9. 单片机c语言警报程序,51单片机产生“嘀、嘀、……”报警声

    生活中我们常常到各种各样的报警声,例如"嘀.嘀.-"就是常见的一种声音报警声,但对于这种报警声,嘀0.2秒钟,然后断0.2秒钟,如此循环下去,假设嘀声的频率为1KHz,则报警声时序 ...

最新文章

  1. Android Bluetooth 文件接收路径修改方法
  2. HTML中的div标签
  3. CVPR 2019笔迹识别论文:逆鉴别网络+八路Attention
  4. zencart产品批量维护系统--视频教程
  5. 解决Qt5 Creator无法切换输入法(fcitx),Ubuntu中不能使用搜狗输入法录入汉字问题...
  6. python给图片加半透明水印_Python 批量加水印就这么简单!
  7. HighChat动态绑定数据 数据后台绑定(三)
  8. python怎么换行继续写脚本_python怎么换行继续写脚本
  9. 解决sea.js引用jQuery提示$ is not a function的问题
  10. python读conf配置文件完成登录_python conf配置文件
  11. Linux中arp表的老化机制
  12. AutoSar之CAN网络管理详解
  13. 结合mahout的数据挖掘算法介绍
  14. 用Qt开发Symbian应用程序总结
  15. cad解除块的快捷命令_CAD解除编组及快捷键命令
  16. 利益相关者软件工程_吸引组织的各个利益相关者的4种方法
  17. Trait和Trait Objec
  18. 李宏毅老师官方授权!《李宏毅机器学习特训营》发布,放心免费学!
  19. H264编码- 码率控制 RQ 模型参数推导过程以及JM代码分析
  20. KOL投放指南(六):如何实现精准找号

热门文章

  1. 我亲眼看到一群人通过游戏推广翻身,推广游戏的主播成为亿级大佬
  2. 用python股票代码_利用Python将股票代码表导入表格
  3. c语言能被3整除且个位是6的整数,求推荐稻盛和夫C语言输出所有200-400之间能被3整除且个位数字为6的整数。...
  4. 计算机软件删除了怎么恢复,卸载的软件怎么恢复,详细教您电脑卸载的软件怎么恢复...
  5. 从零开始搭建一个语音对话机器人
  6. vb.net如何查询电脑麦克风收到声音_笔记本电脑新星横空出世,你还在问什么笔记本电脑性价比高?...
  7. 疑似诈骗的3种手机号码,请提高警惕,很多人都遇到过此类来电
  8. 暴雪:战士新技能战旗以及坦克的PVP问题
  9. 无线路由器的原理解析
  10. alsa-lib和alsa-utils移植