微功耗中文人机界面设计

2019-08-03 21:33发布

   概括来说,MSP430F14x单片机具有极低的功耗、强大的处理能力、丰富的片上外围模块,方便高效的开发方式。    本系统采用的MSP430F149单片机,是F14x系列中功能最强大的一款。它具有一个硬件乘法器、6个I/O端口(每个有8个I/O口)、1个精确的模拟比较器、2个具有捕捉/比较寄存器的定时器、8路12位A/D转换器、片内看门狗定时器、2个串行通信接口和60KB的FlashROM,2KB RAM。   F149还具有强大的扩展功能,其具有48个I/O引脚,每个I/O口分别对应输入、输出、功能选择、中断等多个寄存器,使得功能口和通用I/O口可以复用,大大增强了端口功能和灵活性,提高了对外围设备的开发能力。MSP430F149的以上特点,使其非常适合于构成一个全功能的便携式单片机应用系统。二、液晶显示模块与接口电路   图形点阵式液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。支持汉字显示的图形点阵液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字BP机、手机上的显示屏就是图形点阵液晶。它与行列式小键盘组成了现代单片机应用系统中最常用的人机交互界面。采用图形点阵式液晶显示较之其它显示方式主要有以下优点:(1)工作电压低、功耗极低。工作电压3~5V,工作电流≤10uA/cm2,特别适用于便携式的仪器仪表中。
(2)液晶显示属被动显示,受外界光线干扰小。
(3)图形点阵式液晶可显示的信息量大,分辨率高。
(4)不产生电磁干扰。
(5)可靠性高。使用寿命长。
   在设计中,笔者采用了信利(TRULY)公司的MG-12232液晶显示模块。MG-12232模块供电电压的典型值为3V,工作电流的典型值为0.3mA,很适合本系统3V电平的低功耗环境。其可显示范围为122×32点阵,即能实现所谓的双排汉显。MG-12232采用的控制器是两片SED1520,一片SED1520控制器可以驱动16行×80列。SED1520控制器可以在3V逻辑下正常工作,因而避免了与MSP430单片机逻辑电平不匹配的问题。其具体结构框图见图2。图2 SED1520的引脚定义和结构框图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
1988020566
2019-08-05 02:20
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

一周热门 更多>