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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于CPLD的數(shù)據(jù)采集與顯示接口電路仿真設計

          基于CPLD的數(shù)據(jù)采集與顯示接口電路仿真設計

          作者: 時間:2010-03-18 來源:網(wǎng)絡 收藏

          將生成的高12位BCD碼與低12位的BCD碼相加,得到12位的BCD碼,該結(jié)果即為所求的BCD碼結(jié)果。如上述的2.56V的BCD碼是0010 0101 0110,O.12V的BCD碼是0000 0001 00lO。所以相加的結(jié)果是0010 0110 1000,即為2.68V。因此在中必須設計一個12位的BCD碼加法程序,實現(xiàn)由8位二進制轉(zhuǎn)換為12位BCD碼硬件。在程序設計中應當注意的是BCD碼相加時,由最低4位加起,且每4位相加的結(jié)果超過1001時,應加0110調(diào)整。該段程序的描述是通過一個進程Process(HB,LB,CEN)來實現(xiàn)。其中HB表示生成的高12位BCD碼,LB表示生成的低12位BCD碼.CEN表示系統(tǒng)提供的時鐘信號。在時鐘上升沿時刻進行BCD碼相加,并判斷結(jié)果是否超過1001,判斷程序采用if…then…語句,實現(xiàn)條件判斷。按照圖4完成BCD碼程序轉(zhuǎn)換設計。將以上兩段程序進行組合,最終獲得由VHDL語言描述的BCD碼轉(zhuǎn)換程序。

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


          1.5 A/D轉(zhuǎn)換與BCD碼合成系統(tǒng)電路
          將A/D轉(zhuǎn)換電路與BCD碼轉(zhuǎn)換電路組成統(tǒng)一系統(tǒng),通過硬件編程語言VHDL中的進程語句將編制成功的A/D轉(zhuǎn)換電路描述語句和BCD碼轉(zhuǎn)換電路描述語句組合成一個整體程序,通過QuartusⅡ軟件生成系統(tǒng)圖,如圖5所示。


          A/D轉(zhuǎn)換結(jié)果由3位十進制數(shù)表示,每位十進制數(shù)由4位BCD碼表示,總共有12位BCD碼輸出。將電路輸出BCDOUT(11..0)分成BCDOUT(11..8),BCDOUT(7..4)和BCDOUT(3..0)三部分,通過三個進程Process()分別用VHDL語言編程描述LED顯示驅(qū)動。對整個系統(tǒng)進行波形仿真,得到仿真波形如圖6所示,最后在GW48-CK實訓開發(fā)系統(tǒng)完成功能驗證。

          2 結(jié) 語
          和微機控制技術(shù)相結(jié)合,在智能儀表設計和控制系統(tǒng)設計領(lǐng)域提高了系統(tǒng)設計的靈活性,縮短了產(chǎn)品開發(fā)周期,同時使系統(tǒng)易于升級和擴展。因為采用了(復雜可編程邏輯器件),極大提高了系統(tǒng)I/O口利用率,縮小了印刷電路板面積,提高了系統(tǒng)集成度,在多輸入/多輸出的和控制系統(tǒng)領(lǐng)域有十分廣闊應用前景。


          DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY



          上一頁 1 2 3 下一頁

          評論


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