12864-p.asm

来自「St7565P液晶控制芯片在128X64点阵下的51环境控制程序」· 汇编 代码 · 共 461 行

ASM
461
字号

CS1     bit p1.2
RESET   bit P1.5
RS      bit P1.0
E_RD    bit P1.4
WR_RW   bit P1.1
CR      EQU 54H
CR_BACK EQU 53H
ORG     0000H

START:
        CLR       E_RD
        MOV      CR,#10H         ;096B01 #013h is currect
        CLR      CS1
        CLR      RESET            ;initalization
        LCALL    DELAY
        SETB     RESET
        MOV      A,#0E2H         ;initialize interal function
        LCALL    WCOM            ;write interal reset
        LCALL    DELAY
        MOV      A,#02CH         ;power control(VB,VR,VF=1,1,1)
        LCALL    WCOM
        LCALL    DELAY
        MOV      A,#02EH         ;power control(VB,VR,VF=1,1,1)
        LCALL    WCOM
        LCALL    DELAY
        MOV      A,#02FH         ;power control(VB,VR,VF=1,1,1)
        LCALL    WCOM
        MOV      A,#025H          ;096B01 23h is currect  ;Regulator resistor select 110
        LCALL    WCOM
        MOV      A,#081H         ;set reference voltage mode
        LCALL    WCOM
        MOV      A,CR  ;bbg 2F       ;set reference voltage
        LCALL    WCOM
        MOV      A,#0C8H         ;set SHL COM1 to COM64 start page setup
        LCALL    WCOM
        MOV      A,#0A0H         ;ADC select SEG1 to SEG132
        LCALL    WCOM
        MOV      A,#040H         ;Initial Display Line was first line
        LCALL    WCOM
        MOV      A,#0A6H         ;set nomal display
        LCALL    WCOM
        MOV      A,#0AFH         ;set display ON
        LCALL    WCOM

MAIN:
        MOV    DPTR,#SUCCESS
        LCALL  DISPLAY
	;LCALL	ICON
	LCALL	WAITKEY
        MOV    DPTR,#TAB4
        LCALL  DISPLAY
	;LCALL	ICON
	LCALL	WAITKEY
        MOV    R3,#00H
        LCALL  TEST
	MOV    R3,#06
        LCALL  TEST
	MOV    R3,#012
        LCALL  TEST
	MOV    R3,#012H
        LCALL  TEST
        MOV    R3,#018H
        LCALL  TEST
        MOV    R3,#024H
        LCALL  TEST
        MOV    R3,#06H

        LCALL  TEST
        MOV    R3,#0CH

        LCALL  TEST
        LJMP   START
ICON:
        LCALL   CLEAR
	MOV	A,#0B8H
	LCALL	WCOM
	MOV	A,#017H
	LCALL	WCOM
	MOV	A,#03H
	LCALL	WCOM
	MOV	R0,#132
ICON1:
	MOV	A,#0ffH
	LCALL	WDATA
	;LCALL   ICONDISP
	LCALL	WAITKEY
	LCALL	WAIT
	DJNZ	R0,ICON1
	RET

ICONDISP:
        LCALL   CLEAR
	MOV	A,#0B6H
	LCALL	WCOM
	MOV	A,#010H
	LCALL	WCOM
	MOV	A,#00H
	LCALL	WCOM
	LCALL	WDATA
	LCALL	WAIT
	RET
CLEAR:
	MOV	R2,#0B0H
	MOV	A,R2
CLEAR2:
	MOV	A,R2
	LCALL	WCOM
	MOV	A,#010H
	LCALL	WCOM
	MOV	A,#00H
	LCALL	WCOM
	MOV	R0,#128
CLEAR1:
	MOV	A,#00
	LCALL	WDATA
	DJNZ	R0,CLEAR1
	INC	R2
	CJNE	R2,#0B9H,CLEAR2
	RET

CR_INCREASE:
	MOV	A,CR
        ADD	A,#13H
	MOV	CR,A
	RET
CR_RECOVER:
	MOV	CR,#015H
	RET

CONTRAST:
        MOV     A,#081H    ;REFERENCE VOLTAGE SELECT
        LCALL   WCOM
        MOV     A,CR       ;REFERENCE VOLTAGE PARAMETER:32        3F
        LCALL   WCOM
        SETB    P3.1
        MOV     C,P3.1
	MOV	44H,#015
DELAY_20MS:
	LCALL	DELAY
	DJNZ	44H,DELAY_20MS
        JC      KEY1
        INC     CR
        MOV     A,#081H    ;REFERENCE VOLTAGE SELECT
        LCALL   WCOM
        MOV     A,CR       ;REFERENCE VOLTAGE PARAMETER:32        3F
        LCALL   WCOM
KEY1:
        SETB    P3.2
        MOV     C,P3.2
        JC      CR_END
        DEC     CR
        MOV    A,#081H    ;REFERENCE VOLTAGE SELECT
        LCALL  WCOM
        MOV    A,CR       ;REFERENCE VOLTAGE PARAMETER:32        3F
        LCALL  WCOM
CR_END:
        LCALL   DELAY
        SETB    P3.7
        MOV     C,P3.7
        JNC     NEXT
        LJMP    CONTRAST
NEXT:
	MOV	44H,#015
NEXT1:	LCALL	DELAY
	DJNZ	44H,NEXT1
        RET

TEST:
           MOV      R2,#0B0H
TEST2:     MOV      A,R2            ;set page address
           LCALL    WCOM
           MOV      A,#010H         ;set column address MSB
           LCALL    WCOM
           MOV      A,#00H          ;set column address LSB
           LCALL    WCOM
           MOV      R1,#22         ;set (6*8)*17characters
TEST1:     MOV      DPTR,#CHAR
           MOV      R0,#06H
TEST0:
           MOV      A,R3
           MOVC     A,@A+DPTR
           LCALL    WDATA
           INC      DPTR
           DJNZ     R0,TEST0
           DJNZ     R1,TEST1
           INC      R2
           CJNE     R2,#0B9H,TEST2
           LCALL    DELAY
           LCALL    WAITKEY
           RET
DISPLAY:
	   MOV	    R2,#0B0H
DISPLAY0:
           MOV      A,R2
           LCALL    WCOM
DISPLAY1:
	   MOV      A,#010H         ;set column address MSB
           LCALL    WCOM
           MOV      A,#00H          ;set column address LSB
           LCALL    WCOM

           MOV	    R0,#128
DISPLAY2:
	   MOV      A,#0
	   MOVC	    A,@A+DPTR
	   LCALL    WDATA
	   INC	    DPTR
	   DJNZ     R0,DISPLAY2
           INC      R2
           CJNE     R2,#0B9H,DISPLAY0
	   LCALL    CONTRAST
           RET

EXCHANGE:PUSH   B
         CLR    C
         RLC    A
         MOV    B.0,C
         RLC    A
         MOV    B.1,C
         RLC    A
         MOV    B.2,C
         RLC    A
         MOV    B.3,C
         RLC    A
         MOV    B.4,C
         RLC    A
         MOV    B.5,C
         RLC    A
         MOV    B.6,C
         RLC    A
         MOV    B.7,C
         MOV    A,B
         POP    B
         RET

SMAP:   MOV     R5,#18H         ;TEST 6
SMAP4:  LCALL   DELAY
        DJNZ    R5,SMAP4
SMAP3:  MOV     R4,#00H
        MOV     R1,#40H
SMAP1:  MOV     A,#40H
        ORL     A,R4
        LCALL   WCOM
        LCALL   DELAY
        INC     R4
        MOV     P3,#0FFH
        MOV     67H,#08H
SMAP5:  LCALL   DELAY
        DJNZ    67H,SMAP5
        MOV     C,P3.7
        JNC     SMAP2
        LCALL   DELAY
        MOV     C,P3.7
        JNC     SMAP2
        DJNZ    R1,SMAP1
        LJMP    SMAP3
SMAP2:  LCALL   DELAY
        MOV     A,#40H
        LCALL   WCOM
        RET


;SELECT SUBPROGRAM
WAITKEY:SETB      P3.7
	MOV	  43H,#80
WAITKEY1:
        LCALL     DELAY         ;IN ORDER TO ACCEPT SELECT STATUS
	DJNZ	  43H,WAITKEY1
STATUS: MOV       C,P3.7
        JC        STATUS
        RET


WAIT:   MOV      42,#2FH
WAIT0:  LCALL    DELAY
        DJNZ     42,WAIT0
        RET
;DELAY SUBPROGRAM
DELAY:  MOV     40H,#032H       ;10.05ms
DELAY1: MOV     41H,#030H
DELAY2: DJNZ    41H,DELAY2      ;192us
        DJNZ    40H,DELAY1
        RET



WCOM:
        CLR     CS1
        CLR     RS

        CLR     WR_RW
        LJMP     TRANSMIT
WDATA:
        CLR     CS1
	SETB    RS
        CLR      WR_RW
TRANSMIT:

        CLR     E_RD
        MOV     P2,A
	NOP
	NOP
	NOP
	NOP
	SETB     E_RD
        NOP
        NOP
        NOP
        nop
        CLR     E_RD
        RET


CHAR:
        DB      0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
        DB      0AAH,0AAH,0AAH,0AAH,0AAH,0AAH
        DB      055H,055H,055H,055H,055H,055H
        DB      0FFH,000H,0FFH,000H,0FFH,000H
        DB      000H,0FFH,000H,0FFH,000H,0FFH
;        DB      024H,054H,0FEH,054H,048H,000H  ;$
        DB      048H,054H,054H,054H,024H,000H  ;$
;       DB      032H,049H,079H,041H,03EH,000H  ;G
        DB      03EH,041H,079H,049H,032H,000H  ;G

SUCCESS:

DB  0FFH,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H
DB  01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H
DB  01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H
DB  01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H
DB  01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H
DB  01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H
DB  01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H
DB  01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,0FFH
DB  0FFH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,0FFH
DB  0FFH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,00H,0C0H,0F8H,0FFH,1FH,0FFH,0F8H,0C0H,00H,00H,00H,00H,0FFH,0FFH,0FFH
DB  0FEH,0F0H,0F0H,0FEH,0FFH,0FFH,0FFH,00H,00H,00H,0C0H,0F8H,0FFH,1FH,0FFH,0F8H
DB  0C0H,00H,00H,00H,01H,07H,1FH,3FH,0FCH,0F0H,0FCH,3FH,0FH,07H,01H,00H
DB  00H,0FFH,0FFH,0FFH,0F0H,0F8H,0FCH,8EH,07H,03H,01H,00H,00H,0FFH,0FFH,0FFH
DB  41H,41H,41H,41H,41H,01H,00H,00H,00H,0FFH,0FFH,0FFH,81H,81H,81H,0C3H
DB  0FFH,7EH,3CH,00H,00H,0F8H,0FEH,0FFH,07H,01H,01H,07H,0FFH,0FEH,0F8H,00H
DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,0FFH
DB  0FFH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  30H,3EH,3FH,0FH,03H,02H,03H,0FH,3FH,3EH,30H,00H,00H,3FH,3FH,3FH
DB  0FH,3FH,3FH,0FH,3FH,3FH,3FH,00H,30H,3EH,3FH,0FH,03H,02H,03H,0FH
DB  3FH,3EH,30H,00H,20H,38H,3CH,3FH,0FH,03H,0FH,1FH,3CH,38H,20H,00H
DB  00H,3FH,3FH,3FH,00H,01H,07H,1FH,3EH,38H,20H,00H,00H,3FH,3FH,3FH
DB  20H,20H,20H,20H,20H,20H,00H,00H,00H,3FH,3FH,3FH,00H,00H,00H,00H
DB  00H,00H,00H,00H,00H,07H,1FH,3FH,38H,20H,20H,38H,3FH,1FH,07H,00H
DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,0FFH
DB  0FFH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,0E0H,0E0H,0E0H,20H,20H,60H,0E0H,0C0H,80H,00H,00H,00H,00H,00H,00H
DB  0E0H,0E0H,0E0H,00H,00H,00H,00H,00H,00H,80H,0C0H,0E0H,60H,20H,20H,60H
DB  0E0H,0C0H,80H,00H,00H,0E0H,0E0H,0E0H,20H,20H,20H,60H,0E0H,0C0H,80H,00H
DB  00H,0E0H,0E0H,0E0H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  0E0H,0E0H,0E0H,00H,00H,00H,00H,00H,20H,0E0H,0E0H,0E0H,80H,00H,80H,0E0H
DB  0E0H,0E0H,20H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,0FFH
DB  0FFH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,0FFH,0FFH,0FFH,00H,00H,00H,00H,0FFH,0FFH,0FFH,00H,00H,00H,00H,00H
DB  0FFH,0FFH,0FFH,00H,00H,00H,00H,00H,00H,0C3H,0C7H,0CFH,0CH,18H,10H,30H
DB  0F0H,0E0H,0C0H,00H,00H,0FFH,0FFH,0FFH,10H,10H,10H,18H,1FH,0FH,07H,00H
DB  00H,0FFH,0FFH,0FFH,00H,00H,00H,00H,00H,00H,00H,00H,00H,0C0H,0F8H,0FFH
DB  7FH,43H,7FH,0FFH,0F8H,0C0H,00H,00H,00H,00H,03H,0FH,0FFH,0FEH,0FFH,0FH
DB  03H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,0FFH
DB  0FFH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,07H,07H,07H,04H,04H,06H,07H,03H,01H,00H,00H,00H,00H,00H,00H
DB  07H,07H,07H,00H,00H,00H,00H,00H,00H,01H,03H,07H,06H,04H,04H,06H
DB  07H,03H,01H,00H,00H,07H,07H,07H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,07H,07H,07H,04H,04H,04H,04H,04H,04H,04H,00H,06H,07H,07H,01H
DB  00H,00H,00H,01H,07H,07H,06H,00H,00H,00H,00H,00H,07H,07H,07H,00H
DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,0FFH
DB  0FFH,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H
DB  80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H
DB  80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H
DB  80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H
DB  80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H
DB  80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H
DB  80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H
DB  80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,0FFH
TAB4:
;--  调入了一幅图像:F:\F-disk\My Documents\My Pictures\nt7532-2.bmp  --
;--  宽度x高度=128x64  --
DB  000H,000H,000H,000H,000H,000H,000H,000H,0F8H,048H,048H,048H,048H,048H,048H,0F8H
DB  000H,000H,000H,000H,000H,000H,000H,0F8H,048H,048H,048H,048H,048H,048H,0F8H,000H
DB  000H,000H,000H,000H,000H,000H,0F8H,048H,048H,048H,048H,048H,048H,0F8H,000H,000H
DB  000H,000H,000H,000H,000H,0F8H,048H,048H,048H,048H,048H,048H,0F8H,000H,000H,000H
DB  000H,000H,000H,000H,0F8H,048H,048H,048H,048H,048H,048H,0F8H,000H,000H,000H,000H
DB  000H,000H,000H,0F8H,048H,048H,048H,048H,048H,048H,0F8H,000H,000H,000H,000H,000H
DB  000H,000H,0F8H,048H,048H,048H,048H,048H,048H,0F8H,000H,000H,000H,000H,000H,000H
DB  000H,0F8H,048H,048H,048H,048H,048H,048H,0F8H,000H,000H,000H,000H,000H,000H,000H
DB  000H,000H,000H,000H,000H,080H,040H,030H,00FH,004H,004H,004H,004H,044H,084H,07FH
DB  000H,000H,000H,000H,080H,040H,030H,00FH,004H,004H,004H,004H,044H,084H,07FH,000H
DB  000H,000H,000H,080H,040H,030H,00FH,004H,004H,004H,004H,044H,084H,07FH,000H,000H
DB  000H,000H,080H,040H,030H,00FH,004H,004H,004H,004H,044H,084H,07FH,000H,000H,000H
DB  000H,080H,040H,030H,00FH,004H,004H,004H,004H,044H,084H,07FH,000H,000H,000H,000H
DB  080H,040H,030H,00FH,004H,004H,004H,004H,044H,084H,07FH,000H,000H,000H,000H,080H
DB  040H,030H,00FH,004H,004H,004H,004H,044H,084H,07FH,000H,000H,000H,000H,080H,040H
DB  030H,00FH,004H,004H,004H,004H,044H,084H,07FH,000H,000H,000H,000H,000H,000H,000H

DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
end

⌨️ 快捷键说明

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