新聞中心

        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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 甘肃省| 淳安县| 综艺| 巴楚县| 美姑县| 石城县| 突泉县| 班戈县| 潜山县| 安乡县| 武山县| 慈溪市| 光山县| 大渡口区| 阿鲁科尔沁旗| 高邑县| 凌海市| 清水河县| 巴彦淖尔市| 政和县| 长岭县| 营口市| 玉屏| 隆安县| 宣恩县| 启东市| 卢龙县| 巫溪县| 马鞍山市| 开鲁县| 陆丰市| 正镶白旗| 澄迈县| 和林格尔县| 清水县| 静海县| 宿州市| 宁阳县| 安岳县| 三穗县| 囊谦县|