關(guān)于ARM7的鍵盤(pán)與VFD顯示器接口技術(shù)
出處:drq1997 發(fā)布于:2010-06-02 17:01:59
引 言
儀表行業(yè)以及工業(yè)生產(chǎn)過(guò)程對(duì)實(shí)時(shí)性、處理速度、智能化等方面有了更高的要求,而ARM微處理器具有功耗低、指令吞吐量高、實(shí)時(shí)中斷響應(yīng)、處理器宏單元性?xún)r(jià)比高等特點(diǎn),因此,將ARM微處理器引入產(chǎn)品和工業(yè)生產(chǎn)的開(kāi)發(fā)設(shè)計(jì)中已經(jīng)成為一種必然趨勢(shì)。
在工業(yè)控制和產(chǎn)品設(shè)計(jì)中,一般都要求具有供操作的鍵盤(pán)和可視化界面。傳統(tǒng)顯示模塊的設(shè)計(jì)一般都是采用I/O口外擴(kuò)驅(qū)動(dòng)電路連接而成,顯示器一般都采用LED或LCD,要么成本低但實(shí)現(xiàn)起來(lái)比較復(fù)雜,要么實(shí)現(xiàn)起來(lái)簡(jiǎn)單成本卻很高。筆者綜合考慮了成本、實(shí)現(xiàn)的難易程度、功能以及穩(wěn)定性等方面的要求,提出了一種實(shí)現(xiàn)起來(lái)較容易且具有較高對(duì)比度和的VFD顯示的方法。
1 硬件電路的實(shí)現(xiàn)
考慮到未來(lái)市場(chǎng)對(duì)功耗、處理速度、實(shí)時(shí)性、多功能、多任務(wù)處理等方面會(huì)有更高的要求,本設(shè)計(jì)采用基于周立功公司MiniARM的M2020—FNU20嵌入式板(微處理器為L(zhǎng)PC2220)及其M22A開(kāi)發(fā)板。M22A開(kāi)發(fā)板的板上資源主要有:
◆μC/OS—II實(shí)時(shí)操作系統(tǒng);
◆TCP/IP協(xié)議、FAT32文件管理系統(tǒng);
◆UART、I2C、SPI通信接口;
◆JTAG接口支持在線調(diào)試;
◆工業(yè)級(jí)10M以太網(wǎng)控制接口CSB900A—IQ;
◆2 MB NOR Flash程序存儲(chǔ)器等。
另外,現(xiàn)代工業(yè)控制和產(chǎn)品生產(chǎn)大都需要可供操作的鍵盤(pán)以及可視化界面。本設(shè)計(jì)采用HTl6511芯片驅(qū)動(dòng)鍵盤(pán)和顯示。考慮到工業(yè)生產(chǎn)中各種不利環(huán)境的影響,本設(shè)計(jì)采用具有較高對(duì)比度,且具有很好的可靠性與環(huán)境適應(yīng)性的VFD(真空熒光顯示器)進(jìn)行顯示。HTl6511是一個(gè)典型的VFD驅(qū)動(dòng)芯片,由5個(gè)led輸出口、1個(gè)控制電路、1個(gè)顯示存儲(chǔ)器(內(nèi)部)和1個(gè)按鍵掃描電路組成。微處理器通過(guò)三線串行接口對(duì)HTl6511進(jìn)行串行數(shù)據(jù)輸入、輸出。圖1是系統(tǒng)硬件電路框圖,主要包括LPC2220與驅(qū)動(dòng)芯片HTl6511的連接。HTl6511與VFD顯示器的連接,使用HTl6511外擴(kuò)的12×4的按鍵掃描電路以及指示燈和開(kāi)關(guān)電路。

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

從圖2中可以看出,讀/寫(xiě)數(shù)據(jù)時(shí)必須置CS為低;寫(xiě)數(shù)據(jù)(D1)過(guò)程中,在時(shí)鐘(CLK)的下降沿往數(shù)據(jù)線上送數(shù),送完數(shù)后需要將CLK置高,且要保持一個(gè)tcw的時(shí)間;在讀數(shù)據(jù)時(shí),需要先將CLK置高一段時(shí)間,然后再拉低一段時(shí)間,才開(kāi)始從數(shù)據(jù)線上讀取數(shù)據(jù)。
以下程序?yàn)橄騂Tl6511寫(xiě)一個(gè)字符:


2.2 主要驅(qū)動(dòng)程序
驅(qū)動(dòng)程序主要包括顯示驅(qū)動(dòng)和按鍵驅(qū)動(dòng)。
圖3為HTl65l1的顯示驅(qū)動(dòng)一般命令時(shí)序。圖中,命令1設(shè)置顯示模式;命令2設(shè)置讀/寫(xiě)數(shù)據(jù)模式;命令3設(shè)置讀/寫(xiě)數(shù)據(jù)的起始地址;數(shù)據(jù)1到n為需要讀/寫(xiě)的數(shù)據(jù);命令4設(shè)置VFD的顯示亮度。

顯示驅(qū)動(dòng)程序主要包括向HTl6511寫(xiě)命令和寫(xiě)控制顯示的數(shù)據(jù);而按鍵驅(qū)動(dòng)程序則主要是從HTl6511讀取鍵值,再拼接為有效鍵值。由圖3中時(shí)序可知,應(yīng)先設(shè)置顯示模式,然后設(shè)置讀/寫(xiě)數(shù)據(jù)模式和讀/寫(xiě)數(shù)據(jù)的起始地址,再發(fā)送數(shù)據(jù),設(shè)置顯示亮度。每發(fā)送一個(gè)命令或數(shù)據(jù)之后都需要一段延時(shí)。
顯示驅(qū)動(dòng)程序?yàn)椋?BR>



結(jié) 語(yǔ)
在實(shí)際應(yīng)用中,只需要將HTCS、HTCLK、HTD0、HTDI定義為微處理器的一般雙向I/O口。根據(jù)使用的VFD真值表確定顯示數(shù)據(jù)或字母的字形碼。用一個(gè)數(shù)組disp口來(lái)存儲(chǔ)這些字形碼,并使用上述的update_disp()函數(shù)將數(shù)組發(fā)送到HTl6511驅(qū)動(dòng)芯片,即可完成顯示。對(duì)于按鍵掃描,使用read_key()函數(shù)已經(jīng)讀到按鍵值,并放在data寄存器中。
本設(shè)計(jì)采用ARM微處理器實(shí)現(xiàn)了多功能鍵盤(pán)顯示,具有實(shí)現(xiàn)容易、性?xún)r(jià)比高、顯示高、顯示對(duì)比度高、反應(yīng)速度快等優(yōu)點(diǎn)。因此,該設(shè)計(jì)適用于很多要求較高的工業(yè)應(yīng)用場(chǎng)合。HTl6511的驅(qū)動(dòng)模塊適用于各種類(lèi)型的微處理器。本設(shè)計(jì)采用ARM7微處理器來(lái)實(shí)現(xiàn),主要是考慮到現(xiàn)代產(chǎn)品和工業(yè)過(guò)程設(shè)計(jì)中對(duì)功耗、處理速度以及功能的高要求。本設(shè)計(jì)具有一定的通用性,適應(yīng)工業(yè)生產(chǎn)發(fā)展的總趨勢(shì)。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開(kāi)發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開(kāi)啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識(shí)2025/7/14 16:59:04
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10









