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

📄 5366.asm

📁 5366 LCD模块测试程序
💻 ASM
📖 第 1 页 / 共 2 页
字号:
DATA_TMP        EQU     10H             ; $10 - $7F = RAM LOCATION     
PIXELCNT        EQU     11H
PAGE_CNT        EQU     12H
COL_CNT         EQU     13H
ROW_CNT         EQU     14H
TEMPA           EQU     15H
DISP_CNT        EQU     19H
TEMPB           EQU     1CH
TEMPC           EQU     1DH
TEMPD           EQU     1EH
tempx           equ     21h
                
A0              EQU     P1.2
CS1             EQU     P1.4
SI              EQU     P1.0
CLK             EQU     P1.1
RES             EQU     P1.3
MAX_PAGE        EQU     8
LAST_PAGE       EQU     7                                                                                             
MAX_DOT         EQU     95           
FIRST_SEG       EQU     0
MAX_COL         EQU     95       

;COMMANDS
LINE_ZERO       EQU     01000000B       ;D5-D0 - LINE 0
PAGE_ZERO       EQU     10110000B       ;D3-D0 - PAGE 0
DISP_ST_LINE    EQU     01111111B
COL_ADDR_H      EQU     00011111B
COL_ADDR_L      EQU     00001111B
DISPLAY_ON      EQU     10101111B       ;D0=1
COL_ST_H        EQU     00010000B       ;D3-D0 -}COL START ADDR                       
COL_ST_L        EQU     00000000B       ;D3-D0 -} = 0
RD_STATUS       EQU     10110000B       ;D7-D4       
ADC_SEL         EQU     10100000B       ;D0=0 - NORMAL SEG ADDR                        
NORM_DISP       EQU     10100110B       ;D0=0 - MORMAL DISPLAY MODE
ALL_ON          EQU     10100101B       ;D0=1 - LIGHT ALL INDICATORS
BIAS            EQU     10100010B       ;D0=1 - 1/7 BIAS,0 - 1/9 BIAS 
POWER_CON_SET   EQU     00101111B       ;Select internal power supply operating mode.
BUILT_INOFF     EQU     00100000B       ;Built_in power OFF
POWER_ON        EQU     11101101B       ;Completes turn-on seq of built-in PS
VLCD_CONTROL    EQU     10010110B       ;STEP=01000, TESTING CONDITION
OUT_STATUS      EQU     11001100B       ;CASE 2 
PAGE_ADDR       EQU     10111111B

;*********************************************************
                 ORG   00H
                 LJMP  BEGIN
                 ORG   03H
                 LJMP  INTO 
;*********************************************************
BEGIN:          CLR CS1
                CLR CS1
                MOV    PSW,#00H
                MOV    SP,#60H
                MOV    TCON,#00H
                MOV    IP,#01H
                MOV    IE,#81H
;*************************************** 
INI:
                CLR       RES                     ; INIT PORTA TO AN INACTIVE POS
                ACALL     DELAY100                ; RESET THE CONTROLLER
                ACALL     DELAY100
                ACALL    DELAY100
                ACALL DELAY100
                SETB      RES
		ACALL     DELAY100                ; DELAY FOR 100 uS
                ACALL     DELAY100
                ACALL     INITHU

MAIN_PROG:     
		ACALL     DELAY100
		ACALL     CLR_RAM               ; CLR RAM CONTENT
		ACALL     DISP_ON
		ACALL     DELAY1S
                ACALL     OUTLINE                         
                ACALL     DELAY1S                         
                ACALL     DISP_ALL              ; ALL SEG ON      
                ACALL     DELAY1S                           
                ACALL     CLR_RAM               ; CLR DISPLAY     
                ACALL     DELAY1S                            
                ACALL     CHECKER               ; DISP TEST PATTERNS 
                ACALL     DELAY1S                               
                ACALL     CLR_RAM                                
                ACALL     DELAY1S                                 
                ACALL     DISP_H                                    
                ACALL     DELAY1S

END_PROG:       LJMP      MAIN_PROG

;*******************************************************************
;  INITIALISATION OF LCD CONTROLLER SED1530
;*******************************************************************
INITHU:
                MOV       TEMPB,#12
                MOV       DPTR,#INI_DATA
INI1:           CLR       A
                MOVC      A,@A+DPTR            
                MOV       R0,A
                LCALL     WCOM
                NOP
                NOP
                INC       DPTR
                DJNZ      TEMPB,INI1
                RET

;*******************************************                
;  CLEAR RAM CONTENT 
;************************************************
CLR_RAM:
                MOV     B,#00H
		MOV     DATA_TMP,B
 		MOV     PAGE_CNT,B
                CLR     A
		MOV     A,#FIRST_SEG
		MOV     COL_CNT,A
		LCALL   WR_PAGE
		RET
		 
;*************************************************
;  ALL SEGMENTS ON
;*************************************************
DISP_ALL: 
                MOV     A,#0FFH
		MOV     DATA_TMP,A
		MOV     B,#0
		MOV     PAGE_CNT,B
                CLR     A
		MOV     A,#FIRST_SEG
		MOV     COL_CNT,A
		LCALL   WR_PAGE
		RET

;**************************************************
;       ON DISPLAY
;**************************************************
DISP_ON:        
                MOV     A,#DISPLAY_ON
                MOV     R2,A
                LCALL   WCOM
		RET


;*************************************************
;       PATTERN TESTING 
;*************************************************
CHECKER:    
                MOV     B,#0
                MOV     PAGE_CNT,B
CHK2:           MOV     A,#0                ;#FIRST_SEG
		MOV     COL_CNT,A
                LCALL   SET_PAGE
                LCALL   SET_COL      
                MOV     A,#48
		MOV     TEMPA,A
CHK1:           MOV     A,#0AAH
                MOV     R2,A     
                LCALL   WDATA
		MOV     A,#55H
                MOV     R2,A
                LCALL   WDATA
                DJNZ    TEMPA,CHK1
		INC     PAGE_CNT
                MOV     R0,PAGE_CNT
                CJNE    R0,#8,CHK2

                MOV     B,#8
                MOV     PAGE_CNT,B
                MOV     A,#0                 ;#FIRST_SEG
		MOV     COL_CNT,A
                LCALL   SET_PAGE
                LCALL   SET_COL      ;
                MOV     A,#50
		MOV     TEMPA,A
CHK5:           MOV     A,#01H
                MOV     R2,A    ; 
                LCALL   WDATA
                MOV     A,#00H
                MOV     R2,A
                LCALL   WDATA
                DJNZ    TEMPA,CHK5


                LCALL   DELAY1S         ; DELAY 1S
                LCALL   CLR_RAM

		MOV     B,#0
                MOV     PAGE_CNT,B
CHK3:           MOV     A,#0            ;#FIRST_SEG
		MOV     COL_CNT,A
                LCALL   SET_PAGE
                LCALL   SET_COL      ;
                MOV     A,#50
		MOV     TEMPA,A
CHK4:           CLR     A
                MOV     A,#55H
                MOV     R2,A      ; 
                LCALL   WDATA
		MOV     A,#0AAH
                MOV     R2,A
                LCALL   WDATA
		DJNZ    TEMPA,CHK4
		INC     PAGE_CNT
                MOV     R0,PAGE_CNT
                CJNE    R0,#MAX_PAGE,CHK3

                MOV     B,#8
                MOV     PAGE_CNT,B
                MOV     A,#0             ;#FIRST_SEG
		MOV     COL_CNT,A
                LCALL   SET_PAGE
                LCALL   SET_COL      ;
                MOV     A,#48
		MOV     TEMPA,A
CHK6:           CLR     A
                MOV     A,#00H
                MOV     R2,A      ; 
                LCALL   WDATA
                MOV     A,#01H
                MOV     R2,A
                LCALL   WDATA
                DJNZ    TEMPA,CHK6

		RET
;*******************************************
DISP_E:
                MOV     B,#0
                MOV     PAGE_CNT,B
;*******************************************
DISP_H:
                MOV     A,#0
               ; MOV     TEMPA,#20
               MOV      R4,#0
H0:             MOV     COL_CNT,A
                MOV     B,#0
                MOV     PAGE_CNT,B
H1:             LCALL   SET_PAGE
                NOP
                NOP
                LCALL   SET_COL
                NOP
                NOP
                MOV     TEMPA,#20
H11:             MOV     R0,#5
                MOV     DPTR,#PTN_H1
H111:           CLR     A
                ADD     A,R4
                MOVC    A,@A+DPTR
                MOV     R2,A
                LCALL   WDATA
                INC     DPTR
                DJNZ    R0,H111
                DJNZ    TEMPA,H11
                INC     PAGE_CNT
                INC     R4
                INC     R4
                INC     R4
                INC     R4
                INC     R4
                MOV     R2,PAGE_CNT
                CJNE    R2,#8,H1

                MOV     A,#0
                MOV     COL_CNT,A
                MOV     B,#8
                MOV     PAGE_CNT,B
                LCALL   SET_PAGE
                NOP
                NOP
                LCALL   SET_COL
                NOP
                NOP
                MOV     TEMPA,#20
H99:             MOV     R0,#5
                MOV     DPTR,#PTN_H9
H999:           CLR     A
              ;  ADD     A,R4
                MOVC    A,@A+DPTR
                MOV     R2,A
                LCALL   WDATA
                INC     DPTR
                DJNZ    R0,H999
                DJNZ    TEMPA,H99 
                 RET
;***********************************************

⌨️ 快捷键说明

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