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

📄 lcm240128.asm

📁 lcm2401282液晶模块的调试程序
💻 ASM
字号:
;TEST TO 240128-1 (C240128-1)
;CONTROLLER: T6963C
;SIDE: 240 X 128 DOTS
;DRAW: WHY
;DATE: 1999.5.26
;****************************************************************
;WR       REG     P3.0          DEFINE LCM WRITE PIN          
;RD       REG     P3.1          DEFINE LCM READ PIN 
;CE       REG     P3.2          DEFINE LCM CHIP ENABLE PIN 
;C/D      REG     P3.3          DEFINE LCM COMMAND/DATA PIN 
;FS       REG     P3.6          DEFINE LCM WORD PIN 
;RST      REG     P3.5          DEFINE LCM RESET PIN 
;DB0-DB7  REG     P1.0-P1.7     DEFINE LCM DATA BUS PIN 

        ORG     0000H           
START:  CLR     P3.5            ;RESET
        NOP
        SETB    P3.5
        CLR     P3.6            ;SET FS=0  
;TEXT HOME ADDRESS SET          
        MOV     R2,#00H        
        MOV     R3,#00H        
        MOV     R4,#40H        
        LCALL   PR1            
;TEXT AREA SET          
        MOV     R2,#1EH         ;TEXT AREA 30 COLUMNS
        MOV     R3,#00H        
        MOV     R4,#41H        
        LCALL   PR1            
;GRAPHIC HOME ADDRESS SET          
        MOV     R2,#00H        
        MOV     R3,#04H        
        MOV     R4,#42H        
        LCALL   PR1            
;GRAPHIC AREA SET          
        MOV     R2,#1EH         ;GRAPHIC AREA 30 COLUMNS
        MOV     R3,#00H        
        MOV     R4,#43H        
        LCALL   PR1            
        MOV     R4,#80H         ;"OR" MODE        
        LCALL   PR12           
        MOV     R4,#0A3H        ;CURSOR PATTERN SET 3 LINES  
        LCALL   PR12           
START1:                         
        LCALL   CLEAR           ;START TO TEST
        MOV     R4,#98H         ;DISPLAY ON
        LCALL   PR12           
        LCALL   TEST           
        LCALL   BOX            
        LCALL   KEY        
        JMP     START1

DELAY:  MOV     40H,#1FH        ;DELAY TIME      
DELAY1: MOV     41H,#30H        
DELAY2: DJNZ    41H,DELAY2      
        DJNZ    40H,DELAY1      
	RET                     

KEY:    MOV     P2,#0FFH        ;SELECT KEY FOR TEST
KEY1:   MOV     C,P2.0          
        JC      KEY1           
        CALL    DELAY           
        CALL    DELAY           
        MOV     C,P2.0          
        JC      KEY1           
        CALL    DELAY
        MOV     R4,#20H         
KEY2:   CALL    DELAY            
        DJNZ    R4,KEY2      
        RET

;READ BUSY_SIGNAL               
PR0:    CLR     P3.2            ;SET CE=L 
        SETB    P3.3            ;SET C/D=H
        SETB    P3.0            ;SET WR=H
        ORL     P1,#0FFH       
        CLR     P3.1            ;SET RD=L
        MOV     A,P1           
        SETB    P3.1            ;SET RD=H
        RET                     

;READ BUSY_SIGNAL ,OK OR NOT ?
PR01:   CALL   PR0                  
        JNB     ACC.0,PR01      ;STA0 OK?
        JNB     ACC.1,PR01      ;STA1 OK? 
        RET
PR02:   CALL   PR0            
        JNB     ACC.2,PR03      ;STA2 OK?
        RET
PR03:   CALL   PR0            
        JNB     ACC.3,PR03      ;STA3 OK?
        RET
PR06:   CALL   PR0            
        JB      ACC.6,ERR      
        RET
ERR:    LJMP    START          
        RET

;SEND OUT INSTRUCTION AND DATA TO LCM
PR1:    CALL    PR01            ;DOUBLE BYTE PARAMETER INST. PORT
        MOV     A,R2           
        CALL    PR14           
PR11:   CALL    PR01            ;SINGLE BYTE PARAMETER INST. PORT
        MOV     A,R3           
        CALL    PR14           
PR12:   CALL    PR01            ;NO PARAMETER INST. PORT
        MOV     A,R4           
        JMP     PR15           
PR14:   CLR     P3.2            ;SET CE=L
        CLR     P3.3            ;SET C/D=L
        JMP     PR16
PR15:   CLR     P3.2            ;SET CE=L
        SETB    P3.3            ;SET C/D=H
PR16:   SETB    P3.1            ;SET RD=H
        CLR     P3.0            ;SET WR=L
        MOV     P1,A            
        SETB    P3.0            ;SET WR=H
        RET

CLEAR:  MOV     R2,#00H         ;CLEAR DISPLAY RAM
        MOV     R3,#00H        
        MOV     R4,#24H        
        LCALL   PR1            
        MOV     R4,#0B0H       
        LCALL   PR12
        MOV     R6,#0A2H
CLEAR1: MOV     R5,#1EH        
CLEAR2: LCALL   PR03           
        MOV     A,#00H
        LCALL   PR14           
        DJNZ    R5,CLEAR2      
        DJNZ    R6,CLEAR1      
        MOV     R4,#0B2H       
        LCALL   PR12           
        RET

TEST:   MOV     DPTR,#ADATA     ;TEST 1
        MOV     65H,DPH         
        MOV     66H,DPL         
        MOV     R0,#07H
TEST0:  MOV     R2,#00H
        MOV     R3,#04H
        MOV     R4,#24H        
        LCALL   PR1            
        MOV     R4,#0B0H       
        LCALL   PR12           
        MOV     R1,#10H         
TEST1:  MOV     A,65H
        MOV     67H,A
        MOV     A,66H
        MOV     68H,A
        MOV     R2,#08H
TEST2:  MOV     DPH,67H         
        MOV     DPL,68H         
        MOV     R3,#1EH
TEST3:  LCALL   PR03           
        MOV     A,#00H         
        MOVC    A,@A+DPTR      
        LCALL   PR14           
        DJNZ    R3,TEST3        
        MOV     DPH,67H
        MOV     DPL,68H
        INC     DPTR            
        MOV     67H,DPH         
        MOV     68H,DPL         
        DJNZ    R2,TEST2        
        DJNZ    R1,TEST1
        MOV     R4,#0B2H       
        LCALL   PR12           
        LCALL   KEY
        CLR     C
        MOV     A,66H
        ADD     A,#08H
        MOV     66H,A
        JNC     TEST4
        INC     65H
TEST4:  DJNZ    R0,TEST0
        RET                    

BOX:    MOV     R2,#00H         ;TEST 2
        MOV     R3,#04H        
        MOV     R4,#24H                                
        LCALL   PR1            
        MOV     R4,#0B0H       
        LCALL   PR12           
        MOV     R5,#1EH        
BOX1:   LCALL   PR03           
        MOV     A,#0FFH        
        LCALL   PR14           
        DJNZ    R5,BOX1       
        MOV     R7,#7EH
BOX3:   LCALL   PR03
        MOV     A,#80H         
        LCALL   PR14
        MOV     R6,#1CH
BOX2:   LCALL   PR03           
        MOV     A,#00H         
        LCALL   PR14           
        DJNZ    R6,BOX2
        LCALL   PR03
        MOV     A,#01H         
        LCALL   PR14
        DJNZ    R7,BOX3
        MOV     R5,#1EH        
BOX4:   LCALL   PR03           
        MOV     A,#0FFH        
        LCALL   PR14           
        DJNZ    R5,BOX4       
        MOV     R4,#0B2H       
        LCALL   PR12           
        RET                     

ADATA:
        DB  0FFH,000H,0FFH,000H,0FFH,000H,0FFH,000H
        DB  000H,0FFH,000H,0FFH,000H,0FFH,000H,0FFH
        DB  0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH
        DB  055H,055H,055H,055H,055H,055H,055H,055H
        DB  00FH,009H,00FH,009H,00FH,009H,011H,000H
        DB  004H,00FH,014H,00EH,005H,01EH,004H,000H
        DB  00EH,011H,001H,00DH,015H,015H,00EH,000H
        END

⌨️ 快捷键说明

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