新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 請問怎樣用89C51采集多路脈沖信號?

請問怎樣用89C51采集多路脈沖信號?

作者: 時間:2016-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口), 然后以信號的最高頻率的兩倍定時讀取這個口上的信號,如果某一位發(fā)生了電平變化,改路計數值就加一,同理,十幾路也可以同樣處理。(cjs)2005-3-11 16:36:12 -35

防萬一,先向采集腳寫1,再讀入(禤顯佳)2005-3-11 16:50:53

加上一句,要以最小的信號的寬度計算頻率.
比如,一個脈衝高(低)電平為1us,低(高)電平為1ms,
你不能說是1khz,而應是1mhz.

統(tǒng)計1秒內各路信號發(fā)生跳變的次數,然后分別除以2,結果就是頻率。(yanggt)2005-3-12 14:42:56

幾條指令供你參考:
MOVB, P1
CLP:MOVA, P1
XCHA, B
XRLA, B;發(fā)生跳變的引腳對應的
位=1
CCH0:JNBACC.0, CCH1
INCCNTR0
...
...
CCH1:JNBACC.1, CCH2
2005-3-12 14:47:19


謝謝各位鼎力相助,只是覺得有些地方不妥,比如--
比如,如果鍵盤或者液晶屏或者其它某地方發(fā)生中斷要求處理,或
者某地方需要精確延時,耽誤了P1口的查詢,不是很容易丟失脈沖
數嗎?

這些就需要編程技巧了,都可以解決。
“如果鍵盤或者液晶屏或者其它某地方發(fā)生中斷要求處理",這些是不
會經常發(fā)生的。有足夠的時間處理他們。

"某地方需要精確延時,耽誤了P1口的查詢",還有定時器呢!


關鍵詞: 89C51脈沖信

評論


技術專區(qū)

關閉