📄 复件 s128cog.asm
字号:
;***********************************************
;* Controller: PCF8812-2 *
;* Dots: 96*64 *
;* Function: TEST XKS8341 and XKS8342 *
;* modify: tanny, 6/11/2003 *
;* VDD=3.5v Serial timing *
;* SCE片选 D/C 读写 SD 数据 *
;***********************************************
DAT1 EQU 35H
DAT2 EQU 36H
SDIN EQU P3.2
SCL EQU P1.0
CD EQU P3.1
RES EQU P1.1
SCE EQU P3.0
;40h~49h for cycle flag
;****************************
ORG 0000H
START:
CLR RES
LCALL DELAY
SETB RES
;===========================
MAIN:
CALL INIT
;
MOV DPTR,#SUCCESS
LCALL DISPLAY
LCALL WAITKEY
MOV R3,#00
LCALL TEST
LCALL WAITKEY
MOV R3,#08
LCALL TEST
LCALL WAITKEY
MOV R3,#016
LCALL TEST
LCALL WAITKEY
MOV R3,#024
LCALL TEST
LCALL WAITKEY
MOV R3,#032
LCALL TEST
LCALL WAITKEY
MOV R3,#040
LCALL TEST
LCALL WAITKEY
MOV R3,#048
LCALL TEST
LCALL WAITKEY
MOV R3,#056
LCALL TEST
LCALL WAITKEY
JMP START
;*****************************
INIT:
MOV A,#21H ;Function set
CALL WR_COM ;H=1
CALL DELAY0
;-----------------------
MOV A,#12H ;Bias system
CALL WR_COM ;Bias = 1\9
;-----------------------
MOV A,#09H ;HV-gen stages
CALL WR_COM ;3×voltage multiplier
MOV A,#0b0H ;Set VOP {2926: 09FH}
CALL WR_COM ;N0.1:0BFH; N0.2:0C9H; N0.3:0CFH
;&&&&&&&&&&&&&&&&&&&&&&&
MOV A,#20H ;Function set
CALL WR_COM ;H=0
CALL DELAY0
;-----------------------
MOV A,#11H ;Set higher or lower programming range Vop ;
CALL WR_COM
;-----------------------
MOV A,#80H ;Set X address of RAM
CALL WR_COM
MOV A,#40H ;Set Y address of RAM
CALL WR_COM
;-----------------------
MOV A,#0CH ;Display control
CALL WR_COM
RET
;***************************************************
WR_COM:
PUSH 41H
MOV 41H,#08
CLR CD
; SETB SCE
CLR SCE
KK:
CLR SCL
RLC A
MOV SDIN,C
NOP
SETB SCL
DJNZ 41H,KK
NOP
SETB SCE
NOP
NOP
NOP
NOP
NOP
NOP
POP 41H
RET
;**********************************
WR_DATA:
PUSH 41H
MOV 41H,#08
SETB CD
CLR SCE
qq:
CLR SCL
RLC A
MOV SDIN,c
NOP
SETB SCL
DJNZ 41H,QQ
SETB SCE
NOP
NOP
NOP
POP 41H
RET
;***********************
TEST:
MOV R2,#040H
DISP3:
MOV A,R2
LCALL WR_COM
MOV A,#080H
LCALL WR_COM
MOV R1,#12
DISP2:
MOV DPTR,#CHAR
MOV R0,#8
DISP1:
CLR A
MOV A,R3
MOVC A,@A+DPTR
LCALL WR_DATA
INC DPTR
DJNZ R0,DISP1
DJNZ R1,DISP2
INC R2
CJNE R2,#49H,DISP3
RET
;eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
DISPLAY:
MOV R3,#040H
GG:
MOV A,R3
CALL WR_COM
MOV A,#080H
CALL WR_COM
MOV R1,#96
PRLOOPG:
CLR A
MOVC A,@A+DPTR
CALL WR_DATA
INC DPTR
DJNZ R1,PRLOOPG
INC R3
CJNE R3,#049H,GG
RET
;*************************
WAITKEY:
PUSH 24H
PUSH 23H
MOV 24H,#0ffH
WAIT2:
MOV 23H,#0FFH
WAIT1:
DJNZ 23H,WAIT1
DJNZ 24H,WAIT2
SETB P2.0
STATUS:
MOV C,P2.0
JC STATUS
POP 23H
POP 24H
RET
;*****************************
DELAY0:
PUSH 22H
MOV R5,#03
NN:
MOV 22H,#04
DJNZ 22H,$
DJNZ R5,NN
POP 22H
RET
;***********************
DELAY:
MOV R3,#100
ms20:
CALL DELAY0
DJnz R3,ms20
RET
;***********************
CHAR:
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 00FH,00FH,00FH,00FH,0F0H,0F0H,0F0H,0F0H
DB 0F0H,0F0H,0F0H,0F0H,00FH,00FH,00FH,00FH
;DB 055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH
;DB 0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H
DB 055H,055H,055H,055H,055H,055H,055H,055H
DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH
DB 0FFH,000H,0FFH,000H,0FFH,000H,0FFH,000H
DB 000H,0FFH,000H,0FFH,000H,0FFH,000H,0FFH
DB 048H,054H,0FEH,054H,024H,000H,000H,000H
;*********************************************************
SUCCESS:
;-- 调入了一幅图像:F:\Workdir\图片\9664-2.bmp --
;-- 宽度x高度=96x64 --
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -