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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于SOPC的通用字符VGA顯示電路設(shè)計(jì)

          基于SOPC的通用字符VGA顯示電路設(shè)計(jì)

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


          3.2 漢字函數(shù)show_hz
          此函數(shù)用于在輸出畫面的(x,y)坐標(biāo)處單個(gè)漢字hz,主要代碼如下:
          f.JPG
          3.3 函數(shù)show_str
          此函數(shù)用于在輸出畫面的(x,y)坐標(biāo)處顯示長度為len的字符串str,內(nèi)容可以由ASCII碼及漢字混合組成,其主要代碼如下:
          h.jpg

          4 實(shí)例應(yīng)用
          以上的軟硬件設(shè)計(jì),這里以萬年歷作為其應(yīng)用的一個(gè)實(shí)例。以往FPGA的萬年歷設(shè)計(jì)多使用LCD或七段數(shù)碼管作為輸出,顯示基本的數(shù)字和符號(hào)尚可,但若要加入問候語、紀(jì)念日等中文信息則難于實(shí)現(xiàn),的萬年歷則可以解決這一問題。
          從功能上劃分,此萬年歷設(shè)計(jì)可分為3個(gè)模塊:
          (1)時(shí)間日期生成模塊。此模塊包含年、月、日、星期、時(shí)、分、秒共7個(gè)變量的輸出,每個(gè)變量都有各自的子模塊,每個(gè)子模塊都包含預(yù)置、計(jì)數(shù)、進(jìn)位和顯示的功能。其中星期的確定方法是計(jì)算當(dāng)前日期與1990年1月1日(星期一)之間間隔的天數(shù),將此天數(shù)對7取模并加1,即得到當(dāng)前星期的數(shù)字。
          系統(tǒng)啟動(dòng)時(shí),首先將預(yù)置的初始時(shí)間日期傳遞給顯示函數(shù),由顯示函數(shù)在預(yù)定位置分別顯示7個(gè)數(shù)據(jù),將數(shù)字加上0x30便得到其對應(yīng)的ASCII碼值,其中星期是將1~7的數(shù)字按星期一~星期日的漢字顯示。
          隨后進(jìn)入系統(tǒng)的主循環(huán),以1秒鐘為循環(huán)間隔,當(dāng)前級數(shù)字到達(dá)最大值時(shí)向下一級數(shù)字進(jìn)位。其中日進(jìn)位時(shí)需判斷月份類型(大月、小月或2月),當(dāng)前月為2月時(shí)還需判斷年份類型(是否閏年),以確定日的進(jìn)位數(shù)值。其他數(shù)字的進(jìn)位值是固定的,其中年的范圍設(shè)定為1990~2099。


          評論


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