请问怎样用89C51采集多路脉冲信号?
时间:12-02
来源:互联网
点击:
问:怎样用89C51采集多路脉冲信号? 脉冲信号是一方波,需要用89C51进行脉冲计数,如果一路的话是不是可以用计数器啊?如果路数较多呢?
答:
要看频率多高,如果不高可以通过查询实现多路计数。(yanggt)2005-3-5 14:15:00
频率在1-3000Hz之间,好实现吗?(athome)2005-3-5 16:22:36
3000Hz,十几路也没问题。(yanggt)2005-3-5 22:55:08
yanggt:能指点的具体一点吗?我悟性差,两天也没悟出来!(athome)2005-3-11 15:56:35
比如说采样8路信号,把8路信号接在单片机某个口上(如p1口), 然后以信号的最高频率的两倍定时读取这个口上的信号,如果某一位发生了电平变化,改路计数值就加一,同理,十几路也可以同样处理。(cjs)2005-3-11 16:36:12 -35
防万一,先向采集脚写1,再读入(禤显佳)2005-3-11 16:50:53
加上一句,要以最小的信號的寬度計算頻率.
比如,一個脈衝高(低)電平為1us,低(高)電平為1ms,
你不能說是1khz,而應是1mhz.
统计1秒内各路信号发生跳变的次数,然后分别除以2,结果就是频率。(yanggt)2005-3-12 14:42:56
几条指令供你参考:
MOVB, P1
CLP:MOVA, P1
XCHA, B
XRLA, B;发生跳变的引脚对应的
位=1
CCH0:JNBACC.0, CCH1
INCCNTR0
...
...
CCH1:JNBACC.1, CCH2
2005-3-12 14:47:19
谢谢各位鼎力相助,只是觉得有些地方不妥,比如--
比如,如果键盘或者液晶屏或者其它某地方发生中断要求处理,或
者某地方需要精确延时,耽误了P1口的查询,不是很容易丢失脉冲
数吗?
这些就需要编程技巧了,都可以解决。
“如果键盘或者液晶屏或者其它某地方发生中断要求处理",这些是不
会经常发生的。有足够的时间处理他们。
"某地方需要精确延时,耽误了P1口的查询",还有定时器呢!
答:
要看频率多高,如果不高可以通过查询实现多路计数。(yanggt)2005-3-5 14:15:00
频率在1-3000Hz之间,好实现吗?(athome)2005-3-5 16:22:36
3000Hz,十几路也没问题。(yanggt)2005-3-5 22:55:08
yanggt:能指点的具体一点吗?我悟性差,两天也没悟出来!(athome)2005-3-11 15:56:35
比如说采样8路信号,把8路信号接在单片机某个口上(如p1口), 然后以信号的最高频率的两倍定时读取这个口上的信号,如果某一位发生了电平变化,改路计数值就加一,同理,十几路也可以同样处理。(cjs)2005-3-11 16:36:12 -35
防万一,先向采集脚写1,再读入(禤显佳)2005-3-11 16:50:53
加上一句,要以最小的信號的寬度計算頻率.
比如,一個脈衝高(低)電平為1us,低(高)電平為1ms,
你不能說是1khz,而應是1mhz.
统计1秒内各路信号发生跳变的次数,然后分别除以2,结果就是频率。(yanggt)2005-3-12 14:42:56
几条指令供你参考:
MOVB, P1
CLP:MOVA, P1
XCHA, B
XRLA, B;发生跳变的引脚对应的
位=1
CCH0:JNBACC.0, CCH1
INCCNTR0
...
...
CCH1:JNBACC.1, CCH2
2005-3-12 14:47:19
谢谢各位鼎力相助,只是觉得有些地方不妥,比如--
比如,如果键盘或者液晶屏或者其它某地方发生中断要求处理,或
者某地方需要精确延时,耽误了P1口的查询,不是很容易丢失脉冲
数吗?
这些就需要编程技巧了,都可以解决。
“如果键盘或者液晶屏或者其它某地方发生中断要求处理",这些是不
会经常发生的。有足够的时间处理他们。
"某地方需要精确延时,耽误了P1口的查询",还有定时器呢!
89C51脉冲信 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)