新聞中心

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

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

        作者: 時間:2011-12-02 來源:網(wǎng)絡(luò) 收藏

        初始化的流程如下:

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

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

        程序是在單片機的開發(fā)平臺IAR Embedded Workbench下采用匯編語言編寫,仿真機采用了TI公司的MSP-FET430P410。

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

        A. 點擊Project菜單下的Options…命令進入設(shè)置窗口,對左邊Category框內(nèi)的XLINK選項下的Include頁面進行設(shè)置,把XCL file name框的內(nèi)容設(shè)置為C:Program FilesIAR Systemsew23430icc430msp430F149A.xcl。
        B. 點擊Project菜單下的Options…命令進入設(shè)置窗口,對左邊Category框內(nèi)的C-SPY選項下的Setup頁面進行設(shè)置,把Chip Description框的內(nèi)容設(shè)置為C:Program FilesIAR Systemsew23430cw430msp430F149.ddf。
        以下給出了一些常量定義和發(fā)送命令字子程序(SEND_COM)、發(fā)送數(shù)據(jù)子程序(SEND_DATA)及液晶狀態(tài)查詢子程序(LCD_STE)的源代碼。
        #includemsp430x14x.h
        ;程序在液晶上顯示漢字液晶。
        ;---------定義LCD的引腳
        LCD_RST EQU04H ;P4.2
        LCD_E1 EQU40H ;P4.6
        LCD_E2 EQU20H ;P4.5
        LCD_RW EQU 10H ;P4.4
        LCD_A0 EQU08H ;P4.3
        ;----------定義LCD使用的數(shù)據(jù)寄存器
        LCD_PAGE EQU0200h;定義顯示頁面
        LCD_ORDER EQU0201h;暫存液晶控制指令
        LCD_DATA EQU0202h;暫存液晶數(shù)據(jù)
        LCD_CNT EQU0203h;液晶計數(shù)存儲器
        LCD_ROW EQU0204h;存放列地址數(shù)據(jù)
        LCD_LINE EQU0205h;存放行地址數(shù)據(jù)
        LCD_CHAREQU0206h;存放當(dāng)前字符數(shù)據(jù)的首地址
        LCD_BYTECNT EQU0207h ;存放要顯示的字節(jié)數(shù)
        LCD_STATUS EQU0208h ;存放液晶當(dāng)前狀態(tài)的數(shù)據(jù)
        SEND_COM ;發(fā)送命令字子程序,以LCD_ORDER為入口參數(shù)
        BIS.B #LCD_E1,P4OUT;SET E1=1 ,使能CHIP1
        CALL #LCD_STE
        BIC.B #LCD_A0,P4OUT ;A0=0,SEND OUT INSTRUCTION
        BIC.B #LCD_RW,P4OUT ;R/W=0,WRITABLE
        BIS.B #0FFH,P5DIR ;SET P5 PINS OUTPUT
        MOV.B LCD_ORDER,P5OUT ;SEND ORDER BYTE TO LCD
        BIC.B #LCD_E1,P4OUT ;SET E1=0
        RET
        ;發(fā)送數(shù)據(jù)子程序,以LCD_DATA為入口參數(shù)
        SEND_DATA BIS.B #LCD_E1,P4OUT;SET E1=1
        CALL #LCD_STE
        BIS.B #LCD_A0,P4OUT ;A0=1,SEND OUT DATA
        BIC.B #LCD_RW,P4OUT;R/W=0,WRITABLE
        BIS.B #0FFH,P5DIR ;SET P5 PINS OUTPUT
        MOV.B LCD_DATA,P5OUT ;SEND DATA BYTE TO LCD
        BIC.B #LCD_E1,P4OUT;SET E1=0
        RET
        ;讀液晶當(dāng)前狀態(tài)的子程序LCD_STE
        LCD_STE BIC.B #LCD_A0,P4OUT ;A0=0,SEND OUT INSTRUCTION
        BIS.B #LCD_RW,P4OUT ;R/W=1,READABLE
        BIC.B #0FFH,P5DIR ;SET P5 PINS INPUT
        STE_AGNMOV.B P5IN,LCD_STATUS ;GET STATUS DATA FROM LCD
        BIT.B #80H,LCD_STATUS;如狀態(tài)存儲器第7位為1,忙,則等待
        JC STE_AGN
        RET

        五、結(jié)束語

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


        上一頁 1 2 3 4 下一頁

        關(guān)鍵詞: MSP430 微功耗 中文人機界面

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 龙州县| 彝良县| 乐东| 防城港市| 宿迁市| 巫山县| 廉江市| 会理县| 和政县| 天等县| 桂东县| 新昌县| 信阳市| 深州市| 乌苏市| 华容县| 准格尔旗| 定南县| 灵寿县| 诸暨市| 和田市| 大安市| 龙州县| 洪洞县| 射阳县| 万源市| 楚雄市| 丹东市| 缙云县| 石门县| 蒲江县| 古蔺县| 望谟县| 色达县| 古丈县| 五莲县| 鄂托克前旗| 鲁山县| 平顺县| 维西| 邵东县|