; SED1335 CONTROLLER(兼容SED1330)
;*****************************************************************************
;接口及参数定义
_RD BIT P3.7 ;sed1335
_WR BIT P3.6 ;sed1335
A0 BIT P2.0 ;sed1335
CS BIT P2.7 ;sed1335
RST BIT P2.3 ;sed1335
DBUS EQU P0
MAX_ROW EQU 240 ;MAX ROW(COMMON)
FX EQU 87H ;7FH ;text x dot size FX+1
FY EQU 07H ;7EH ;text y dot size FY+1
CR EQU MAX_COL/8-1 ;7DH ;character return APL-1
TC_P EQU 42H ;7CH ;fram purse 12MHz>=[(TC_P)*9+1]*L_F*70Hz
L_F EQU MAX_ROW-1 ;7BH ;y duty L_F-1
APL EQU MAX_COL/8 ;7AH ;number of text per line
SAD_2L EQU 00H ;79H ;set address of layer 2 low
SAD_2H EQU 40H ;78H ;set address of layer 2 high
;*****************************************************************************
ORG 0000H
AJMP START
ORG 0030H
START:
CLR RST
NOP
NOP
SETB RST
NOP
NOP
;*****************************************************************************
SYSTEM_SET:
MOV A,#40H
CALL COM_W
MOV A,#30H ;P1
LCALL DATA_W
MOV A,#FX ;FX--P2
LCALL DATA_W
MOV A,#FY ;FY--P3
LCALL DATA_W
MOV A,#CR ;CR
LCALL DATA_W
MOV A,#TC_P ;TC/R
LCALL DATA_W
MOV A,#L_F ;L/F
LCALL DATA_W
MOV A,#APL ;APL
LCALL DATA_W
MOV A,#00H ;APH
LCALL DATA_W
;*****************************************************************************
SCROLL:
MOV A,#44H
LCALL COM_W
MOV A,#00H ;P1 SAD_1L
LCALL DATA_W
MOV A,#00H ;P2 SAD_1H
LCALL DATA_W
MOV A,#L_F ;P3 SAD_1_length
LCALL DATA_W
MOV A,SAD_2L ;P4 SAD_2L
LCALL DATA_W
MOV A,#SAD_2H ;P5 SAD_2H
LCALL DATA_W
MOV A,#L_F ;P6 SAD_2_length
LCALL DATA_W
MOV A,#00H ;P7 SAD_3L
LCALL DATA_W
MOV A,#00H ;P8 SAD_3H
LCALL DATA_W
MOV A,#00H ;P9 SAD_4L
LCALL DATA_W
MOV A,#00H ;P10 SAD_4H
LCALL DATA_W
;*****************************************************************************
HDOT_SCR:
MOV A,#5AH
LCALL COM_W
MOV A,#00H ;NO SCROLL
LCALL DATA_W
;*****************************************************************************
OVERLAY:
MOV A,#5BH
LCALL COM_W
MOV A,#00H ;GRAPHIC & OR
LCALL DATA_W
;*****************************************************************************
CSR_FORM:
MOV A,#5DH
LCALL COM_W
MOV A,#07H
LCALL DATA_W
MOV A,#87H
LCALL DATA_W
;*****************************************************************************
CSR_DIR:
MOV A,#4CH
LCALL COM_W
LCALL CL1
LCALL CL2
;*****************************************************************************
DISP_ON:
MOV A,#59H
LCALL COM_W
MOV A,#14H
LCALL DATA_W
;*****************************************************************************
; SHOW BEGIN
;*****************************************************************************
SHOW_BG:
LCALL SHOW_TXT
LCALL DELAY
MOV R2,#00H
LCALL TEST_LCD2
SHOW_GRA:
LCALL DELAY
MOV R2,#55H
LCALL TEST_LCD1 ;SHOW_WS
LCALL DELAY
MOV DPTR,#PIC1
; LCALL SHOW_PIC
LCALL CL1
LCALL DELAY
JMP SHOW_BG
;*****************************************************************************
; SHOW WINSTAR LOGO
;*****************************************************************************
SHOW_PIC:
LCALL CL2
LCALL POS2
MOV A,#42H
LCALL COM_W
MOV R1,#240
ROW2: MOV R2,#40
ROW1: XRL A,ACC ;CLR A
MOVC A,@A+DPTR
LCALL DATA_W
INC DPTR
DJNZ R2,ROW1
DJNZ R1,ROW2
RET
SHOW_TXT:
LCALL POS1
MOV A,#42H
LCALL COM_W
MOV R0,#30
TXT1: MOV R1,#APL
MOV R2,#30H
TXT2: MOV A,R2
LCALL DATA_W
INC R2
DJNZ R1,TXT2
DJNZ R0,TXT1
RET
;*****************************************************************************
TEST_LCD1:
LCALL CL1
LCALL POS2
MOV A,#42H
LCALL COM_W
MOV R0,#240
TEL11: MOV R1,#40H
TEL21: MOV A,R2
LCALL DATA_W
DJNZ R1,TEL21
DJNZ R0,TEL11
RET
;*****************************************************************************
TEST_LCD2:
LCALL CL1
LCALL POS2
MOV A,#42H
LCALL COM_W
MOV R0,#240
TEL12: MOV R1,#40H
TEL22: MOV A,R2
LCALL DATA_W
DJNZ R1,TEL22
MOV A,R2
CPL A
MOV R2,A
DJNZ R0,TEL12
RET
;*****************************************************************************
;sed1330 funtion
COM_W: SETB A0
AJMP _WRITE
DATA_W: CLR A0
CLR _WR
CLR CS
MOV DBUS,A
MOV 60H,#10
DJNZ 60H,$
SETB CS
RET
;*****************************************************************************
;CLEAR LAYER 1
CL1:
LCALL POS1
MOV A,#42H
LCALL COM_W
MOV R0,#30
L1: MOV R1,#APL
L2: MOV A,#00H
LCALL DATA_W
DJNZ R1,L2
DJNZ R0,L1
RET
;*****************************************************************************
;CLEAR LAYER 2
CL2:
LCALL POS2
MOV A,#42H
LCALL COM_W
MOV R0,#240
L3: MOV R1,#APL
L4: MOV A,#0H
LCALL DATA_W
DJNZ R1,L4
DJNZ R0,L3
RET
;*****************************************************************************
;POSITION 1
POS1:
MOV A,#46H
LCALL COM_W
MOV A,#00H
LCALL DATA_W
MOV A,#00H
LCALL DATA_W
RET
;*****************************************************************************
;POSITION 1 SHIFT 40
POS11:
MOV A,#46H
LCALL COM_W
MOV A,#MAX_COL / 8
LCALL DATA_W
MOV A,#00H
LCALL DATA_W
RET
;*****************************************************************************
;POSITION 2
POS2:
MOV A,#46H
LCALL COM_W
MOV A,#SAD_2L
LCALL DATA_W
MOV A,#SAD_2H
LCALL DATA_W
RET
;*****************************************************************************
DELAY:
MOV R7,#40
DD0: MOV R6,#100
DD1: MOV R5,#250
DJNZ R5,$
DJNZ R6,DD1
DJNZ R7,DD0
RET
;*****************************************************************************
PIC1: ;图片数据太大了,在此省略掉
;-- 调入了一幅图像:E:\WORKSPACE\ZIMO\320240a.bmp --
;-- 宽度x高度=320x240 --