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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)與光電傳感器的電動(dòng)自行車速度/里程表設(shè)計(jì)

          基于單片機(jī)與光電傳感器的電動(dòng)自行車速度/里程表設(shè)計(jì)

          作者: 時(shí)間:2012-12-03 來源:網(wǎng)絡(luò) 收藏

          信號預(yù)處理電路

          如圖3所示,系統(tǒng)的信號預(yù)處理電路由二級電路構(gòu)成,第一級是由開關(guān)三極管組成的零偏置放大器,采用開關(guān)三極管可以保證放大器具有良好的高頻響應(yīng)。當(dāng)輸入信號為零或負(fù)電壓時(shí),三極管截止,電路輸出高電平;而當(dāng)輸入信號為正電壓時(shí),三極管導(dǎo)通,此時(shí)輸出電壓隨著輸入電壓的上升而下降,這使得既可以測量任意方波信號的頻率,也可以測量正弦波信號的頻率。由于放大器的放大功能降低了對待測信號的幅度要求,因此,系統(tǒng)能對任意大于0.5v的正弦波和脈沖信號進(jìn)行測量。預(yù)處理電路的第二級采用帶施密特觸發(fā)器的反相器dm74ls14來把放大器生成的單相脈沖轉(zhuǎn)換成與coms電平相兼容的方波信號(如圖4所示),同時(shí)將輸出信號加到的p3.4口上。

          圖3 信號預(yù)處理電路圖

          圖4 施密特觸發(fā)器對脈沖的整形

          利用施密特觸發(fā)器狀態(tài)轉(zhuǎn)換過程中的正反饋?zhàn)饔?,可以把邊沿變化緩慢的周期性信號變換為邊沿很陡的矩形脈沖信號。輸入的信號只要幅度大于vt+,即可在施密特觸發(fā)器的輸出端得到同等頻率的矩形脈沖信號。

          得到的矩形脈沖經(jīng)傳輸后往往發(fā)生波形畸變。當(dāng)傳輸線上的電容較大時(shí),波形的上升沿將明顯變壞;當(dāng)傳輸線較長,而且接受端的阻抗與傳輸線的阻抗不匹配時(shí),在波形的上升沿和下降沿將產(chǎn)生振蕩現(xiàn)象;當(dāng)其他脈沖信號通過導(dǎo)線間的分布電容或公共電源線疊加到矩形脈沖信號時(shí),信號上將出現(xiàn)附加的噪聲。無論出現(xiàn)上述的那一種情況,都可以通過用施密特反相觸發(fā)器整形而得到比較理想的矩形脈沖波形。只要施密特觸發(fā)器的vt+和vt-設(shè)置得合適,均能受到滿意的整形效果。

          e2prom at24c02的應(yīng)用

          at24c02是cmos 2048位串行e2prom,在內(nèi)部組織成256×8位。at24c02的特點(diǎn)是具有允許在簡單的二線總線上工作的串行接口和軟件協(xié)議。

          如圖5所示,在本中用芯片at24c02的sda端與的p3.7口相連,scl端與的p3.5口相連。因?yàn)樵谶@個(gè)i2c總線上只有一個(gè)器件,所以把a(bǔ)t24c02的地址設(shè)為000,即把a(bǔ)0、a1、a2都接地。單片機(jī)計(jì)算出來的里程數(shù)據(jù)通過sda、scl向at24c02輸送數(shù)據(jù)。單片機(jī)首先向at24c02發(fā)送寫信號,當(dāng)確認(rèn)后從單片機(jī)內(nèi)部的數(shù)據(jù)儲(chǔ)存單元提取數(shù)據(jù)然后向at24c02的內(nèi)部地址傳送數(shù)據(jù)。當(dāng)顯示里程時(shí),單片機(jī)首先向at24c02發(fā)送讀信號,然后確認(rèn)后,單片機(jī)從at24c02內(nèi)部的地址向單片機(jī)的讀出單元字節(jié)讀出數(shù)據(jù),供顯示所用。

          圖5 at24c02與單片機(jī)的接口電路圖



          評論


          相關(guān)推薦

          技術(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); })();