| 
 | 
 
基于单片机的OLED显示器的应用 
 
  1  前言        有机发光显示器(Organic Light Emitting Display,OLED)是一种新型发光和显示器件。OLED实质上是一个薄膜器件,它的发光层是有机材料层,当有电流通过时,这些有机材料就会发光。与传统的液晶显示器(LCD)相比,除了无需背光源外,OLED显示屏可实现低于1mm的厚度,这为实现软体显示提供了可能,此外可视角度更大,亮度更高,色彩更加丰富。OLED可广泛应用于手持设备、通信终端、仪器仪表等领域。 
2  模块结构 
       下面以维信诺VGG12864E-S001模块为例,介绍OLED的模块结构。 
2.1  模块框图 
       VGG12864E-S001 模块的OLED 显示屏为128 列,64 行结构。使用两片列驱动控制器,每片有64 路输出,分别驱动1-64 列和65-128 列;使用一片有64 行输出的行驱动器。图1为其模块逻辑电路和接口电路框图。 
                       
 
 
 
2.2 引脚说明 
       表1是VGG12864E-S001的引脚功能说明。 
      
 
 
       表1 VGG12864E-S001引脚功能表 
 
3  应用举例 
       在实际应用中,VGG12864E-S001模块与微处理器的连接方式有两种,一种为直接访问方式,一种为间接访问方式。下面以直接访问方式为例,介绍与8031的连接电路。 
                              
 
 
 
3.1 驱动电源转换电路设计 
       多数嵌入式系统中只由外部提供+5V单电源,因此必须为OLED提供驱动电源转换电路。LTC3459是Linear Technology公司推出的升压芯片。其输入电压为+1.5V~+5.5V,输出电压为+2.5V~+10V。其最大静态电流为20mA,当转换器处于关闭模式时,其剩余工作电流低于1mA。图2为其典型电路,输出电压为+10V,满足VGG12864E-S001模块+9V~+11V的驱动电压输入要求。 
3.2 接口电路 
       直接访问方式就是将模块的接口作为存储器或I/O 设备直接挂在计算机总线上,计算机以访问存储器或I/O 设备的方式对模块操作。图3是直接访问方式的接口实用电路图。 
3.3 应用程序举例 
本程序显示字符"Tel:62780866" 
ORG 0000H 
AJMP MAIN 
COM     EQU  20H    ;指令寄存器 
DAT     EQU  21H    ;数据寄存器 
PAGE    EQU  31H   ;页地址寄存器D2,D1,D0 
;以下读、写地址分配略 
MAIN:     MOV   SP,#60H 
ACALL    INT 
ACALL    CLEAR 
MOV      PAGE, #85H  
MOV      COLUMN,#30H     ;起始列为第48列 
MOV      CODE,#00H        ; T 
ACALL    CWPR 
MOV      PAGE,#85H 
MOV      COLUMN,#01H     ; e 
MOV      CODE,#45H 
ACALL    CWPR 
MOV      PAGE,#85H 
MOV      COLUMN,#02H 
MOV      CODE,#4CH        ; l 
ACALL    CWPR 
MOV      PAGE,#85H 
MOV      COLUMN,#03H 
MOV      CODE,#1AH        ; : 
ACALL    CWPR 
MOV      R7,#00H 
MOV      R6,#60H 
LOOP:     MOV A,R7 
MOV      DPTR,#TAB 
MOVC     A,@A+DPTR 
MOV      CODE,A 
MOV      PAGE,#05H  
MOV      COLUMN,R6 
ACALL    CWPR 
INC       R7 
MOV      A,#06H 
ADD      A,R6 
MOV      R6,A 
CJNE     R7,#08,LOOP 
SJMP     $ 
TAB: DB 04H,05H,06H,07H,08H,07H,09H,09H 
; 子程序 
 (A) 左半部控制驱动器(1-64列)驱动子程序 
; (1) 写指令代码子程序 
PRR0:  PUSH  DPL 
PUSH  DPH 
MOV  DPTR,#CRADD2  ;设置读状态字地址 
PRR01:  MOVX  A,@DPTR      ; 读状态字 
JB   ACC.7,PRR01  ;判"忙"标志为"0"否,否再读 
MOV  DPTR,#CWADD2  ;设置写指令代码地址 
MOV      A,COM      ;取指令代码 
MOVX    @DPTR,A   ;写指令代码 
POP   DPH 
POP    DPL 
RET 
; (2)   写显示数据子程序(略) 
; (3)   读显示数据子程序 
PRR2:    PUSH  DPL 
PUSH  DPH 
MOV  DPTR,#CRADD2   ;设置读状态字地址 
PRR21:   MOVX   A,@DPTR   ;读状态字 
JB  ACC.7,PRR21    ;判"忙"标志为"0"否,否再读 
MOV  DPTR ,#DRADD2  ;设置读显示数据地址 
MOV A,COM  ;取指令代码 
MOVX  @DPTR,A  ;写指令代码 
POP DPH 
POP DPL 
RET 
; (B)  右半部控制驱动器(65-128列)驱动子程序(略) 
; (C)  初始化子程序 
INT:   MOV COM,#0C0H   ;设置显示起始行为第一行 
ACALL   PRL0 
ACALL   PRR0 
MOV     COM,#3FH  ;开显示设置 
ACALL   PRL0 
ACALL   PRR0 
RET 
; (D)  清显示区子程序(略) 
4  结束语 
 
 
 
 
       随着OLED技术的不断成熟,OLED正以其优良的显示特性,将部分替代LCD和LED,广泛应用于以单片机和DSP等为核心的嵌入式系统中。 |   
 
 
 
 |