新聞中心

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

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

        作者: 時間:2011-12-02 來源:網絡 收藏

        初始化的流程如下:

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

        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)的源代碼。
        #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使用的數據寄存器
        LCD_PAGE EQU0200h;定義顯示頁面
        LCD_ORDER EQU0201h;暫存液晶控制指令
        LCD_DATA EQU0202h;暫存液晶數據
        LCD_CNT EQU0203h;液晶計數存儲器
        LCD_ROW EQU0204h;存放列地址數據
        LCD_LINE EQU0205h;存放行地址數據
        LCD_CHAREQU0206h;存放當前字符數據的首地址
        LCD_BYTECNT EQU0207h ;存放要顯示的字節數
        LCD_STATUS EQU0208h ;存放液晶當前狀態的數據
        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 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;如狀態存儲器第7位為1,忙,則等待
        JC STE_AGN
        RET

        五、結束語

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


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武邑县| 吴江市| 普安县| 康平县| 西盟| 三原县| 瑞昌市| 宁陕县| 河曲县| 通城县| 准格尔旗| 广州市| 大姚县| 娱乐| 临江市| 阿尔山市| 南陵县| 阜新市| 兰西县| 芦溪县| 襄垣县| 巨鹿县| 历史| 九寨沟县| 孝昌县| 东乌珠穆沁旗| 蕲春县| 乌拉特中旗| 云和县| 齐齐哈尔市| 宁德市| 礼泉县| 集贤县| 叙永县| 米泉市| 抚顺县| 常山县| 新化县| 黄陵县| 额敏县| 格尔木市|