新聞中心

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

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

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

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

  由于本系統(tǒng)中選用了F149,對(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_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使用的數(shù)據(jù)寄存器
LCD_PAGE   EQU   0200h          ;定義顯示頁(yè)面
LCD_ORDER  EQU   0201h          ;暫存液晶控制指令
LCD_DATA   EQU  0202h          ;暫存液晶數(shù)據(jù)
LCD_CNT   EQU   0203h           ;液晶計(jì)數(shù)存儲(chǔ)器
LCD_ROW   EQU   0204h           ;存放列地址數(shù)據(jù)
LCD_LINE   EQU   0205h           ;存放行地址數(shù)據(jù)
LCD_CHAR   EQU   0206h           ;存放當(dāng)前字符數(shù)據(jù)的首地址
LCD_BYTECNT EQU  0207h           ;存放要顯示的字節(jié)數(shù)
LCD_STATUS  EQU   0208h          ;存放液晶當(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 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     ;如狀態(tài)存儲(chǔ)器第7位為1,忙,則等待
       JC    STE_AGN
       RET

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

參考文獻(xiàn):

[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.


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

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉