打印

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

[复制链接]
4255|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左右的方波的占空比

楼上的大哥,我想不用定时器和中断行不行啊?

使用特权

评论回复
5
yewuyi| | 2008-12-1 13:05 | 只看该作者

为什么不用呢?

即使用捕获的方式,其实也是用了定时器的啊。。。

使用特权

评论回复
6
xieweibiao|  楼主 | 2008-12-1 18:17 | 只看该作者

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

我用以下程序来算高电平的时间,但结果不行,请教高手!
void interrupt()
{
溢出标志清零;
付初值;
计数值变量;
}

if(输入==1)
{
启动定时器
}

if(输入==0)
{
关闭定时器
}

使用特权

评论回复
7
兰天白云| | 2008-12-2 08:33 | 只看该作者

以下完全错误

if(输入==1)
{
启动定时器
}

使用特权

评论回复
8
李冬发| | 2008-12-2 12:11 | 只看该作者

用计数器的gate功能

使用特权

评论回复
9
xieweibiao|  楼主 | 2008-12-2 12:33 | 只看该作者

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

if(输入==1)
{
启动定时器
}
为什么是错误的啊?麻烦大哥指点一下吧!

使用特权

评论回复
10
谈的元| | 2008-12-3 18:06 | 只看该作者

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

if(输入==1)
{
启动定时器
}
为什么是错误的啊?麻烦大哥指点一下吧!
;;;;;;;;;;;;;;;
你怎么启动?你想想一个周期,你会启动多少次?该程序会执行多少次?
每启动一次,要损失时间的
;;;;;;;;;;;;;;;;



使用特权

评论回复
11
bob.xue| | 2008-12-8 20:24 | 只看该作者

板凳

学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

33

帖子

1

粉丝