<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 請(qǐng)問(wèn)怎樣用89C51采集多路脈沖信號(hào)?

          請(qǐng)問(wèn)怎樣用89C51采集多路脈沖信號(hào)?

          作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
          問(wèn):怎樣用89C51采集多路脈沖信號(hào)? 脈沖信號(hào)是一方波,需要用89C51進(jìn)行脈沖計(jì)數(shù),如果一路的話是不是可以用計(jì)數(shù)器啊?如果路數(shù)較多呢?

          答:
          要看頻率多高,如果不高可以通過(guò)查詢實(shí)現(xiàn)多路計(jì)數(shù)。(yanggt)2005-3-5 14:15:00

          頻率在1-3000Hz之間,好實(shí)現(xiàn)嗎?(athome)2005-3-5 16:22:36
          3000Hz,十幾路也沒(méi)問(wèn)題。(yanggt)2005-3-5 22:55:08
          yanggt:能指點(diǎn)的具體一點(diǎn)嗎?我悟性差,兩天也沒(méi)悟出來(lái)!(athome)2005-3-11 15:56:35

          比如說(shuō)采樣8路信號(hào),把8路信號(hào)接在單片機(jī)某個(gè)口上(如p1口), 然后以信號(hào)的最高頻率的兩倍定時(shí)讀取這個(gè)口上的信號(hào),如果某一位發(fā)生了電平變化,改路計(jì)數(shù)值就加一,同理,十幾路也可以同樣處理。(cjs)2005-3-11 16:36:12 -35

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

          加上一句,要以最小的信號(hào)的寬度計(jì)算頻率.
          比如,一個(gè)脈衝高(低)電平為1us,低(高)電平為1ms,
          你不能說(shuō)是1khz,而應(yīng)是1mhz.

          統(tǒng)計(jì)1秒內(nèi)各路信號(hào)發(fā)生跳變的次數(shù),然后分別除以2,結(jié)果就是頻率。(yanggt)2005-3-12 14:42:56

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


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

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

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


          關(guān)鍵詞: 89C51脈沖信

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();