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

📄 24064_.asm

📁 240*128LCM测试程序
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;TEST TO 12864,24064,240128
;CONTROLLER: T6963C
;SIDE: 128 X 64,240 X 64 ,240 X 128 DOTS
;MCU :8051
;OSC :10MHz
;****************************************************************
W_R      EQU     P3.6          ;DEFINE LCM W_RITE PIN          
R_D      EQU     P3.7          ;DEFINE LCM READ PIN 
CE       EQU     P2.7          ;DEFINE LCM CHIP ENABLE PIN 
CD       EQU     P2.0          ;DEFINE LCM COMMAND/DATA PIN 
FS       EQU     P3.5          ;DEFINE LCM WOR_D PIN 
RST      EQU     P2.3          ;DEFINE LCM RESET PIN 
;DB0-DB7  REG     P0.0-P0.7     DEFINE LCM DATA BUS PIN 
K        EQU     P3.3
KEY      EQU     P3.4

        ORG     0000H
	JMP     START
        ORG     0013H
        JMP     HALT
        ORG     0030H
        JMP     START           

HALT:   PUSH    ACC
        PUSH    40H
        PUSH    41H
        PUSH    42H
        CLR     IT1
        SETB    K
        LCALL   DELAYL
	JNB     K,$
        LCALL   DELAY
HALT1: SETB   K
       JNB    K,HALT2
       JMP    HALT1
HALT2: LCALL  DELAY
       JNB    K,HALTOUT
       JMP    HALT1
HALTOUT:JNB   K,$
        LCALL  DELAY
        POP   42H
	POP   41H
        POP   40H
        POP    ACC
	SETB   IT1
	RETI
	

INIT:   SETB   KEY
        JB    KEY,LCM128
        MOV    43H,#01EH
	JMP    LCM
LCM128: MOV    43H,#010H
LCM:    CLR     RST            ;RESET  
        NOP
	NOP
	NOP
	NOP
	NOP
        SETB    RST
        CLR     FS       
;TEXT HOME ADDRESS SET          
        MOV     R2,#00H        
        MOV     R3,#00H        
        MOV     R4,#40H        
        LCALL   PR1            
;TEXT AREA SET          
        MOV     R2,43H         ;TEXT AREA 30 COLUMNS
        MOV     R3,#00H        
        MOV     R4,#41H        
        LCALL   PR1            
;GRAPHIC HOME ADDRESS SET          
        MOV     R2,#20H        
        MOV     R3,#00H        
        MOV     R4,#42H        
        LCALL   PR1            
;GRAPHIC AREA SET          
        MOV     R2,43H         ;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
        LCALL   CLEAR           ;START TO TEST
        MOV     R4,#98H         ;DISPLAY ON
        LCALL   PR12
        RET

START:  LCALL   INIT
        SETB    EA
        SETB    IT1
        SETB    EX1

        MOV     44H,#0FFH       ; ALL DIS
	MOV     45H,#0FFH
	LCALL   TEST
        LCALL   DELAYL
        LCALL   INIT

        MOV     44H,#0AAH       ;grid
	MOV     45H,#055H
	LCALL   TEST
        LCALL   DELAYL
        LCALL   INIT

        MOV     44H,#055H       ;GRID
	MOV     45H,#0AAH
	LCALL   TEST
        LCALL   DELAYL
        LCALL   INIT

        SETB    KEY
	JNB     KEY,PP24064
	MOV     DPTR,#P12864           
        LCALL   DRAW            ;DRAW A PICTURE:12864
        LCALL   DELAYL
        LJMP     START

PP24064:LCALL   CLEAR 
	MOV     DPTR,#P24064           
        LCALL   DRAW            ;DRAW A PICTURE:24064*2
        LCALL   DELAYL
	

	LJMP     START

DELAY:  MOV     40H,#1FH        ;DELAY TIME      
DELAY1: MOV     41H,#30H        
DELAY2: DJNZ    41H,DELAY2      
        DJNZ    40H,DELAY1      
	RET                     
DELAYL:  mov     42H,#06h                                                                                                                                                                                                                                       
dd:      MOV     40H,#0FFH        ;DELAY TIME      
DELAYL1: MOV     41H,#0FFH        
DELAYL2: DJNZ    41H,DELAYL2      
        DJNZ    40H,DELAYL1
        djnz    42H,dd      
	RET

                                
;READ BUSY_SIGNAL    
PR0:    CLR     CE            ;SET CE=L 
        SETB    CD            ;SET C/D=H
        SETB    W_R            ;SET W_R=H
        ORL     P0,#0FFH       
        CLR     R_D            ;SET R_D=L
        MOV     A,P0           
        SETB    R_D            ;SET R_D=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     CE            ;SET CE=L
        CLR     CD            ;SET C/D=L
        JMP     PR16
PR15:   CLR     CE            ;SET CE=L
        SETB    CD            ;SET C/D=H
PR16:   SETB    R_D            ;SET R_D=H
        CLR     W_R            ;SET W_R=L
        MOV     P0,A            
        SETB    W_R            ;SET W_R=H
        RET

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


	
DRAW:   NOP        ;TEST 2
DRAW0:  MOV     R2,#20H          ;DISPLAY  RAM ADDRESS =0X0400H
        MOV     R3,#00H
        MOV     R4,#24H        
        LCALL   PR1            
        MOV     R4,#0B0H          ;AUTO WRITE    
        LCALL   PR12           
        MOV     R2,#40H
DRAW2:          
        MOV     R3,#1EH
DRAW3:  LCALL   PR03           
        MOV     A,#00H         
        MOVC    A,@A+DPTR      
        LCALL   PR14           
        INC     DPTR
	DJNZ    R3,DRAW3        
        DJNZ    R2,DRAW2
        
	MOV     R2,#3FH
	MOV     DPTR,#P24064
DRAW4:          
        MOV     R3,#1FH
DRAW5:  LCALL   PR03           
        MOV     A,#00H         
        MOVC    A,@A+DPTR      
        LCALL   PR14           
        INC     DPTR
	DJNZ    R3,DRAW5        
        DJNZ    R2,DRAW4
        
        MOV     R4,#0B2H           ;AUTO WRITE END     

⌨️ 快捷键说明

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