新闻中心

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 下一页

评论


相关推荐

技术专区

关闭