⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hd66773andssd1303t.asm

📁 HD66773 & SSD1303T驱动的LCD测试程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
 ;********************************************************
 ;********************************************************
 ;***    PROGRAM:      ??????????.ASM                 ***
 ;***    IC:           HD66773 & SSD1303T             ***
 ;***    DESCRIPTION:  COLOR PANEL TEST PROGRAM       ***
 ;***    DOT SIZE:     160*132TFT  & 96*64            ***
 ;***    WRITTEN BY:   ENG / BLEST                    ***
 ;***    DATE:         20040705                       ***
 ;***    LAST UPDATE DAY: 0810    ENG / BLEST          ***
 ;***    STRUCTURE: A)INTERFACE DEFINITION           ***
 ;***                B)MAIN PROGRAM                   ***
 ;***                C)INITIALIZATION MAIN PROGRAM    ***
 ;***                D)DISPLAY MAIN PROGRAM           ***
 ;***                E) WRITE DATA/COMMAND SUBPROGRAM  ***
 ;***                F)DELAY SUB PROGRAM              ***
 ;***                G)DISPLAY DATA                   ***
 ;********************************************************
 ;********************************************************


 ; *******************************
 ;  A)INTERFACE DEFINITION
 ; *******************************
      CS1    EQU    P3.0
      RESET  EQU    P3.1
      RS     EQU    P3.2
      WRB    EQU    P3.3
      CS2    EQU    P3.4
      COLOR1 EQU    30H
      COLOR2 EQU    31H
      PIXEL  EQU    32H
      PAGE1  EQU    33H
      PIXELA EQU    34H

 ; *******************************
 ;  B)MAIN PROGEAM
 ; *******************************
         ORG    00H
         JMP    MAIN
MAIN:
         LCALL  INITIALM
         LCALL  INITIALS
MAIN1:
         MOV    DPTR,#PICTURE1
         LCALL  DISPLAY65K
         MOV    DPTR,#PICTURE3  ;SUB LCD
         LCALL  DISPLAYS
         LCALL  DELAY2S
         LCALL  DELAY2S
         JB     P3.5,$
         MOV    COLOR1,#0f8H
         MOV    COLOR2,#00H
         LCALL  DISPLAY
         MOV    DPTR,#PICTURE2  ;SUB LCD
         LCALL  DISPLAYS
         LCALL  DELAY2S
         LCALL  DELAY2S
         JB     P3.5,$
         MOV    COLOR1,#07H
         MOV    COLOR2,#0E0H
         LCALL  DISPLAY
         MOV    PIXEL,#55H      ;SUB LCD
         LCALL  DISPLAYS_MULT
         LCALL  DELAY2S
         LCALL  DELAY2S
         JB     P3.5,$
         MOV    COLOR1,#00H
         MOV    COLOR2,#1FH
         MOV    PIXEL,#00H      ;SUB LCD
         MOV    PIXELA,#0FFH
         LCALL  DISPLAYS_MULTA
         LCALL  DISPLAY
         LCALL  DELAY2S
         JB     P3.5,$
         MOV    COLOR1,#0F8H
         MOV    COLOR2,#1FH
         MOV    PIXEL,#0AAH      ;SUB LCD
         MOV    PIXELA,#55H
         LCALL  DISPLAYS_MULTA
         LCALL  DISPLAY
         LCALL  DELAY2S
         JB     P3.5,$
         MOV    COLOR1,#0ffH
         MOV    COLOR2,#0ffH
         LCALL  DISPLAY
         LCALL  DELAY2S
         JB     P3.5,$
         MOV    COLOR1,#00H
         MOV    COLOR2,#00H
         LCALL  DISPLAY
         LCALL  DELAY2S
         JB     P3.5,$
         MOV    30H,#00H      ;BLACK
         MOV    31H,#00H
         MOV    32H,#00H      ;B
         MOV    33H,#01FH
         MOV    34H,#0F8H     ;R
         MOV    35H,#00H
         MOV    36H,#0F0H     ;RB   紫色
         MOV    37H,#1FH
         MOV    38H,#07H      ;G
         MOV    39H,#1E0H
         MOV    40H,#07H      ;GB    淡兰
         MOV    41H,#0FFH
         MOV    42H,#0FFH     ;RG    橙色
         MOV    43H,#0E0H
         MOV    44H,#0FFH     ;RGB=WHITE
         MOV    45H,#0FFH
         LCALL  DISPLAY_A
         LCALL  DELAY20mS
         JB     P3.5,$
         LCALL  DELAY2S
         JMP    MAIN


INITIALM:
         CLR  RESET        ;reset input
         LCALL DELAY20MS
         setb reset        
         LCALL DELAY20mS

         MOV A,#00H        ;start the osc
         LCALL WRITE_MS
         MOV A,#00H
         LCALL WRITE_MS
         MOV A,#00H
         LCALL WRITE_MD
         MOV A,#01H
         LCALL WRITE_MD
         LCALL   DELAY20MS

         MOV A,#00H        ;Driver output control
         LCALL WRITE_MS
         MOV A,#01H
         LCALL WRITE_MS
         MOV A,#01H
         LCALL WRITE_MD
         MOV A,#13H
         LCALL WRITE_MD             
         LCALL   DELAY20MS
         
         MOV A,#00H        ;Set scan starting position
         LCALL WRITE_MS
         MOV A,#0fH
         LCALL WRITE_MS
         MOV A,#00H
         LCALL WRITE_MD
         MOV A,#02H
         LCALL WRITE_MD             
         LCALL   DELAY20MS
         
         MOV A,#00H       ;Set horizontal RAM address
         LCALL WRITE_MS
         MOV A,#16H
         LCALL WRITE_MS
         MOV A,#80H
         LCALL WRITE_MD
         MOV A,#01H
         LCALL WRITE_MD
         LCALL   DELAY20MS
         
         MOV A,#00H       ;Set vertical RAM address
         LCALL WRITE_MS
         MOV A,#17H
         LCALL WRITE_MS
         MOV A,#0afH
         LCALL WRITE_MD
         MOV A,#00H
         LCALL WRITE_MD
         LCALL   DELAY20MS
         
         MOV A,#00H        ;power control 1
         LCALL WRITE_MS
         MOV A,#03H
         LCALL WRITE_MS
         MOV A,#00H
         LCALL WRITE_MD
         MOV A,#04H
         LCALL WRITE_MD             
         LCALL   DELAY20MS
         
         MOV A,#00H        ;power control 2
         LCALL WRITE_MS
         MOV A,#04H
         LCALL WRITE_MS
         MOV A,#80H
         LCALL WRITE_MD
         MOV A,#00H
         LCALL WRITE_MD             
         LCALL   DELAY20MS
         
         MOV A,#00H        ;power control 3
         LCALL WRITE_MS
         MOV A,#0cH
         LCALL WRITE_MS
         MOV A,#00H
         LCALL WRITE_MD
         MOV A,#01H
         LCALL WRITE_MD            
         LCALL   DELAY20MS
         
         MOV A,#00H        ;power control 4
         LCALL WRITE_MS
         MOV A,#0dH
         LCALL WRITE_MS
         MOV A,#09H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -