請問怎樣用89C51采集多路脈沖信號?
答:
要看頻率多高,如果不高可以通過查詢實現(xiàn)多路計數(shù)。(yanggt)2005-3-5 14:15:00
頻率在1-3000Hz之間,好實現(xiàn)嗎?(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ā)生了電平變化,改路計數(shù)值就加一,同理,十幾路也可以同樣處理。(cjs)2005-3-11 16:36:12 -35
防萬一,先向采集腳寫1,再讀入(禤顯佳)2005-3-11 16:50:53
加上一句,要以最小的信號的寬度計算頻率.
比如,一個脈衝高(低)電平為1us,低(高)電平為1ms,
你不能說是1khz,而應(yīng)是1mhz.
統(tǒng)計1秒內(nèi)各路信號發(fā)生跳變的次數(shù),然后分別除以2,結(jié)果就是頻率。(yanggt)2005-3-12 14:42:56
幾條指令供你參考:
MOVB, P1
CLP:MOVA, P1
XCHA, B
XRLA, B;發(fā)生跳變的引腳對應(yīng)的
位=1
CCH0:JNBACC.0, CCH1
INCCNTR0
...
...
CCH1:JNBACC.1, CCH2
2005-3-12 14:47:19
謝謝各位鼎力相助,只是覺得有些地方不妥,比如--
比如,如果鍵盤或者液晶屏或者其它某地方發(fā)生中斷要求處理,或
者某地方需要精確延時,耽誤了P1口的查詢,不是很容易丟失脈沖
數(shù)嗎?
這些就需要編程技巧了,都可以解決。
“如果鍵盤或者液晶屏或者其它某地方發(fā)生中斷要求處理",這些是不
會經(jīng)常發(fā)生的。有足夠的時間處理他們。
"某地方需要精確延時,耽誤了P1口的查詢",還有定時器呢!
評論