技术求助--如何得到脉冲宽度?

[复制链接]
3161|16
 楼主| zjh006 发表于 2007-5-8 10:59 | 显示全部楼层 |阅读模式
我现在在使用一颗mcu,它只有一个8位的timer,但是没有中断,也没有timer溢出标志,现在如何利用这个timer测得一个外部脉冲的宽度(这个宽度值为不定值)。
ayb_ice 发表于 2007-5-8 11:09 | 显示全部楼层

只能用查询法,建议换MCU....

 楼主| zjh006 发表于 2007-5-8 11:13 | 显示全部楼层

如果能换mcu也就不头疼了

这样的mcu便宜,老板不愿换
能具体说说怎样的查询法吗?谢了。
conwh 发表于 2007-5-8 11:14 | 显示全部楼层

同LS,计数,精度为定时器参数决定

 楼主| zjh006 发表于 2007-5-8 11:21 | 显示全部楼层

计数能测到得宽度太有限了

计数能测到得宽度太有限了,如果定时器溢出了,脉冲还没有结束,怎么办呢?
ayb_ice 发表于 2007-5-8 13:14 | 显示全部楼层

可以对溢出进行计数,即用软件扩展8位定时器...

可以对溢出进行计数,即用软件扩展8位定时器...
没有中断不可能做的准确,更何况脉冲宽度是一定的范围...
yewuyi 发表于 2007-5-8 13:40 | 显示全部楼层

16C57C?

软件扩展8位定时器...
 楼主| zjh006 发表于 2007-5-8 14:17 | 显示全部楼层

刚才的繁体出错了

TMBcnt 为计数器倒数计数过程中的数值,可以读取    
须注意在读取 TMBcnt时应先关闭TMB之计时(TMBen=0), 
以避免读到TMBcnt计时的暂态值,而导致错误判断.
ayb_ice 发表于 2007-5-8 14:18 | 显示全部楼层

论说运行时不可以读....

论说运行时不可以读...
照你这么说这个定时器还有什么用...
PIC的低档MCU这方面确实不可思议...
lanmp 发表于 2007-5-8 17:23 | 显示全部楼层

如果光干这一件事

能行。
yewuyi 发表于 2007-5-8 17:28 | 显示全部楼层

从他的描述看,不是PIC16C57C

应当是台湾佬出的兼容品
conwh 发表于 2007-5-8 18:20 | 显示全部楼层

不行的话就数机器周期,再折算为时间.麻烦了点

stycx 发表于 2007-5-8 18:25 | 显示全部楼层

外部脉冲的宽度为不定值?? 总得有个范围吧

ayb_ice 发表于 2007-5-9 09:17 | 显示全部楼层

假设周期是最大值1S

假设周期是1S,查询时不能做其它事情,否则严重影响精度,然而1S后再去处理其它事情又严重影响实时性,甚至不能接受,何况测量不同的周期导致实时性差异太大....
结论这样的方案是不可行的...
 楼主| zjh006 发表于 2007-5-9 09:42 | 显示全部楼层

确实不是pic的ic,是台湾的

不知道开发ic的时候怎么想的
这样的定时器有什么用处

我要测得脉冲宽度范围在200ms以内
yewuyi 发表于 2007-5-10 08:28 | 显示全部楼层

完全可以使用

只是你的处理方法不当罢了,请注意:不要修改定时器的数值,你只要在恰当的周期内不断调用前后定时器数值状态进行比较即可,溢出即软件进位。



给你原子弹可以杀人,给你枪也可以杀人,给你一把稻草,能不能杀人就看你是如何开动脑筋的了……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

610

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部