在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 設(shè)計(jì)基于MSP430單片機(jī)的微功耗中文人機(jī)界面

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

            作者: 時(shí)間:2012-02-17 來(lái)源:網(wǎng)絡(luò) 收藏

            三、

            F149的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)基于中斷的鍵盤(pán)輸入響應(yīng)程序。

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

            基于對(duì)系統(tǒng)低功耗要求的考慮,鍵盤(pán)輸入響應(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í)掃描鍵盤(pán),若有鍵按下,則計(jì)算出鍵值,并執(zhí)行該鍵值對(duì)應(yīng)的功能程序。執(zhí)行完該程序后,MCU再次進(jìn)入休眠狀態(tài)。

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

            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è)顯示控制器能控制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è)漢字。

            設(shè)計(jì)基于MSP430單片機(jī)的微功耗中文人機(jī)界面
            圖4 標(biāo)準(zhǔn)漢字字模排列形式圖5 漢字字模排列形式

            由圖4和圖5所示可見(jiàn),圖形點(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)存放在F149單片機(jī)的FLASH存儲(chǔ)器中。

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

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

            初始化的流程如下:

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

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

            3、部分程序?qū)嵗?

            程序是在單片機(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 FilesIAR Systemsew23430icc430msp430F149A.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 FilesIAR Systemsew23430cw430msp430F149.ddf"。

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

            #include"msp430x14x.h"
            ;程序在液晶上顯示"漢字液晶"。
            ;---------定義LCD的引腳
            LCD_RSTEQU04H;P4.2
            LCD_E1EQU40H;P4.6
            LCD_E2EQU20H;P4.5
            LCD_RWEQU10H;P4.4
            LCD_A0EQU08H;P4.3
            ;----------定義LCD使用的數(shù)據(jù)寄存器
            LCD_PAGEEQU0200h;定義顯示頁(yè)面
            LCD_ORDEREQU0201h;暫存液晶控制指令
            LCD_DATAEQU0202h;暫存液晶數(shù)據(jù)
            LCD_CNTEQU0203h;液晶計(jì)數(shù)存儲(chǔ)器
            LCD_ROWEQU0204h;存放列地址數(shù)據(jù)
            LCD_LINEEQU0205h;存放行地址數(shù)據(jù)
            LCD_CHAREQU0206h;存放當(dāng)前字符數(shù)據(jù)的首地址
            LCD_BYTECNTEQU0207h;存放要顯示的字節(jié)數(shù)
            LCD_STATUSEQU0208h;存放液晶當(dāng)前狀態(tài)的數(shù)據(jù)
            SEND_COM;發(fā)送命令字子程序,以LCD_ORDER為入口參數(shù)
            BIS.B#LCD_E1,P4OUT;SETE1=1,使能CHIP1
            CALL#LCD_STE
            BIC.B#LCD_A0,P4OUT;A0=0,SENDOUTINSTRUCTION
            BIC.B#LCD_RW,P4OUT;R/W=0,WRITABLE
            BIS.B#0FFH,P5DIR;SETP5PINSOUTPUT
            MOV.BLCD_ORDER,P5OUT;SENDORDERBYTETOLCD
            BIC.B#LCD_E1,P4OUT;SETE1=0
            RET
            ;發(fā)送數(shù)據(jù)子程序,以LCD_DATA為入口參數(shù)
            SEND_DATABIS.B#LCD_E1,P4OUT;SETE1=1
            CALL#LCD_STE
            BIS.B#LCD_A0,P4OUT;A0=1,SENDOUTDATA
            BIC.B#LCD_RW,P4OUT;R/W=0,WRITABLE
            BIS.B#0FFH,P5DIR;SETP5PINSOUTPUT
            MOV.BLCD_DATA,P5OUT;SENDDATABYTETOLCD
            BIC.B#LCD_E1,P4OUT;SETE1=0
            RET
            ;讀液晶當(dāng)前狀態(tài)的子程序LCD_STE
            LCD_STEBIC.B#LCD_A0,P4OUT;A0=0,SENDOUTINSTRUCTION
            BIS.B#LCD_RW,P4OUT;R/W=1,READABLE
            BIC.B#0FFH,P5DIR;SETP5PINSINPUT
            STE_AGNMOV.BP5IN,LCD_STATUS;GETSTATUSDATAFROMLCD
            BIT.B#80H,LCD_STATUS;如狀態(tài)存儲(chǔ)器第7位為1,忙,則等待
            JCSTE_AGN
            RET

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

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

            參考文獻(xiàn)
            1. MSP430系列FLASH型超低功耗16位單片機(jī),胡大可,北京航空航天大學(xué)出版社,2001
            2. MSP430x1xx Family User's Guide, 2000
            3. MSP430x13x,MSP430x14x Data sheet, 2000


            上一頁(yè) 1 2 下一頁(yè)

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉