新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 礦井下通訊控制系統的人機接口模塊的設計

        礦井下通訊控制系統的人機接口模塊的設計

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


        2 LCD7920的硬件驅動
        由于LCD7920的控制器SED1335和LPC2292的外部總線連接時沒有采用直接連接的方式,而是采用了通過可編程邏輯器件擴展I/O口進行間接連接的方式,SED1335的基本操作需要專門編寫相應的操作函數,包括液晶屏復位函數、寫指令代碼、寫數據或參數、讀命令地址、讀數據或參數和SED1335_write函數(寫一條完整的指令)。
        從軟件角度看,SED1335需要的控制信號包括:復位信號RST、讀信號RD、寫信號WE、地址信號A0(命令或數據方式控制)、片選信號AEN和數據信號D0~D7。其中,RST、RD、WE、A0和CS信號由CPLD擴展的輸出端口LCD_CMD控制,D0~D7由CPLD擴展的雙向端口LCD_DATA控制。另外,為了控制數據信號LD0~LD7的方向,還在CPLD內部設置了DataOut信號。當DataOut=0時數據由CPU通過LCD_DATA向SED1335輸入;當Data-Out=1時SED1335通過LCD_DATA向CPU輸出的數據。下面將具體分析寫指令信號的全過程。
        首先,要知道在寫指令的過程中,復位信號RES置高電平不起作用,讀信號RD置高電平也不起作用,寫信號WE置為低電平,片選信號AEN置為低電平。由于寫指令是要數據由LCD_DATA向SED1335輸出,因此DataOut信號為低電平。于是寫指令的時序圖如圖2所示。

        本文引用地址:http://www.104case.com/article/156312.htm

        c.JPG


        根據寫指令的時序圖,對于液晶低層驅動的CPLD數字電路如圖3所示。

        d.JPG


        從圖3可知,首先在0x83000004地址空間中,A1高電平保持不變,A0、A2、A3、A4、A5、A6和地址使能信號AEN分別經過非門變成高電平。接著,它們在全部經過與非門轉變為低電平,設為X。從時序圖中,可以看出RD一直保持高電平,它和X相“或”后,輸出為高電平CS—LCD2RD。由于CS—LCD2RD低電平有效,所以讀指令不起作用。同理,X和WE相“或”后,輸出為低電平CS—LCD2WE,然后CS—LCD2WE與74273的CLK位相連,即CLK位為低電平。八重D觸發器74273的STR管腳信號是由RTS復位信號決定,為高電平。根據八重D觸發器74273的真值表,STR為高電平,CLK為低電平,輸出和輸入相等。下一步輸出信號通過74245總線收發器,74245的OE管腳由Dataout信號決定。由于是寫代碼指令,Dataout=0,數據由CPU通過LCD_DATA向SED1335輸入。由于OE管腳為低電平,根據74245真值表,輸入輸出保持不變。LD0~LD7就等于輸入信號,把它接到SG320240FPD的D0~D7管腳,SED1335讀取CPU數據完畢。SED1335其他操作的分析過程與寫指令類似,這里不詳細作介紹。

        3 GUI軟件的實現
        嵌入式(GUI,Graphic User Interface)系統是在嵌入式系統中為特定的硬件設備或環境而的圖形用戶界面系統。
        顯示任務與鍵盤任務的關系最密切,它們組成了最基本的,每一次鍵盤操作都伴隨著畫面的更新。由鍵盤操作更新的畫面內容稱為“畫面的靜態部分”,因為這部分畫面內容在沒有鍵盤操作時是固定不變。
        還有某些任務也需要顯示任務提供服務,更新畫面的指定部分的內容,如實時時鐘顯示、皮帶工作狀態和各種現場物理參數的動態顯示等。這部分西面內容的數據由不同的任務提供,與鍵盤操作無關,把各種不是鍵盤操作更新的畫面內容稱為“畫面的動態部分”。不管是“畫面的靜態部分”,還是“畫面的動態部分”,都是調用GUI函數來實現的。顯示任務的優先級設定較低,其主要作用是初始化系統畫面,顯示按鍵操作的效果和采樣波形。
        在液晶顯示屏上的畫面主要是:主信息窗口,當前皮帶運行狀態顯示,坐標方格線和命令按健。因此,這里需要的畫圖功能分別是畫點函數、畫線函數和字符顯示函數。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 昌宁县| 文成县| 宿迁市| 康定县| 乐亭县| 嘉兴市| 府谷县| 滁州市| 正宁县| 和林格尔县| 德惠市| 唐河县| 古田县| 北海市| 施秉县| 双牌县| 九江市| 陵水| 敖汉旗| 东乡| 石屏县| 东莞市| 潢川县| 滦平县| 青海省| 胶南市| 五大连池市| 吕梁市| 奎屯市| 芦溪县| 普兰县| 阿尔山市| 郁南县| 旬邑县| 勃利县| 文山县| 朔州市| 苏州市| 沙洋县| 米易县| 黄冈市|