液晶之T6963C控制器使用心得

    技术2022-05-11  151

    我所用液晶显示器的大致规格: 

              240128A是一种图形点阵液晶显示器,它由控制器T6963C、行驱动器/ 列驱动器及240×128全点阵液晶显示器组成.可完成图形显示,也可以显示15×8个(16×16点阵)汉字.

    根据demo调式过的汇编程序:

    ORG      0000H          AJMP     MAIN           ORG      0003H         AJMP     ZHONGDUAN         ORG      0035H   ZHONGDUAN:         HERE:    SJMP  HERE         RET                                                                  

       ;**********************************************        DATA1    EQU     30H      ;第一参数单元        DATA2    EQU     31H      ;第二参数/数据单元     COMMAND     EQU     32H       ;指令代码单元         C_ADD   EQU     8111H      ;指令通道地址         D_ADD   EQU     8110H      ;数据通道地址  RE_ADD  EQU     8300H      ;复位通道地址         O_X      EQU     33H         O_Y     EQU     34H  ATTR    EQU     35H          COUNT  EQU  36H

        ;***********************************************   BUSY1:         PUSH    DPH         PUSH    DPL         MOV    DPTR,#C_ADD         MOVX    A,@DPTR         POP    DPL         POP    DPH         RET    ;***********************************************      BUSY:  LCALL   BUSY1             JNB     ACC.0, BUSY1             JNB     ACC.1, BUSY1             RET    ;*****************************************      WRITE_COMMAND:PUSH     DPH                    PUSH     DPL                    LCALL    BUSY                    MOV      A,COMMAND                    MOV      DPTR,#C_ADD                    MOVX     @DPTR,A                    POP      DPL                    POP      DPH                    RET      WRITE_DATA:                    PUSH     DPH                    PUSH     DPL                    LCALL    BUSY                    MOV      A,DATA2                    MOV      DPTR,#D_ADD                    MOVX     @DPTR,A                    POP      DPL                    POP      DPH                    RET

          MS40:    MOV    R7,#0E8H      MS2:     MOV    R6,#0FFH      MS1:     DJNZ   R6,MS1               DJNZ   R7,MS2               RET        DELAY: MOV    R5,#05H        DELAY1: LCALL  MS40               DJNZ   R5,DELAY1               RET;*****************************************************ST3:   MOV   DPTR,#C_ADD       MOVX   A,@DPTR       JNB    ACC.3,ST3       RET;*****************************************************

         CLEAR1:              MOV    DATA2,#00H              LCALL  WRITE_DATA              MOV    DATA2,#00H              LCALL  WRITE_DATA              MOV    COMMAND,#24H      ;显示地址设置              LCALL  WRITE_COMMAND             MOV    R3,#00H              MOV    R4,#20H              MOV    COMMAND,#0B0H     ;自动写入             LCALL  WRITE_COMMAND          M1:              NOP          M:  MOV    A,#00H              MOV    DATA2,A              LCALL  WRITE_DATA             DJNZ   R3,M             DJNZ   R4,M1             MOV    COMMAND,#0B2H     ;推出自动写入              LCALL  WRITE_COMMAND       ret   ;**********************************************    WRI_CT:     MOV A,O_Y    MOV B,#20H    MUL AB    ADD A,O_X    MOV O_X,A    MOV DATA2,A    LCALL WRITE_DATA           MOV  A,B           ADDC A,#00H    MOV  O_Y,A           MOV DATA2,A           LCALL WRITE_DATA           MOV COMMAND,#24H                     ;写入控制字,指出文本ram的首地址           LCALL WRITE_COMMAND           MOV DATA2,DATA1           LCALL WRITE_DATA           MOV COMMAND,#0C0H           LCALL WRITE_COMMAND                      MOV   A,DATA1         ADD A,#02H    MOV  DATA2,A    LCALL WRITE_DATA    MOV  COMMAND,#0C0H    LCALL WRITE_COMMAND    MOV A,#20H    ADD A,O_X    MOV  DATA2,A    LCALL WRITE_DATA    CLR A    ADDC A,O_Y    MOV DATA2,A    LCALL WRITE_DATA    MOV COMMAND,#24H    LCALL WRITE_COMMAND    MOV  A,DATA1    INC A    MOV DATA2,A    LCALL WRITE_DATA    MOV COMMAND,#0C0H    LCALL WRITE_COMMAND    MOV A,DATA1    ADD A,#03H    MOV DATA2,A    LCALL WRITE_DATA    MOV COMMAND, #0C0H    LCALL WRITE_COMMAND           RET;*****************************************************

        WRI_C:     MOV A,O_Y    MOV B,#20H    MUL AB    ADD A,O_X    MOV DATA2,A    LCALL WRITE_DATA           MOV  A,B           ADDC A,#00H           MOV DATA2,A           LCALL WRITE_DATA           MOV COMMAND,#24H                     ;写入控制字,指出文本ram的首地址           LCALL WRITE_COMMAND           MOV DATA2,DATA1           LCALL WRITE_DATA           MOV COMMAND,#0C4H           LCALL WRITE_COMMAND                      MOV A,O_Y    MOV B,#20H    MUL AB    ADD A,O_X    MOV DATA2,A    LCALL WRITE_DATA           MOV  A,B           ADDC A,#00H                     ADD  A,#08H           MOV  DATA2,A           LCALL WRITE_DATA           MOV  COMMAND,#24H                   ;定义属性区的首地址           LCALL WRITE_COMMAND           MOV DATA2,ATTR           LCALL WRITE_DATA           MOV  COMMAND,#0C4H           LCALL WRITE_COMMAND           RET;*****************************************************

         CGRAM:MOV  DATA2,#03H           LCALL WRITE_DATA    MOV  DATA2,#00H    LCALL  WRITE_DATA    MOV  COMMAND,#22H    LCALL WRITE_COMMAND    MOV  DATA2,#00H    LCALL WRITE_DATA    MOV DATA2,#1CH    LCALL WRITE_DATA    MOV COMMAND,#24H    LCALL WRITE_COMMAND    MOV  COMMAND,#0B0H    LCALL WRITE_COMMAND    MOV A,COUNT    MOV B,#08H    MUL AB    MOV COUNT,A    INC B    MOV DPTR,#CGTAB    PUSH DPH    PUSH DPL     CGRAM1:LCALL ST3            POP   DPL     POP   DPH     CLR A     MOVC  A,@A+DPTR     INC DPTR     PUSH  DPH     PUSH DPL     MOV DATA2,A     LCALL WRITE_DATA     DJNZ  COUNT,CGRAM1     DJNZ  B,CGRAM1     MOV   COMMAND,#0B2H     LCALL WRITE_COMMAND     POP DPL     POP DPH     RET;*****************************************************

          MAIN:    MOV    dptr,#RE_ADD        MOV    A,#10H        MOVX   @dptr,A

                  MOV    SP,#20H              MOV    P3,#0FFH              SETB   EA              SETB   EX0              SETB   IT0              MOV    COMMAND,#90H              LCALL  WRITE_COMMAND              LCALL  MS40              MOV    DATA2,#00H              LCALL  WRITE_DATA              MOV    DATA2,#00H              LCALL  WRITE_DATA              MOV    COMMAND,#40H   ;文本显示区首地址设置              LCALL  WRITE_COMMAND                          MOV    DATA2,#20H              LCALL  WRITE_DATA              MOV    DATA2,#00H              LCALL  WRITE_DATA              MOV    COMMAND,#41H   ;文本显示区宽度设置              LCALL  WRITE_COMMAND              MOV    COMMAND,#80H    ;或者模式 显示方式               LCALL  WRITE_COMMAND

                   MOV    COMMAND,#94H   ;    启动文本               LCALL  WRITE_COMMAND

                  lcall  CLEAR1     ; MOV COMMAND,#0A5H            ; LCALL WRITE_COMMAND      ;光标形状选择             ;MOV DATA2,#0AH            ; LCALL WRITE_DATA             ;MOV DATA2,#01H             ;LCALL WRITE_DATA             ;MOV COMMAND,#21H              ;定义光标位置             ;LCALL WRITE_COMMAND                          MOV COUNT,#80H             LCALL CGRAM                 ;汉字读入CGRAM字库

                 MOV  DATA1,#80H             MOV  O_X,#00H             MOV  O_Y,#00H               ;写出汉字             LCALL WRI_CT              MOV  COUNT,#84H      LCALL CGRAM                    MOV  DATA1,#84H      MOV  O_X,#02H      MOV  O_Y,#00H      LCALL  WRI_CT

                       MOV  R2,#00H             MOV  R3,#06H             MOV  R4,#06H      MOV   A,R2          LOOPB:   MOV  DPTR,#DTAB             MOVC  A,@A+DPTR             MOV  DATA1,A             MOV  ATTR,R1             MOV  O_X,R3             MOV   O_Y,R4             LCALL WRI_C              INC   R2             INC   R3             MOV   A,R2             CJNE  A,#13,LOOPB             LCALL DELAY                   SJMP  $                        ;***************************************************** CGTAB:  ;DB  00H,40H,37H,10H,81H,61H,22H,0AH             ;液        ;DB  16H,2BH,0E2H,22H,22H,23H,22H,22H        ;DB  80H,44H,0FEH,20H,20H,3CH,44H,64H        ;DB  98H,48H,50H,20H,50H,8EH,04H,00H                  DB  0x7F,0x02,0x1F,0x10,0x1F,0x10,0x1F,0x10 DB  0x1F,0x08,0x0F,0x08,0x16,0x21,0x0E,0x70        DB  0xFE,0x00,0xF0,0x10,0xF0,0x10,0xF0,0x10 DB  0xF0,0x00,0xF0,0x20,0x40,0x80,0x70,0x0E;    夏

     DB  0x00,0x3E,0x22,0x22,0x22,0x3E,0x00,0x7F DB  0x08,0x7F,0x08,0x08,0x0F,0xF0,0x00,0x00        DB  0x00,0x7E,0x44,0x44,0x48,0x50,0x48,0x44 DB  0x42,0x42,0x42,0x5A,0x44,0x40,0x40,0x40;     郢

     DTAB :  DB  37H,45h,4Ch,43H,4FH,4DH,45H,00H,33H,48H,49H,4EH,45H

                          

    ;*****************************************************            END

       程序中attr没用到过 估计是做文字显示特效需要的东东,可以去掉.  显示效果:

    ******************************************************************************************************************

    夏郢

     

                                                                  welcome shine

     

     

    ******************************************************************************************************************

    有兴趣的朋友我将给您我的连接方式图

          


    最新回复(0)