新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于51單片機和FPGA的人機交互系統的設計

        基于51單片機和FPGA的人機交互系統的設計

        作者: 時間:2011-11-16 來源:網絡 收藏

        為使單片機的資源可以得到最大的開發,將單片機的高端口,即P4~P7接入,并通過對外部設備進行訪問。在中通過Vel-ilog HDL語言編程實現了3-8譯碼器,從而實現了對單片機地址總線的擴展。該3-8譯碼器對LCD以及鍵盤的鍵值讀取提供使能信號,如圖2所示。

        b.JPG


        2.2 及其接口設計
        液晶顯示控制器多用于小規模的液晶顯示器件,常被裝配在圖形液晶顯示模塊上,以內藏控制器型圖形液晶顯示模塊的形式出現。
        單片機對有2種訪問方式:直接訪問與間接訪問。直接訪問利用三總線以I/O設備訪問形式進行控制;間接訪問則由單片機提供并行接口,以程序控制時序的方式進行控制。為簡化程序,這里采用直接訪問方式。
        該LCM的FS1引腳用于控制顯示字符的字體。FS1為高時,LCD顯示6x8字符;FS1為低時,LCD顯示8x8字符。經實踐,在顯示英文與數字 時,6x8字符更為美觀;在顯示中文字符時,8x8字符更為方便。一般系統采用將FS1接地或接高的方式來固定字體,而本系統采用P2.1對FS進行控 制,通過改變地址實現改變字體的功能,使得界面的顯示更靈活。
        2. 3 鍵盤電路設計
        鍵盤是常用的單片機輸入設備,分為編碼鍵盤和非編碼鍵盤。鍵盤上閉合鍵的識別由專用硬件譯碼器實現,并產生鍵編號或鍵值的稱為編碼鍵盤;靠軟件識別的稱為 非編碼鍵盤。在單片機組成的測控系統及智能化儀器中使用最多的是非編碼鍵盤,本系統設計在FPGA中編程實現3x6鍵盤的行掃描。
        由于按鍵的機械特性,在閉合和斷開的瞬間會伴隨著一連串的抖動,鍵抖動會引起一次按鍵被誤讀多次,所以必須進行去抖處理,常用的方法為延時去抖動。 FPGA產生鍵值之后向單片機發送中斷,并等待單片機讀取鍵值。由于人腦反應時間相對較長,鍵盤中斷可以處于相對較低的優先級,因此本文將鍵盤中斷接于外 部中斷7。

        3 軟件設計
        軟件設計遵循結構化和層次化的設計原則。底層函數直接與硬件溝通,而上層函數直接通過調用底層函數來實現相應功能,從而使上層函數與硬件環境徹底分開。當硬件環境發生變化時,僅修改底層函數便能實現程序的移植。
        3.1 液晶驅動模塊的編程設計
        本模塊的底層函數需要實現寫控制字、寫參數、查忙等功能。由于采用直接訪問,寫控制字與寫參數的函數只需向控制口或數據口的地址送數即可。由于LCD是慢 速器件,因此在每次寫控制字及寫參數之前都需要進行查忙。T6963C的狀態字共有7位有效的狀態位,如表1所示。其中STA1~STA3最為常用,一般 情況下可以不需要對STA5~STA7進行杏忙的程序。

        c.JPG



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 西林县| 韩城市| 瑞金市| 搜索| 双峰县| 安阳市| 仙桃市| 石首市| 辉南县| 潞西市| 河津市| 海伦市| 洛阳市| 安化县| 内丘县| 阿鲁科尔沁旗| 斗六市| 博客| 会昌县| 桐城市| 泽州县| 新营市| 外汇| 山西省| 交口县| 阿克陶县| 磐石市| 永仁县| 登封市| 定州市| 株洲县| 梅河口市| 司法| 新兴县| 黑河市| 蕉岭县| 蒲城县| 库尔勒市| 镇江市| 庄浪县| 临安市|