新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 液晶和矩陣鍵盤SOPC外設組件設計開發

        液晶和矩陣鍵盤SOPC外設組件設計開發

        作者: 時間:2012-06-27 來源:網絡 收藏

        圖 4 VGA 和HY-12864E 字模顯示示意圖

        變換后的字庫文件HZK16_lcd.bin 和ASC16_lcd.bin 通過Nios II Command Shell 的命令 bin2flash 轉換為.Flash 文件后就可以下載到NiosII 開發板中Flash 特定位置,供中英文顯示 時字模查詢使用,假定Flash 大小是2Mbytes,起始地址是0x0,方法如下:

        bin2flash--location=0x100000--input=HZK16_lcd.bin --output=HZK16_lcd.flash

        bin2flash --location=0x10ffff --input=ASC16_lcd.bin --output=ASC16_lcd.flash

        nios2-flash-programmer --base=0x0 HZK16_lcd.flash(中文字庫下載到Flash 的0x100000 位置)

        nios2-flash-programmer --base=0x0 ASC16_lcd.flash (英文字庫下載到Flash 的0x10ffff 位置)

        由于 LCD 是接在Avalon 總線的從端口上的,在完成LCD 用戶時使用的地址映射 (Slave Addressing)是memory 方式,這種方式可以支持一個字節(8bits)寬度的數據訪問, 而LCD 的數據寬度也是一個字節,因此可以使用IOWR_8DIRECT(BASE,OFFSET,DATA) 和IORD_8DIRECT(BASE,OFFSET)函數完成對LCD 的寫、讀操作,根據前面地址線的連 接定義,我們可以定義對LCD 的操作函數如表4 所示。

        表 4:LCD 的讀寫操作函數定義

        這里的 LCD_HY12864_BASE 為LCD 在NiosII 軟核中的基地址。HD61202 控制器通過寫相 應的命令控制LCD 顯示的開關、起始行號、操作的行地址列地址等,通過讀狀態獲得LCD 的工作信息,通過讀/寫數據指令讀出寫入RAM 中的數據。在這些基本的LCD 讀寫函數上, 定義LCD 操作的宏參數,編寫一些對LCD 的操作函數:LCD 初始化函數、清行函數、置行函 數、顯示一行中英文的函數等。其中顯示一行中英文流程如圖5 所示。

        圖 5 中英文顯示流程圖

        4. 本文創新點

        最后經過測試,按鍵中斷響應準確無誤,由于掃描的過程由硬件實現,不占用 CPU 資源,大大提高了系統的性能。LCD 可以接收任意中英文的輸入顯示。在開發設計過 程中,和LCD 接口均封裝為用戶自定義,加入 Builder 的元件庫中, 可以很方便地在其他系統中根據實際情況添加使用,二者的驅動程序也可以很方便地移植到 其他工程設計中,體現出了 片上可編程系統靈活、方便、可重用的優勢。本文設計的 和LCD 成功應用到筆者設計的PDA 項目中。

        DIY機械鍵盤相關社區:機械鍵盤DIY


        上拉電阻相關文章:上拉電阻原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 兴宁市| 沾化县| 汪清县| 阳谷县| 潼南县| 唐河县| 建湖县| 辽中县| 米林县| 瓦房店市| 岫岩| 阜宁县| 象州县| 大理市| 文化| 珲春市| 遂平县| 宜章县| 乌鲁木齐市| 全州县| 武强县| 克山县| 浑源县| 灵武市| 临泽县| 全州县| 法库县| 天峻县| 清丰县| 静安区| 巍山| 攀枝花市| 炉霍县| 临安市| 酉阳| 新沂市| 中方县| 乌恰县| 许昌县| 三门峡市| 金昌市|