怎样用一般的IO口检测100hz左右的方波的占空比

[复制链接]
5433|10
 楼主| xieweibiao 发表于 2008-11-30 15:00 | 显示全部楼层 |阅读模式
用什么方法来测100hz左右的方波的占空比?我通过定时器来计数算出占空比,可是不行的好像!麻烦高手指点一下!
yewuyi 发表于 2008-11-30 19:53 | 显示全部楼层

捕获方式测量电平宽度如何?

或者使用电平中断方式,你期望的测量精度是多少呢?
lifengtao 发表于 2008-11-30 20:09 | 显示全部楼层

呵呵

如果没算错的话,100HZ是10ms的周期。想精确的话,上升沿中断,之后弄几个寄存器不停的累计加1计时,直到低电平为止。系统晶振4M以下。
 楼主| xieweibiao 发表于 2008-12-1 12:19 | 显示全部楼层

怎样用一般的IO口检测100hz左右的方波的占空比

楼上的大哥,我想不用定时器和中断行不行啊?
yewuyi 发表于 2008-12-1 13:05 | 显示全部楼层

为什么不用呢?

即使用捕获的方式,其实也是用了定时器的啊。。。
 楼主| xieweibiao 发表于 2008-12-1 18:17 | 显示全部楼层

怎样用一般的IO口检测100hz左右的方波的占空比

我用以下程序来算高电平的时间,但结果不行,请教高手!<br />void&nbsp;interrupt()<br />{<br />溢出标志清零;<br />付初值;<br />计数值变量;<br />}<br /><br />if(输入==1)<br />{<br />启动定时器<br />}<br /><br />if(输入==0)<br />{<br />关闭定时器<br />}<br />
兰天白云 发表于 2008-12-2 08:33 | 显示全部楼层

以下完全错误

if(输入==1)<br />{<br />启动定时器<br />}<br />
李冬发 发表于 2008-12-2 12:11 | 显示全部楼层

用计数器的gate功能

  
 楼主| xieweibiao 发表于 2008-12-2 12:33 | 显示全部楼层

怎样用一般的IO口检测100hz左右的方波的占空比

if(输入==1)<br />{<br />启动定时器<br />}<br />为什么是错误的啊?麻烦大哥指点一下吧!
谈的元 发表于 2008-12-3 18:06 | 显示全部楼层

PIC的计数器,你就不要关闭了,

if(输入==1)<br />{<br />启动定时器<br />}<br />为什么是错误的啊?麻烦大哥指点一下吧!<br />;;;;;;;;;;;;;;;<br />你怎么启动?你想想一个周期,你会启动多少次?该程序会执行多少次?<br />每启动一次,要损失时间的<br />;;;;;;;;;;;;;;;;<br /><br /><br /><br />
bob.xue 发表于 2008-12-8 20:24 | 显示全部楼层

板凳

学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

33

帖子

1

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