新聞中心

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

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

        作者: 時間:2010-11-17 來源:網絡 收藏


          2.2 T6963C 及其接口設計:

          T6963C 液晶顯示控制器多用于小規模的液晶顯示器件,常被裝配在圖形液晶顯示模塊上,以內藏控制器型圖形液晶顯示模塊的形式出現。

          對T6963C 有2 種訪問方式: 直接訪問與間接訪問。直接訪問利用三總線以I/O 設備訪問形式進行控制;間接訪問則由提供并行接口,以程序控制時序的方式進行控制。為簡化程序,這里采用直接訪問方式。

          該LCM 的FS1 引腳用于控制顯示字符的字體。FS1 為高時,LCD 顯示6×8 字符;FS1 為低時,LCD 顯示8×8 字符。經實踐,在顯示英文與數字時,6×8 字符更為美觀;在顯示中文字符時,8×8 字符更為方便。一般系統采用將FS1 接地或接高的方式來固定字體,而本系統采用P2.1 對FS 進行控制,通過改變地址實現改變字體的功能,使得界面的顯示更靈活。

          2.3 鍵盤電路設計:

          鍵盤是常用的輸入設備,分為編碼鍵盤和非編碼鍵盤。鍵盤上閉合鍵的識別由專用硬件譯碼器實現,并產生鍵編號或鍵值的稱為編碼鍵盤;靠軟件識別的稱為非編碼鍵盤。在單片機組成的測控系統及智能化儀器中使用最多的是非編碼鍵盤,本系統設計在 中編程實現3×6 鍵盤的行掃描。

          由于按鍵的機械特性,在閉合和斷開的瞬間會伴隨著一連串的抖動,鍵抖動會引起一次按鍵被誤讀多次,所以必須進行去抖處理,常用的方法為延時去抖動。 產生鍵值之后向單片機發送中斷,并等待單片機讀取鍵值。由于人腦反應時間相對較長, 鍵盤中斷可以處于相對較低的優先級,因此本文將鍵盤中斷接于外部中斷7。

          3 軟件設計:

          軟件設計遵循結構化和層次化的設計原則。底層函數直接與硬件溝通,而上層函數直接通過調用底層函數來實現相應功能,從而使上層函數與硬件環境徹底分開。當硬件環境發生變化時,僅修改底層函數便能實現程序的移植。

          3.1 液晶驅動模塊的編程設計:

          本模塊的底層函數需要實現寫控制字、寫參數、查忙等功能。由于采用直接訪問,寫控制字與寫參數的函數只需向控制口或數據口的地址送數即可。由于LCD 是慢速器件,因此在每次寫控制字及寫參數之前都需要進行查忙。T6963C的狀態字共有7 位有效的狀態位,如表1 所示。其中STA1~STA3 最為常用,一般情況下可以不需要對STA5~STA7 進行查忙的程序。


          3.1.1 液晶驅動模塊的初始化:

          T6963C 的最大特點是具有獨特的硬件初始值設置功能,顯示驅動所需的參數如占空比系數。驅動傳輸的字節數/行及字符的字體選擇等均由引腳電平設置, 這樣T6963C 的初始化在上電時就已經基本設置完成,軟件操作的重心就可以全部用于顯示畫面的設計上。因此,初始化時僅需根據實際情況設置文本區域和圖形區域的首地址和寬度, 以及CGRAM 偏置地址、合成方式、光標形狀等即可正常使用。

          液晶驅動模塊的初始化函數如下:

          void LcdInitial(void)

          {

          LcdWriteDataD(0x00,0x00,0x40); //設置文本區域首地址為0000H

          LcdWriteDataD(0x20,0x00,0x41); //設置文本區域寬度為20H 字節

          LcdWriteDataD(0x00,0x04,0x42); //設置圖形區域首地址為0400H

          LcdWriteDataD(0x20,0x00,0x43); //設置圖形區域寬度為20H 字節

          LcdWriteDataD(0x03,0x00,0x22); //設置CGRAM 偏置地址,顯示存儲器的首地址為1800H

          LcdWriteDataN(0xa7); //光標形狀設置為8×7

          LcdWriteDataN (0x80); //啟用內部字符發生器,邏輯“或”合成

          LcdWriteDataN(0x9c); //開文本和圖形顯示,禁用光標

          LcdClear(3); //清屏

          }

          3.1.2 英文及漢字的文本顯示:

          由于英文及數字等常用字符的字模已經固化在CGROM中,因此進行英文的顯示時,只需指定顯示的地址,再輸入該字符對應的標號即可。漢字的顯示與英文的顯示類似。然而出于其復雜性,一個漢字需要使用4 組點陣才能完整顯示。在初始化后將漢字的4 部分字模順序輸入CGRAM 中, 在使用時僅需計算好每一部分的顯示地址即可對漢字進行完美顯示。

          對于一串英文字符的輸入, 可以利用字符串的特性進行操作。通過檢測‘

        主站蜘蛛池模板: 烟台市| 土默特右旗| 福安市| 怀来县| 阿城市| 四平市| 哈密市| 新民市| 鄂州市| 信阳市| 重庆市| 镇坪县| 微博| 通道| 马公市| 晴隆县| 汉川市| 邢台县| 苏尼特右旗| 沐川县| 福安市| 汤原县| 城固县| 庆元县| 东宁县| 阳江市| 沈阳市| 阳山县| 抚松县| 绥阳县| 深水埗区| 肥城市| 德庆县| 皋兰县| 新沂市| 景德镇市| 若尔盖县| 丘北县| 江北区| 治县。| 灵宝市|