新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > ARM7的鍵盤與VFD顯示器接口技術

        ARM7的鍵盤與VFD顯示器接口技術

        作者: 時間:2009-09-23 來源:網絡 收藏
        引 言
        儀表行業以及工業生產過程對實時性、處理速度、智能化等方面有了更高的要求,而ARM微處理器具有功耗低、指令吞吐量高、實時中斷響應、處理器宏單元性價比高等特點,因此,將ARM微處理器引入產品和工業生產的開發設計中已經成為一種必然趨勢。
        在工業控制和產品設計中,一般都要求具有供操作的和可視化界面。傳統顯示模塊的設計一般都是采用I/O口外擴驅動電路連接而成,一般都采用LED或LCD,要么成本低但實現起來比較復雜,要么實現起來簡單成本卻很高。筆者綜合考慮了成本、實現的難易程度、功能以及穩定性等方面的要求,提出了一種實現起來較容易且具有較高對比度和精度的顯示的方法。

        1 硬件電路的實現
        考慮到未來市場對功耗、處理速度、實時性、多功能、多任務處理等方面會有更高的要求,本設計采用基于周立功公司MiniARM的M2020―FNU20嵌入式核心板(微處理器為LPC2220)及其M22A開發板。M22A開發板的板上資源主要有:
        ◆μC/OS―II實時操作系統;
        ◆TCP/IP協議、FAT32文件管理系統;
        ◆UART、I2C、SPI通信接口;
        ◆JTAG接口支持在線調試;
        ◆工業級10M以太網控制接口CSB900A―IQ;
        ◆2 MB NOR Flash程序存儲器等。
        另外,現代工業控制和產品生產大都需要可供操作的以及可視化界面。本設計采用HTl6511芯片驅動和顯示。考慮到工業生產中各種不利環境的影響,本設計采用具有較高對比度,且具有很好的可靠性與環境適應性的(真空熒光)進行顯示。HTl6511是一個典型的驅動芯片,由5個led輸出口、1個控制電路、1個顯示存儲器(內部)和1個按鍵掃描電路組成。微處理器通過三線串行接口對HTl6511進行串行數據輸入、輸出。圖1是系統硬件電路框圖,主要包括LPC2220與驅動芯片HTl6511的連接。HTl6511與VFD的連接,使用HTl6511外擴的12×4的按鍵掃描電路以及指示燈和開關電路。

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


        2 軟件設計
        軟件采用模塊化設計方法,使用基于優先級的系統調度法來實現各個模塊。每個模塊設置為一個任務,如taskO為讀鍵值模塊,taskl為顯示模塊等。給每個模塊設置一個固定的優先級,當任務執行完后自動掛起,掛起的時間長短可以自己設定。任務掛起后進入等待狀態,掛起時間一到,任務自動進入就緒狀態。
        開發板內嵌了μC/0S―II實時操作系統。本設計采用可剝奪型內核。若系統正在執行一個優先級較低的任務,且有一個或多個優先級較高的任務就緒時,優先級較低的任務將被打斷,去執行優先級最高的任務。執行完成后,系統不會馬上返回中斷的地方,而是執行當前就緒任務中具有最高優先級的任務;當沒有更高優先級任務就緒時,系統才返回原來中斷的地方。若程序中某些模塊(如讀鍵值、推顯等)不希望被打斷,就需要在進入該模塊的開始處關閉中斷,執行完后再打開中斷。以下是各個功能模塊的實現。
        2.1 HTl6511的讀/寫程序
        圖2為HTl6511的數據讀/寫時序。其中,tcw為時鐘脈沖寬度,最小值為400 ns;tsu為數據上傳時間,最小值為100 ns;th是數據保持時間,最小值為lOO ns;tcs為時鐘調整時間,最小值為1μs;tph1和tplh都是數據傳遞延遲時間,tph1最大值為300 ns,tplh最大值為100 ns。

        從圖2中可以看出,讀/寫數據時必須置CS為低;寫數據(D1)過程中,在時鐘(CLK)的下降沿往數據線上送數,送完數后需要將CLK置高,且要保持一個tcw的時間;在讀數據時,需要先將CLK置高一段時間,然后再拉低一段時間,才開始從數據線上讀取數據。
        以下程序為向HTl6511寫一個字符:



        上一頁 1 2 下一頁

        關鍵詞: ARM7 VFD 鍵盤 顯示器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 七台河市| 中山市| 紫金县| 灵寿县| 庄河市| 阿勒泰市| 墨竹工卡县| 元阳县| 巴林右旗| 沙田区| 明光市| 孝感市| 华蓥市| 九寨沟县| 赞皇县| 涞源县| 枞阳县| 尉氏县| 平江县| 桂林市| 石门县| 江西省| 兴城市| 修水县| 克什克腾旗| 枣庄市| 阜城县| 兴海县| 桃源县| 太谷县| 东兰县| 五台县| 赤壁市| 屯门区| 浙江省| 泾源县| 突泉县| 海阳市| 隆林| 营口市| 淄博市|