新聞中心

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

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

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


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

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


評論


相關(guān)推薦

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

關(guān)閉