怎样用51单片机定时器测一个高电平的持续的时间?谢谢

 我来答
百度网友cc21aee
推荐于2017-09-16 · TA获得超过2044个赞
知道小有建树答主
回答量:1273
采纳率:100%
帮助的人:1230万
展开全部
给你提供个思路,以12M晶振为例,

如果高电平时间比较短(大概35ms以内)可以使用外部中断的下降沿中断,当外部中断发生时关闭定时器,记录定时器TH0TL0的值,记录的定时器TH0TL0的值就是高电平的时间、等待中断输入引脚电平为高电平,清零TH0TL0并启动定时器,反复循环。

如果高电平的时间大于35ms,则需要打开定时器中断,定时器溢出一次中断溢出次数Count++,用外部中断的下降沿中断,当外部中断发生时关闭定时器,记录定时器TH0TL0的值、计算高电平时间(高电平时间=定时器的值+Count*定时器的溢出时间),清零Count,等待中断输入引脚电平为高电平,清零TH0TL0并启动定时器,反复循环。
百度网友186dfeac08
2014-04-27 · TA获得超过754个赞
知道小有建树答主
回答量:1074
采纳率:50%
帮助的人:534万
展开全部
用一个IO口检测电平,同时打开定时计数器进行计时。
一直到高电平变低,然后关闭定时计数器。

例如,你用12M时钟,那么计数器每计一个数,用时1us。假如计时器关闭时数据为250,
那么高电平时间就是250*1us=250us。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liu13538919015
2014-04-27 · TA获得超过310个赞
知道小有建树答主
回答量:659
采纳率:0%
帮助的人:118万
展开全部
想用数码管显示出来?
还只是想中断时间?
想中断时间的话用Proteus的虚拟仪器模式里的第一个可以测
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式