📄 gm246401.asm
字号:
;//////////////////////////////////////////////////////////////
;//FILE: GM246401.ASM //
;//COMPILER: KEIL_C51 //
;//DESIGNER: DRAGON //
;//DATA: Sep/20/2004 //
;//COMPANY: DATA IMAGE //
;//////////////////////////////////////////////////////////////
;//FIRMWARE: 8051 + GM246401 //
;//MPU: 8051 //
;//CONTROL & DRIVER IC: T6963C //
;//LCD: 240 X 64 DOT //
;//////////////////////////////////////////////////////////////
;//PIN CONNECTIONS:
;//Pin Symbol Function
;//1 FGND Frame Ground (Connect to Bezel)
;//2 VSS Ground Potential (Logic)
;//3 VDD Power Supply (+5V)
;//4 VO Power Supply Input for LCD
;//5 /WR Data Write
;//6 /RD Data Read
;//7 /CE Chip Enable
;//8 C/D Code / Data
;//9 N.C No Connection
;//10 /RST Reset, Active LOW
;//11~18 DB0~DB7 Data Bus Line
;//19 FS Font Select, ¨L〃 = 8 ⊙ 8, ¨H〃 = 8 ⊙ 6
;//20 N.C No Connection
;///////////////////////////////////////////////////////////////////////////////
;//INTERFACE:
;//8051----------------T6963C
;//P0.0~P0.7-----------D0~D7 ;DATA BUS
;//VDD----------------/RES ;RESET SIGNAL
;///RD----------------/RD ;READ SIGNAL
;///WR----------------/WR ;WRITE SIGNAL
;//P3.0----------------/CE ;CHIP SELECT
;//A0------------------A0 ;DATA/COMMAND REGISTER SELECT
;//P3.1----------------FS
;//P3.5----------------SW ;picture switch
;/////////////////////////////////////////////////////////////////////////////////
XRAM1 EQU 20H
YRAM1 EQU 21H
LRAM1 EQU 22H
XRAM2 EQU 23H
YRAM2 EQU 24H
LRAM2 EQU 25H
XRAM3 EQU 26H
YRAM3 EQU 27H
LRAM3 EQU 28H
XDOT EQU 29H
T_1 EQU 2AH
T_2 EQU 2BH
T_3 EQU 2CH
COM63C EQU 1
DAT63C EQU 0
G24642_CS EQU P3.0
FS EQU P3.1
SW1 EQU P3.5
ORG 0000H
MOV SP,#60H
CALL T6963C2
JMP INIT63C
;-------------------------------------------
CS2:
CLR G24642_CS
RET
CS2_OFF:
SETB G24642_CS
RET
;**************************************************
;* LCM WITH T6963C *
;**************************************************
T6963C2:
MOV XRAM2,#30 ;30
MOV YRAM2,#64 ;64
MOV LRAM2,#8 ;8
RET
;***********************************************
INIT63C:
CALL ORMOD
CALL GPHOME
CALL GPAREA
CALL TXHOME
CALL TXAREA
START:
;-----------------------------------------------------
CLR FS ;TEXT MODE
CALL TONGOF
MOV T_1,#30 ;FOR 24642
MOV T_2,YRAM2
MOV T_3,LRAM2
CALL FILLTTT
CALL DLY1SEC
; CALL WAIT_SW1
SETB FS
MOV T_1,#40 ;FOR 24642
CALL FILLTTT
CALL DLY1SEC
; CALL WAIT_SW1
;-----------------------------------------------------
CALL TOFGON ;GRAPHIC MODE
CLR FS
MOV DPTR,#GPH01
CALL FILLG63
CALL DLY1SEC
; CALL WAIT_SW1
MOV DPTR,#GPH02
CALL FILLG63
CALL DLY1SEC
; CALL WAIT_SW1
MOV DPTR,#GPH03
CALL FILLG63
CALL DLY1SEC
; CALL WAIT_SW1
CALL WHITEXYO
CALL DLY1SEC
; CALL WAIT_SW1
CALL BLANKXYO
CALL DLY1SEC
; CALL WAIT_SW1
CALL XDASH1O
CALL DLY1SEC
; CALL WAIT_SW1
CALL XDASH2O
CALL DLY1SEC
; CALL WAIT_SW1
CALL YDASH1O
CALL DLY1SEC
; CALL WAIT_SW1
CALL YDASH2O
CALL DLY1SEC
; CALL WAIT_SW1
CALL YDASH3O
CALL DLY1SEC
; CALL WAIT_SW1
CALL YDASH4O
CALL DLY1SEC
; CALL WAIT_SW1
CALL SQUAR1O
CALL DLY1SEC
; CALL WAIT_SW1
CALL SQUAR2O
CALL DLY1SEC
; CALL WAIT_SW1
JMP START
;=======================================================
WAIT_SW1:
PUSH 6H
PUSH 7H
JB SW1,$
MOV R6,#50
WA1:
MOV R7,#0
DJNZ R7,$
DJNZ R6,WA1
JNB SW1,$
MOV R6,#50
WA2:
MOV R7,#0
DJNZ R7,$
DJNZ R6,WA2
POP 7H
POP 6H
RET
;============================================
FILLTTT:
CALL TXTADR0
MOV A,T_1
MOV B,T_3
MUL AB
MOV R2,A
MOV R3,B
INC R3
MOV R4,#0
LP63T:
MOV A,R4
ANL A,#01111111B
CALL CS2
MOV R0,#DAT63C
MOVX @R0,A
CALL CS2_OFF
CALL CS2
MOV A,#11000000B
MOV R0,#COM63C
MOVX @R0,A
CALL CS2_OFF
INC R4
DJNZ R2,LP63T
DJNZ R3,LP63T
RET
;============================================
FILLG63:
CALL GPADR0
MOV R2,T_2
FILL63P2:
MOV R1,T_1
FILL63P1:
MOV A,#00H
MOVC A,@A+DPTR
CPL A
CALL CS2
MOV R0,#DAT63C
MOVX @R0,A
CALL CS2_OFF
CALL CS2
MOV A,#11000000B
MOV R0,#COM63C
MOVX @R0,A
CALL CS2_OFF
INC DPTR
DJNZ R1,FILL63P1
DJNZ R2,FILL63P2
RET
;============================================
WHITEXYO:
CALL GPADR0
MOV R2,T_2
WHITE_P2:
MOV R1,T_1
WHITE_P1:
MOV A,#11111111B
CALL CS2
MOV R0,#DAT63C
MOVX @R0,A
CALL CS2_OFF
CALL CS2
MOV A,#11000000B
MOV R0,#COM63C
MOVX @R0,A
CALL CS2_OFF
DJNZ R1,WHITE_P1
DJNZ R2,WHITE_P2
RET
;============================================
BLANKXYO:
CALL GPADR0
MOV R2,T_2
BLANK_P2:
MOV R1,T_1
BLANK_P1:
MOV A,#00000000B
CALL CS2
MOV R0,#DAT63C
MOVX @R0,A
CALL CS2_OFF
CALL CS2
MOV A,#11000000B
MOV R0,#COM63C
MOVX @R0,A
CALL CS2_OFF
DJNZ R1,BLANK_P1
DJNZ R2,BLANK_P2
RET
;============================================
XDASH1O:
CALL GPADR0
MOV R2,T_2
MOV A,R2
RR A
MOV R2,A
XDASH10_P3:
MOV R1,T_1
XDASH10_P1:
MOV A,#11111111B
CALL CS2
MOV R0,#DAT63C
MOVX @R0,A
CALL CS2_OFF
CALL CS2
MOV A,#11000000B
MOV R0,#COM63C
MOVX @R0,A
CALL CS2_OFF
DJNZ R1,XDASH10_P1
MOV R1,T_1
XDASH10_P2:
MOV A,#00000000B
CALL CS2
MOV R0,#DAT63C
MOVX @R0,A
CALL CS2_OFF
CALL CS2
MOV A,#11000000B
MOV R0,#COM63C
MOVX @R0,A
CALL CS2_OFF
DJNZ R1,XDASH10_P2
DJNZ R2,XDASH10_P3
RET
;============================================
XDASH2O:
CALL GPADR0
MOV R2,T_2
MOV A,R2
RR A
MOV R2,A
XDASH20_P3:
MOV R1,T_1
XDASH20_P1:
MOV A,#00000000B
CALL CS2
MOV R0,#DAT63C
MOVX @R0,A
CALL CS2_OFF
CALL CS2
MOV A,#11000000B
MOV R0,#COM63C
MOVX @R0,A
CALL CS2_OFF
DJNZ R1,XDASH20_P1
MOV R1,T_1
XDASH20_P2:
MOV A,#11111111B
CALL CS2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -