新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機設計微功耗中文人機界面

        基于單片機設計微功耗中文人機界面

        作者: 時間:2013-07-03 來源:網絡 收藏

        3、部分程序實例
          程序是在的開發平臺IAR Embedded Workbench下采用匯編語言編寫,仿真機采用了TI公司的MSP-FET430P410。

          由于本系統中選用了F149,對源程序編譯前需對IAR Embeded WorkBench平臺進行以下設置:

        A. 點擊Project菜單下的Options…命令進入設置窗口,對左邊Category框內的"XLINK"選項下的"Include"頁面進行設置,把"XCL file name"框的內容設置為"C:Program FilesIAR Systemsew23430icc430msp430F149A.xcl"。

        B. 點擊Project菜單下的Options…命令進入設置窗口,對左邊Category框內的"C-SPY"選項下的"Setup"頁面進行設置,把"Chip Description"框的內容設置為"C:Program FilesIAR Systemsew23430cw430msp430F149.ddf"。

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

        #include       "msp430x14x.h"
        ;程序在液晶上顯示"漢字液晶"。
        ;---------定義LCD的引腳
        LCD_RST   EQU  04H    ;P4.2
        LCD_E1    EQU  40H     ;P4.6
        LCD_E2    EQU   20H    ;P4.5
        LCD_RW    EQU   10H    ;P4.4
        LCD_A0    EQU   08H    ;P4.3
        ;----------定義LCD使用的數據寄存器
        LCD_PAGE   EQU   0200h          ;定義顯示頁面
        LCD_ORDER  EQU   0201h          ;暫存液晶控制指令
        LCD_DATA   EQU  0202h          ;暫存液晶數據
        LCD_CNT   EQU   0203h           ;液晶計數存儲器
        LCD_ROW   EQU   0204h           ;存放列地址數據
        LCD_LINE   EQU   0205h           ;存放行地址數據
        LCD_CHAR   EQU   0206h           ;存放當前字符數據的首地址
        LCD_BYTECNT EQU  0207h           ;存放要顯示的字節數
        LCD_STATUS  EQU   0208h          ;存放液晶當前狀態的數據
        SEND_COM  ;發送命令字子程序,以LCD_ORDER為入口參數
               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
        ;發送數據子程序,以LCD_DATA為入口參數
        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
        ;讀液晶當前狀態的子程序LCD_STE
        LCD_STE   BIC.B  #LCD_A0,P4OUT      ;A0=0,SEND OUTINSTRUCTION
                BIS.B #LCD_RW,P4OUT      ;R/W=1,READABLE
                BIC.B  #0FFH,P5DIR       ;SET P5 PINS INPUT
        STE_AGN   MOV.B  P5IN,LCD_STATUS    ;GET STATUS DATA FROM LCD
               BIT.B  #80H,LCD_STATUS     ;如狀態存儲器第7位為1,忙,則等待
               JC    STE_AGN
               RET

        五、結束語
          本系統利用F149、MG-12232圖形點陣液晶模塊和行列式鍵盤接口構建了基于3V電平的低電壓、微功耗的中文。實際使用中,此消耗電流不足1mA,這種設計方案取得了很好的微功耗效果。

        參考文獻:

        [1].MSP430F149datasheethttp://www.dzsc.com/datasheet/MSP430F149_.
        [2].MSP430datasheethttp://www.dzsc.com/datasheet/MSP430_490166.html.
        [3].RISCdatasheethttp://www.dzsc.com/datasheet/RISC_1189725.html.
        [4].ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
        [5].SED1520datasheethttp://www.dzsc.com/datasheet/SED1520_603299.html.
        [6].MAX765datasheethttp://www.dzsc.com/datasheet/MAX765_1058099.html.
        [7].CCFLdatasheethttp://www.dzsc.com/datasheet/CCFL_1862812.html.
        [8].IMP803datasheethttp://www.dzsc.com/datasheet/IMP803_404123.html.
        [9].HZK16datasheethttp://www.dzsc.com/datasheet/HZK16_391805.html.


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武安市| 藁城市| 南乐县| 双辽市| 玉山县| 疏勒县| 石台县| 乐亭县| 靖边县| 兴和县| 嘉定区| 巨野县| 东莞市| 砚山县| 湟源县| 乌鲁木齐市| 临高县| 秭归县| 星子县| 灵宝市| 绥中县| 翼城县| 措美县| 怀集县| 焦作市| 收藏| 习水县| 平邑县| 浮山县| 独山县| 乌海市| 神池县| 礼泉县| 句容市| 阿克陶县| 汕尾市| 永仁县| 紫云| 浑源县| 大洼县| 扬中市|