51单片机测量方波信号周期

2023-11-08

利用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,一共可计时71ms
	TL1=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;
	}	
}

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

51单片机测量方波信号周期 的相关文章

  • 运算放大器积分电路及积分电路设计

    运算放大器积分电路及积分电路设计 积分电路 Integrator circuit 在运算放大器积分器电路中 电容器插入反馈环路中 并在反相输入端与R1一起产生一个RC时间常数 积分的物理意义 积分的物理意义我们经常会使用到 例如下面的几个例
  • 交叉编译Cubietruck的u-boot

    1 下载u boot源码 mkdir cubietruck cd cubietruck git clone https github com linux sunxi u boot sunxi git
  • CSS基础之动画

    动画 1 过渡 需要结合鼠标 动画 网页只要运行动画就可以立即生效 创建动画的方式 1 方式一 from 起点 to 终点 keyframes 动画的名字 from to 2 方式二 keyframes 动画的名字 0 100 如果一个元素
  • ICPC Latin American Regional – 2017 Jumping Frog

    Pog the Frog wants to compete in the World Frog Jump competition which will take place in Nlogonia In the competition ea
  • 前端代码规范

    9个前端代码规范秘籍 让你也能写出诗一样的代码 9个秘籍里边有6个文档 1本书和2个工具 如果你耐心看完 一定会提升代码质量 让你写出漂亮的代码 第一个秘籍 京东凹凸实验室前端代码规范 网址是 https guide aotu io 如果你
  • CTFHub技能树 Web-SQL注入 详解

    目录 整数型注入 字符型注入 报错注入 布尔盲注 时间盲注 MySQL结构 Cookie注入 UA注入 Refer注入 过滤空格 整数型注入 我们输入 1 不断尝试发现闭合方式就是 1 整数型 存在两列 order by 2 存在两个注入点

随机推荐

  • JBOSS4.2.2 Spring2.0.8 web中调用EJB异常

    从容器外能够正常调用EJB 但是web 应用中spring bean调用EJB出现下面异常
  • 深度学习分类基础概念对ACC、PPV、TPR、TNR

    举个例子 ACC 10 15 20 10 1 2 3 14 4 5 6 20 PPV 猫 10 10 1 2 解释 这里的1和2是因为狗 猪分类错误 分到了猫 PPV 狗 15 15 3 4 PPV 猪 20 20 5 6 TPR 猫 10
  • UDP与TCP报头介绍,三次握手与四次挥手详谈

    先介绍我们UDP TCP协议缓冲区 在UDP和TCP在数据传输和介绍时有有缓冲区概念的 UDP缓冲区 UDP没有真正意义上的 发送缓冲区 调用sendto会直接交给内核 由内核将数据传给网络层协议进行后 续的传输动作 UDP具有接收缓冲区
  • Python—retrying模块的使用

    使用超时参数能够加快我们整体的运行速度 但是在普通的生活中当我们使用浏览器访问网页时 如果发生速度很慢的情况 我们会做的选择是刷新页面 那么在代码中 我们是否也可以刷新请求呢 对应的 retrying模块就可以帮助我们解决 1 retryi
  • Quality Center设置开发人员修改bug状态

    使用QC时遇到了一个问题 将开发人员分配到QC默认的Developer的组中后 开发人员不能修改bug的状态 提示无权限操作 经查看原来是QC默认的Developer组对bug的权限没有 新建 gt 打开 这一操作 只有Project Ma
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据

    系列文章 python网络爬虫专栏 目录 序言 本节学习目标 特别申明 4 7 使用BeautfulSoup解析h
  • Idea项目爆红

    解决办法 方案一 重新加载Maven依赖 方案二 清除缓存 方案三 在当前项目下执行以下命令 重新生成 iml文件 mvn idea module
  • 利用java制作桌面应用程序_Java桌面应用

    对于作Java桌面应用来说 比较烦人的就是安装部署问题 客户端是否安装有jre jre版本问题 jre去哪下载 如 何用jre启动你的Java应 用 不要说刚接触电脑的人 就算是比较熟悉电脑 如果没有接触过Java 面对一个Java应用 如
  • Mysql复习总结

    目录标题 数据库特性 原子性 一致性 隔离性 持久性 Mysql事务所存在的问题 数据库隔离级别 Mysql中的log bin log VS redo log MVCC ACID如何被保证的 存储引擎 Innodb 和 MyISAM Inn
  • 百度云盘分享:MySQL零基础入门视频教程!

    百度云盘分享 MySQL零基础入门视频教程 首先给大家介绍一下数据库工程师 数据库工程师 Database Engineer 是从事管理和维护数据库管理系统 DBMS 的相关工作人员的统称 他属于运维工程师的一个分支 主要负责业务数据库从设
  • spark内存调优

    executor内存 1 RDD存储 persist cache操作 RDD持久化在executor中 注 UnifiedMemoryManager模式可设置spark storage memoryFraction调节 默认0 6 2 sh
  • 机器学习——决策树/随机森林

    0 前言 决策树可以做分类也可以做回归 决策树容易过拟合 决策树算法的基本原理是依据信息学熵的概念设计的 Logistic回归和贝叶斯是基于概率论 熵最早起源于物理学 在信息学当中表示不确定性的度量 熵值越大表示不确定性越大 ID3算法就是
  • nginx启动报错

    nginx启动报错 nginx报错如下 nginx emerg bind to 0 0 0 0 80 failed 10013 An attempt was made to access a socket in a way forbidde
  • python爬虫xpath教程

    环境准备 pycharm 撩妹神器 人手一个 lxml python的三方库 如果电脑里没有安装lxml的伙伴 可以安装一下 在控制台输入pip intall https pypi douban com simple lxml 利用国外的源
  • Vim编辑器

    1 Vim两种状态 命令状态 按i或者a可以进入编辑状态 编辑状态 左下角有insert 在命令状态下 有一些常用命令 新增 a 从光标后开始添加文本 A 从光标所在行的末尾开始添加文本 插入 i 从光标前面开始插入文本 I 从光标所在行的
  • 谈谈Linux下动态库查找路径的问题

    p p div class Blog wz1 span style font size 16px nbsp nbsp nbsp 学习到了一个阶段之后 就需要不断的总结 沉淀 清零 然后才能继续 上路 回想起自己当年刚接触Linux时 不管是
  • 笔记︱几款多模态向量检索引擎:Faiss 、milvus、Proxima、vearch、Jina等

    转自 https zhuanlan zhihu com p 364923722 引用文章 7 的开篇 来表示什么是 向量化搜索 人工智能算法可以对物理世界的人 物 场景所产生各种非结构化数据 如语音 图片 视频 语言文字 行为等 进行抽象
  • 关于keil卡在systeminit中,然后出现void HardFault_Handler(void)的几个问题详解

    版权声明 本文为博主原创文章 未经博主允许不得转载 https blog csdn net u013184273 article details 83860802 相信很多程序员在用keil的时候都会遇到在仿真调试时 一直停在SystemI
  • linux系统下更改pip默认下载源

    linux系统下更改pip默认下载源 很多教程让你创建什么什么文件的 不需要啊 不需要 我是用conda创建的虚拟环境 但是我喜欢用pip下载 在虚拟环境里面改这个配置就一句话 pip config set global index url
  • 51单片机测量方波信号周期

    利用T0作为定时器 T1作为计数器 主要思路 1 T1计数 工作模式 方式2 T0计时 工作模式 方式1 2 T1八位计数 赋初值0xFF 打开中断 开始计数 P3 5口输入被测量方波信号 3 进入T1中断 若TR0 0 则开始计时TR0