找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4278|回复: 7
打印 上一主题 下一主题
收起左侧

关于利用单片机定时器测量外部脉冲宽度的问题

  [复制链接]
跳转到指定楼层
楼主
ID:450037 发表于 2019-3-7 09:58 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
为什么定时器关闭之后,只把TL0给A啊,假如脉冲很长,TH0也有数值呢。

mmexport1551921419250.jpg (223.19 KB, 下载次数: 19)

mmexport1551921419250.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2019-3-8 08:52 | 只看该作者
很长,你就增加一个计数器,数TH计满的次数不就行了吗?
回复

使用道具 举报

板凳
ID:401564 发表于 2019-3-8 11:35 | 只看该作者
哥们为何如此的执着于看别人的程序呢?这汇编,你自己不动手是不可能学会的了,看得懂和自己能写,这是完全不同的一回事呀!
“作者懒呀!”
我是这么告诉你了吧?他只管把TL1的值送去显示了,为了不管TH1了呢?就算是TH1和TL1一块算也才65535,这万一脉冲超过65535了呢?
8051是一个8位单片机,它只能处理256以下的数据。如果脉冲的时间超过了256,比如是:1234,那么与之对应的16进制就是:04D2H,高8位地址存放04H,低8位地址存放0D2H,如果你想把1234在数码管或者是在12864上显示出来,你得先把1234分解成“1”,“2”,“3”,“4”分别存放在四个地址,这得用到除法运算,超过8位的8051没有除法的汇编指令,只能用减法运算来实现。且得是高低两个地址参与运算,一共就是四个地址。
这前前后后加显示一块,至少得是一百行代码以上,到时候会越扯越多,所以“将数据送显示缓存区并转换成可显示的代码”,很显然比我前面所说的简单多了
回复

使用道具 举报

地板
ID:18297 发表于 2019-3-8 14:36 | 只看该作者
1、假设你的定时时间<256,TL0的读书就是你的定时时间。(TL0初值=0)这里的TH0=0;不需要计算。
2、256<假设你的定时时间<65535,TH0*256+TL0就是你的定时时间(TH0,TL0的初值都为0)
3、假设你的定时时间>65535;
   你可以设置初值TH0=(65535-50000)/256;
                        TL0=(65535-50000)%256;
            设置累加计算器count=0;
  设置定时器0溢出中断,每一次溢出中断一次count加1,并重新装载TH0,TL0初值。
你所的测量时间是50000*count+(TH0*256+TL0);
回复

使用道具 举报

5#
ID:213173 发表于 2019-3-8 22:50 | 只看该作者
只看书,不动手,真是死脑筋。假如脉冲很长,定时器寄存器计满溢出会重复计数,只要把溢出次数保存起来,最后加上TH0、TL0的数不就成了,你这个脉冲再怎么宽,呵呵,只要不断电,几年都行。
回复

使用道具 举报

6#
ID:450037 发表于 2019-3-9 20:44 来自手机 | 只看该作者
wulin 发表于 2019-3-8 22:50
只看书,不动手,真是死脑筋。假如脉冲很长,定时器寄存器计满溢出会重复计数,只要把溢出次数保存起来,最 ...

关键这题他没有加溢出次数累加器啊,怎么知道他溢出多少次呢
回复

使用道具 举报

7#
ID:213173 发表于 2019-3-10 09:42 | 只看该作者
zhangzhao2423 发表于 2019-3-9 20:44
关键这题他没有加溢出次数累加器啊,怎么知道他溢出多少次呢

教科书的例题只是假定某一特定条件的应用。在这里假定脉冲宽度小于255个机器时钟周期,只计算TL0当然可以。如果脉冲宽度小于65536、大于255个机器时钟周期就要计算(TH0<<8)|TL0,如果脉冲宽度大于65535就要计算x=(count<<16)|(TH0<<8)|TL0;
回复

使用道具 举报

8#
ID:478073 发表于 2019-3-10 12:52 | 只看该作者
在网上找个频率计的案子看看,脉冲宽度与频率分不开,懂得担相互联系就能解决

评分

参与人数 8黑币 +111 收起 理由
还有谁? + 14
正规007 + 15
sheng7533967 + 8
yoxi + 16
站着说话不腰疼 + 16
#include51.h + 16
找人PK + 16
微小苛 + 10

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表