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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA的數(shù)字溫度測量儀設(shè)計與實現(xiàn)

          基于FPGA的數(shù)字溫度測量儀設(shè)計與實現(xiàn)

          作者: 時間:2012-08-09 來源:網(wǎng)絡(luò) 收藏

          1.3 控制模塊
          通過控制模塊,將從DS18B20讀取的二進制溫度信息傳給數(shù)制轉(zhuǎn)換模塊,如圖6所示。

          本文引用地址:http://www.ex-cimer.com/article/190050.htm

          h.JPG


          程序中設(shè)定了三個狀態(tài)(清除clear、使能enable、顯示display),當(dāng)ena為‘1’時,狀態(tài)從顯示轉(zhuǎn)到清除;ena為‘0’時,狀態(tài)一直為顯示,把輸入數(shù)據(jù)win[11..1]從輸出端口wout[11..1]輸出到下一模塊,之間的轉(zhuǎn)換關(guān)系如圖7所示。

          i.JPG


          控制模塊仿真結(jié)果如圖8所示。
          圖8中,clock輸入為1 MHz信號,經(jīng)過500分頻后,得到頻率為1kHz的信號clk lk,此時累加器cnt0為‘0’。當(dāng)cnt0為‘1’時,系統(tǒng)狀態(tài)由原來的清除狀態(tài)轉(zhuǎn)變?yōu)槭鼓軤顟B(tài),此時enb為‘1’,cnt0進行累加;當(dāng)cnt0=‘1’時,系統(tǒng)狀態(tài)從使能狀態(tài)轉(zhuǎn)變到顯示狀態(tài),系統(tǒng)就把win[11..1]輸入的數(shù)據(jù)通過wout[11..1]輸出到下一模塊。
          1.4 數(shù)制轉(zhuǎn)換模塊
          利用數(shù)制轉(zhuǎn)換模塊將輸入的11位二進制的溫度數(shù)據(jù)轉(zhuǎn)換為3位十進制表示,如圖9所示。

          j.JPG


          圖9中,clear為清零輸入端口,enable為使能輸入端口,indata[11..1]為數(shù)據(jù)輸入端口,b1『3..0]、b2[3..0]、b3[3..0]為三個輸出端口。如果clear輸入信號為‘1’時,程序?qū)⑶宄龝捍婕拇嫫髦袛?shù)據(jù);反之則不清除。enable輸入信號出現(xiàn)上升沿時,程序開始進行數(shù)制轉(zhuǎn)換,并通過b1[3..0]、b2[3..0]、b3[3..0]端口將得到的十進制數(shù)輸出到相應(yīng)的顯示模塊中。數(shù)制轉(zhuǎn)換模塊仿真見圖10。

          k.JPG


          由圖10知,輸入數(shù)據(jù)為“010011 10000”,clear端為低電平,當(dāng)enable信號有上升沿時,數(shù)據(jù)開始轉(zhuǎn)換。轉(zhuǎn)換后數(shù)據(jù)為b1=0、b2=9、b3=3,符合設(shè)計值。



          關(guān)鍵詞: FPGA 數(shù)字溫度 測量儀

          評論


          相關(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); })();