技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 設(shè)計(jì)基于MSP430單片機(jī)的微功耗中文人機(jī)界面

設(shè)計(jì)基于MSP430單片機(jī)的微功耗中文人機(jī)界面

時(shí)間:2009-12-28 14:26:04來(lái)源:yangliu

導(dǎo)語(yǔ):?在現(xiàn)代便攜式智能儀器或手持設(shè)備中,中文人機(jī)界面成為一種事實(shí)上的行業(yè)標(biāo)準(zhǔn)。能顯示漢字的圖形點(diǎn)陣液晶和可輸入數(shù)字的小鍵盤已成為智能設(shè)備必不可少的組成部分。

    在現(xiàn)代便攜式智能儀器或手持設(shè)備中,中文人機(jī)界面成為一種事實(shí)上的行業(yè)標(biāo)準(zhǔn)。能顯示漢字的圖形點(diǎn)陣液晶和可輸入數(shù)字的小鍵盤已成為智能設(shè)備必不可少的組成部分。同時(shí)作為便攜式設(shè)備基本要求的低功耗特性也貫穿于中文人機(jī)界面的設(shè)計(jì)始終。

    這種低功耗中文人機(jī)交互界面需要設(shè)計(jì)者在選取MCU和具體元器件上有特殊考慮。微功耗、小體積應(yīng)作為選擇相關(guān)器件的首要要求。

    設(shè)計(jì)中,筆者采用MSP430F149單片機(jī)作為系統(tǒng)的MCU,通過(guò)選擇合適的液晶顯示模塊在3V電平構(gòu)建了一個(gè)低功耗的中文人機(jī)界面。此中文人機(jī)界面構(gòu)成了微功耗數(shù)據(jù)采集系統(tǒng)的重要組成部分。

一、MSP430系列FLASH型單片機(jī)的微功耗特點(diǎn)

    德州儀器公司(TI)推出的MSP430F14x系列是超低功耗Flash型16位RISC指令集單片機(jī)。它采用"馮-紐曼"結(jié)構(gòu),RAM、ROM和全部外圍模塊都位于同一個(gè)地址空間內(nèi)。其具有豐富的片內(nèi)外圍,性價(jià)比極高。

    MSP430F14x系列是TI的MSP430F1x系列(FLASH存儲(chǔ)器型)單片機(jī)中功能最強(qiáng)大的子系列。F14x具有更大的程序和數(shù)據(jù)存儲(chǔ)區(qū)、更多的外圍模塊,其片內(nèi)甚至還包括一個(gè)硬件乘法器。同時(shí)F14x系列單片機(jī)開(kāi)發(fā)工具簡(jiǎn)便,固化于FLASH存儲(chǔ)器內(nèi)的程序易于在線升級(jí)和調(diào)試,非常適合于開(kāi)發(fā)消費(fèi)類便攜式電子產(chǎn)品。

    MSP430F14x單片機(jī)集中體現(xiàn)了現(xiàn)代單片機(jī)先進(jìn)的低功耗設(shè)計(jì)理念。其設(shè)計(jì)結(jié)構(gòu)完全以系統(tǒng)低功耗運(yùn)行為核心。

    這種低功耗結(jié)構(gòu)具體體現(xiàn)在以下四點(diǎn):

    (1)高集成度的完全單片化設(shè)計(jì)。 將很多外圍模塊集成到了MCU芯片中,增大硬件冗余。內(nèi)部以低功耗、低電壓的原則設(shè)計(jì),這樣系統(tǒng)不僅功能強(qiáng)、性能可靠、成本降低,而且便于進(jìn)一步微型化和便攜化。

    (2)內(nèi)部電路可選擇性工作。 F14x單片機(jī)可以通過(guò)特殊功能寄存器選擇使用不同的功能電路,即依靠軟件選擇其中不同的外圍功能模塊,對(duì)于不使用的模塊使其停止工作,以減少無(wú)效功耗。

    (3)具有高速和低速兩套時(shí)鐘。 系統(tǒng)運(yùn)行頻率越高,電源功耗就會(huì)相應(yīng)增大。為更好地降低功耗,F(xiàn)14x單片機(jī)可采用三套獨(dú)立的時(shí)鐘源:高速的主時(shí)鐘、低頻時(shí)鐘(如32.768kHz)以及DCO片內(nèi)時(shí)鐘??稍跐M足功能需要的情況下按一定比例降低MCU主時(shí)鐘頻率,以降低電源功耗。在不需要高速運(yùn)行的情況下,可選用副時(shí)鐘低速運(yùn)行,進(jìn)一步降低功耗。通過(guò)軟件對(duì)特殊功能寄存器賦值可改變CPU的時(shí)鐘頻率,或進(jìn)行主時(shí)鐘和副時(shí)鐘切換。

    (4)具有多種節(jié)能工作模式。 F14x單片機(jī)具有五種節(jié)能模式:LPM0、LPM1、LPM2、LPM3、LPM4。這五種模式為其功耗管理提供了極好的性能保證。圖1顯示了活動(dòng)狀態(tài)(AM)與各種節(jié)能模式下消耗的實(shí)際工作電流大小。


圖1 F14x的工作模式與工作電流關(guān)系

    由于MSP430F14x系列是專為超低功耗的便攜式應(yīng)用開(kāi)發(fā)的。利用先進(jìn)的集成電路技術(shù)和生產(chǎn)工藝,其功耗已經(jīng)跨越了毫安級(jí),真正進(jìn)軍到了微安級(jí)。

    不僅如此,F(xiàn)14x的軟件結(jié)構(gòu)也針對(duì)低功耗而設(shè)計(jì)。如從備用模式喚醒MCU僅需6μS。其中斷和子程序調(diào)用無(wú)層次限制,這種豐富的中斷能力減少了系統(tǒng)查詢的需要,可以方便地設(shè)計(jì)出中斷程序結(jié)構(gòu)的控制程序。

    利用F14x系列單片機(jī),可以方便地構(gòu)建一個(gè)低電壓的工作平臺(tái)。通過(guò)各功能模塊的智能運(yùn)行管理和MCU的節(jié)能模式相結(jié)合,可以解決運(yùn)行速度、數(shù)據(jù)流量與低功耗設(shè)計(jì)的矛盾,將各功能模塊的電流消耗降至最低狀態(tài),限制活動(dòng)狀態(tài)至最低要求。經(jīng)過(guò)這樣優(yōu)化,可以實(shí)現(xiàn)單片機(jī)的極低功耗。如在1MHz工作頻率下,F(xiàn)14x只消耗0.1~400μA電流(1.8~3.6V供電),如1.8V供電時(shí),執(zhí)行時(shí)僅消耗160uA的電流,備用時(shí)0.1uA,這時(shí)RAM中的數(shù)據(jù)還能有效保持。

    概括來(lái)說(shuō),MSP430F14x單片機(jī)具有極低的功耗、強(qiáng)大的處理能力、豐富的片上外圍模塊,方便高效的開(kāi)發(fā)方式。

    本系統(tǒng)采用的MSP430F149單片機(jī),是F14x系列中功能最強(qiáng)大的一款。它具有一個(gè)硬件乘法器、6個(gè)I/O端口(每個(gè)有8個(gè)I/O口)、1個(gè)精確的模擬比較器、2個(gè)具有捕捉/比較寄存器的定時(shí)器、8路12位A/D轉(zhuǎn)換器、片內(nèi)看門狗定時(shí)器、2個(gè)串行通信接口和60KB的FlashROM,2KB RAM。F149還具有強(qiáng)大的擴(kuò)展功能,其具有48個(gè)I/O引腳,每個(gè)I/O口分別對(duì)應(yīng)輸入、輸出、功能選擇、中斷等多個(gè)寄存器,使得功能口和通用I/O口可以復(fù)用,大大增強(qiáng)了端口功能和靈活性,提高了對(duì)外圍設(shè)備的開(kāi)發(fā)能力。

    MSP430F149的以上特點(diǎn),使其非常適合于構(gòu)成一個(gè)全功能的便攜式單片機(jī)應(yīng)用系統(tǒng)。

二、液晶顯示模塊與接口電路

    圖形點(diǎn)陣式液晶可顯示用戶自定義的任意符號(hào)和圖形,并可卷動(dòng)顯示,它作為便攜式單片機(jī)系統(tǒng)人機(jī)交互界面的重要組成部分被廣泛應(yīng)用于實(shí)時(shí)檢測(cè)和顯示的儀器儀表中。支持漢字顯示的圖形點(diǎn)陣液晶在現(xiàn)代單片機(jī)應(yīng)用系統(tǒng)中是一種十分常用的顯示設(shè)備,漢字BP機(jī)、手機(jī)上的顯示屏就是圖形點(diǎn)陣液晶。它與行列式小鍵盤組成了現(xiàn)代單片機(jī)應(yīng)用系統(tǒng)中最常用的人機(jī)交互界面。

    采用圖形點(diǎn)陣式液晶顯示較之其它顯示方式主要有以下優(yōu)點(diǎn):
    
    (1)工作電壓低、功耗極低。工作電壓3~5V,工作電流≤10uA/cm2,特別適用于便攜式的儀器儀表中。

    (2)液晶顯示屬被動(dòng)顯示,受外界光線干擾小。
    
    (3)圖形點(diǎn)陣式液晶可顯示的信息量大,分辨率高。

    (4)不產(chǎn)生電磁干擾。

    (5)可靠性高。使用壽命長(zhǎng)。

    在設(shè)計(jì)中,筆者采用了信利(TRULY)公司的MG-12232液晶顯示模塊。MG-12232模塊供電電壓的典型值為3V,工作電流的典型值為0.3mA,很適合本系統(tǒng)3V電平的低功耗環(huán)境。其可顯示范圍為122×32點(diǎn)陣,即能實(shí)現(xiàn)所謂的"雙排漢顯"。MG-12232采用的控制器是兩片SED1520,一片SED1520控制器可以驅(qū)動(dòng)16行×80列。SED1520控制器可以在3V邏輯下正常工作,因而避免了與MSP430單片機(jī)邏輯電平不匹配的問(wèn)題。其具體結(jié)構(gòu)框圖見(jiàn)圖2

 

圖2 SED1520的引腳定義和結(jié)構(gòu)框圖


    
    SED1520控制器作為液晶顯示屏與MCU的接口,它直接驅(qū)動(dòng)MG-12232液晶,控制字符、漢字以及圖形的顯示。由于MSP430F149具有48個(gè)I/O引腳,借助SED1520,可以直接利用MSP430的I/O口模擬液晶的讀寫(xiě)和控制時(shí)序。使得MCU對(duì)液晶的操作實(shí)際上變?yōu)镸CU對(duì)液晶顯示控制器SED1520的操作,因而接口電路的的硬件連接和軟件編程都簡(jiǎn)單了很多。
    
    圖2中"V5"引腳提供MG-12232液晶的對(duì)比度電壓,可以通過(guò)一個(gè)-12V電壓發(fā)生電路(如MAX765)產(chǎn)生,經(jīng)一個(gè)100K電位器分壓后即可使用。

    MCU可以通過(guò)SED1520的一些控制引腳和13條常用指令來(lái)訪問(wèn)液晶顯示模塊。如"RST"用于重啟動(dòng)SED1520,"E1"和"E2"分別用于使能兩片SED1520。"R/W"控制對(duì)SED1520的讀或?qū)憽?A0"決定此次操作是指令讀寫(xiě)還是數(shù)據(jù)讀寫(xiě)。

    一個(gè)SED1520顯示控制器能控制80×16點(diǎn)陣液晶的顯示,其顯示RAM共16行,分2頁(yè),每頁(yè)8行,每一頁(yè)的數(shù)據(jù)寄存器分別對(duì)應(yīng)液晶屏幕上的8行點(diǎn)。當(dāng)設(shè)置了頁(yè)地址和列地址后就確定了顯示RAM中的唯一單元。屏幕上的每一列對(duì)應(yīng)一個(gè)顯示RAM的字節(jié)內(nèi)容,且每列最下面一位為MSB,最上面一位為L(zhǎng)SB,即該RAM單元字節(jié)數(shù)據(jù)由低位到高位的各個(gè)數(shù)據(jù)位對(duì)應(yīng)于顯示屏上某一列的由高到低的8個(gè)數(shù)據(jù)位。對(duì)顯示RAM的一個(gè)字節(jié)單元賦值就是對(duì)當(dāng)前列的8行(一頁(yè))像素點(diǎn)是否顯示進(jìn)行控制。如圖3,MSP430F149單片機(jī)的P5口用作與液晶顯示模塊通信的數(shù)據(jù)口。


    MG-12232顯示模塊有多個(gè)型號(hào),不同型號(hào)都采用相同的SED1520控制器,操作及使用方法完全相同,只是尺寸不同。常用的如MG-12232-5(76×29.1×5.7mm)、MG-12232-6(45.05×22.32×6.3mm)、MG-12232-7(84×44×10mm)等,可以分別用在大小不同的便攜式儀器或設(shè)備上。

    對(duì)液晶顯示模塊還需著重考慮其背光類型,不同的背光類型消耗電流大不相同。一般可選的背光類型有LED(發(fā)光二極管)、EL(電致發(fā)光燈)以及CCFL型(冷陰極燈管)。EL是一種面發(fā)光的冷光源,在結(jié)構(gòu)上可以做得很大很薄,雖然亮度較低,但發(fā)光非常均勻而且無(wú)光斑,尤其是功耗很低。缺點(diǎn)是需要一個(gè)高壓交流電壓來(lái)驅(qū)動(dòng),故需要一個(gè)專門的電壓變換電路(如IMP803)。CCFL照明面積更大,適用于需要大面積液晶顯示界面的儀器或設(shè)備中。

三、鍵盤接口

    MSP430F149的P1、P2口除了支持輸入、輸出以外,還支持硬件中斷。P1、P2口的8個(gè)引腳都有各自的控制寄存器,每個(gè)引腳可以單獨(dú)控制,并且每個(gè)引腳都可以作為中斷源,每一引腳都可以單獨(dú)選擇中斷觸發(fā)沿,單獨(dú)允許中斷。P1、P2口各使用一個(gè)中斷向量,P1.0~P1.7產(chǎn)生同一個(gè)中斷,P2.0~P2.7也產(chǎn)生同一個(gè)中斷。P1、P2口的這種結(jié)構(gòu)非常適合實(shí)現(xiàn)基于中斷的鍵盤輸入響應(yīng)程序。

    本系統(tǒng)中使用2×2的行列式鍵盤。鍵盤程序采用行掃描法。即P1.0、P1.1接兩根列線,列線定義為輸出口,P1.2、P1.3接兩根行線,行線定義為輸入口。兩根行線需接10K上拉電阻。

    基于對(duì)系統(tǒng)低功耗要求的考慮,鍵盤輸入響應(yīng)程序應(yīng)設(shè)計(jì)為中斷方式運(yùn)行的。即有鍵按下時(shí),產(chǎn)生中斷把MCU從休眠狀態(tài)喚醒,并啟動(dòng)定時(shí)12ms的定時(shí)器,隨后MCU又進(jìn)入休眠狀態(tài)。當(dāng)定時(shí)器產(chǎn)生中斷時(shí)再次將MCU從休眠狀態(tài)喚醒,此時(shí)掃描鍵盤,若有鍵按下,則計(jì)算出鍵值,并執(zhí)行該鍵值對(duì)應(yīng)的功能程序。執(zhí)行完該程序后,MCU再次進(jìn)入休眠狀態(tài)。

四、漢字顯示的原理與部分程序?qū)嵗?/strong>

    1、圖形點(diǎn)陣液晶的漢字字模

    與在DOS中顯示漢字不同的是,圖形點(diǎn)陣液晶并不是簡(jiǎn)單地用畫(huà)點(diǎn)的方式來(lái)描出漢字。直接從中文系統(tǒng)漢字字庫(kù)中提取的漢字字模并不能直接在液晶上顯示,通常都必須經(jīng)過(guò)格式上的調(diào)整和轉(zhuǎn)換。標(biāo)準(zhǔn)16點(diǎn)陣漢字(如希望漢字的HZK16)字模數(shù)據(jù)的排列形式如圖4。

    由于一個(gè)SED1520顯示控制器能控制80×16點(diǎn)陣液晶的顯示,其顯示RAM共16行,分2頁(yè),每頁(yè)8行。連續(xù)16列相鄰2頁(yè)的32字節(jié)顯示RAM就可以控制一個(gè)漢字的顯示區(qū)域(如圖5)。對(duì)這些顯示RAM賦以相應(yīng)值就可以顯示出一個(gè)漢字。


    由圖4和圖5所示可見(jiàn),SED1520圖形點(diǎn)陣液晶顯示控制器漢字字模的排列順序和方式與標(biāo)準(zhǔn)漢字字模完全不同。液晶字模數(shù)據(jù)可以通過(guò)對(duì)標(biāo)準(zhǔn)字模數(shù)據(jù)進(jìn)行位運(yùn)算后得到。

    實(shí)際編程中,具體漢字的液晶字模數(shù)據(jù)應(yīng)存放在MSP430F149單片機(jī)的FLASH存儲(chǔ)器中。

    2、液晶顯示器初始化流程

    在液晶顯示信息之前,必須先對(duì)液晶進(jìn)行初始化。 初始化的流程如下:


    需注意,MG-12232模塊內(nèi)雖然一片SED1520控制器實(shí)際控制區(qū)域?yàn)?1列,但清除顯示RAM時(shí),仍應(yīng)按80個(gè)RAM單元清除。

    3、部分程序?qū)嵗?/strong>

    程序是在MSP430單片機(jī)的開(kāi)發(fā)平臺(tái)IAR Embedded Workbench下采用匯編語(yǔ)言編寫(xiě),仿真機(jī)采用了TI公司的MSP-FET430P410。

    由于本系統(tǒng)中選用了MSP430F149單片機(jī),對(duì)源程序編譯前需對(duì)IAR Embeded WorkBench平臺(tái)進(jìn)行以下設(shè)置:

    A. 點(diǎn)擊Project菜單下的Options…命令進(jìn)入設(shè)置窗口,對(duì)左邊Category框內(nèi)的"XLINK"選項(xiàng)下的"Include"頁(yè)面進(jìn)行設(shè)置,把"XCL file name"框的內(nèi)容設(shè)置為"C:\Program Files\IAR Systems\ew23\430\icc430\msp430F149A.xcl"。

    B. 點(diǎn)擊Project菜單下的Options…命令進(jìn)入設(shè)置窗口,對(duì)左邊Category框內(nèi)的"C-SPY"選項(xiàng)下的"Setup"頁(yè)面進(jìn)行設(shè)置,把"Chip Description"框的內(nèi)容設(shè)置為"C:\Program Files\IAR Systems\ew23\430\cw430\msp430F149.ddf"。

    以下給出了一些常量定義和發(fā)送命令字子程序(SEND_COM)、發(fā)送數(shù)據(jù)子程序(SEND_DATA)及液晶狀態(tài)查詢子程序(LCD_STE)的源代碼。


    
五、結(jié)束語(yǔ)

    本系統(tǒng)利用MSP430F149單片機(jī)、MG-12232圖形點(diǎn)陣液晶模塊和行列式鍵盤接口構(gòu)建了基于3V電平的低電壓、微功耗的中文人機(jī)界面。實(shí)際使用中,此人機(jī)界面消耗電流不足1mA,這種設(shè)計(jì)方案取得了很好的微功耗效果。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:高壓變頻器散熱與通風(fēng)的設(shè)計(jì)

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)