📄 tft_drv_4805.asm
字号:
.nolist
include HT48R06A-1.INC
;#define OV7930
.list
.listmacro
#define pTvpSCL pC.0
#define pTvpSDA pC.1
#define pOnOff pa.2
#define pPower pa.3
#define pTftCs pa.4
#define pTftScl pa.5
#define pTftSda pa.6
#define pTvpRst pa.7
#define pTvpSCLC pCc.0
#define pTvpSDAC pCc.1
#define pOnOffC pac.2
#define pPowerC pac.3
#define pTftCsC pac.4
#define pTftSclC pac.5
#define pTftSdaC pac.6
#define pTvpRstC pac.7
#define b_vsync pb.2
#define PKEY0C pAc.0
#define PKEY1C pAc.1
#define PKEY2C pAc.2
;#define pStdSel pb.0
;#define pStdSelC pbc.0
#define TVP5150WrAddr 0BAh
#define TVP5150RdAddr 0BBh
#define D_SCAN_KEYBUFFER 7aH
#define D_DEBOUNCETIME 38
#define D_PRESS_DELAY 28
#define D_UNIT 1
data .section 'data'
r_Temp db ?
r_CmdAddr db ?
r_CmdData db ?
;r_contrast db ?
;r_saturation db ?
;r_brightness db ?
r_keybuf db ?
r_keyCode db ?
R_KEYCODEBK DB ?
r_DebounceTime db ?
R_PORT_TEMP DB ?
r_flags db ?
r_counter0 db ?
r_counter1 db ?
r_DelayTime db ?
R_MODE DB ?
R_BRIGHT DB ?
R_CONSTAST DB ?
R_COLOR DB ?
R_HUE DB ?
;R_BRIGHT_R DB ?
;R_BRIGHT_B DB ?
;R_CONSTAST_R DB ?
;R_CONSTAST_B DB ?
R_FLIP DB ?
T_SCAN_TEMP1 DB ?
R_PRESS_DELAY DB ?
R_PRESS_SEL DB ?
r_times db ?
#define b_Debounce r_flags.7
#define b_PowerKey1st r_flags.6
#define b_color r_flags.5
#define b_hue r_flags.4
;#define B_BRIGHT_R R_FLAGS.5 ;0 +,1 -
;#define B_BRIGHT_B R_FLAGS.4 ;0 +,1 -
;#define B_CONSTAST_R R_FLAGS.3 ;0 +,1 -
;#define B_CONSTAST_B R_FLAGS.2 ;0 +,1 -
#define b_first r_flags.1
;#define __DEBUG__
code .section at 0 'code'
org 00h
nop
nop
nop
jmp v_reset
org 04h
ret ;v_extint
org 08h
ret ;v_timer0
;org 0ch
;ret ;v_timer1
v_reset:
;nop
;nop
nop
clr pb
clr pbc
;mov a,00000100b
;mov pbc,a
;set pb2
clr pc
clr pcc
clr intc
mov a,7
mov wdts,a
clr wdt
;clr wdt2
;clr ram
mov a,40h
mov mp0,a
clr [00h]
siz mp0
jmp $-2
;standart banding option check
;set pStdSelC
;jmp $+1
;jmp $+1
;clr b_VideoStdPal
;snz pStdSel ;default NTSC
;set b_VideoStdPal ;Low PAL
;clr pStdSel
;clr pStdSelC
;set b_VideoStdPal
;init io
mov a,11111111b ;tvp_rst,tft_sda,tft_scl,tft_cs,PwrCtrl,OnoffKey,TvpSda,TvpScl
mov pa,a
mov a,00000111b
mov pac,a
;
MOV A,3
MOV R_TEMP,A
;
L_DELLOOP:
MOV A,100
CALL F_DELAY1MS
SDZ R_TEMP
JMP L_DELLOOP
clr pTvpRst
;mov a,(7+12)%16 ;3
;mov r_contrast,a
;mov r_saturation,a
;mov a,(9+12)%16 ;5
;mov r_brightness,a
mov a,10
call f_delay1ms
;reset Tvp5150
set pTvpRst ;reset Tvp5150 end
mov a,60
call f_delay1ms ;wait tvp5150 init end
;init TVP5150A/AM
mov a,low(T_Tvp5150Cmd)
mov tblp,a
l_Tvp5150InitLoop:
clr wdt
;clr wdt2
call f_GetPageData
mov r_CmdAddr,a
inc tblp
call f_GetPageData
mov r_CmdData,a
call f_Tvp5150Cmd
inc tblp
mov a,tblp
sub a,low(T_Tvp5150CmdEnd) ;if >= c=1
snz c
jmp l_Tvp5150InitLoop
;init AUO panel
;
;**************************
;INIT LCD
MOV A,7bH
MOV R_FLIP,A ;CCIR656
MOV A,128 ;2EH
MOV R_BRIGHT,A
MOV A,128 ;4BH
MOV R_CONSTAST,A
mov a,128
mov r_color,a
mov r_hue,a
; CLR R_MODE
; JMP L_MODE1
mov a,52
call f_delay1ms
;init AUO panel
mov a,low(T_AuoPanelCmd)
mov tblp,a
l_AuoInitLoop:
call f_GetPageData
mov r_CmdAddr,a
inc tblp
call f_GetPageData
mov r_CmdData,a
call f_AuoPanelCmd
inc tblp
mov a,tblp
sub a,low(T_AuoPanleCmdEnd) ;if >= c=1
snz c
jmp l_AuoInitLoop
;************************************************************************************************
L_CHKKEY_LOOP:
CLR WDT
;CLR WDT2
MOV A,1
CALL F_DELAY1MS
SZ R_PRESS_DELAY
DEC R_PRESS_DELAY
SZ R_DEBOUNCETIME
DEC R_DEBOUNCETIME
;
CALL F_GETKEY
SZ R_KEYCODE.7
JMP L_ENTERSLEEP_RE
;
JMP L_KEYMAP
JMP L_CHKKEY_LOOP
;
L_ENTERSLEEP_RE:
SZ R_PRESS_SEL
JMP L_PRESS_SEL
L_ENTERSLEEP:
SZ R_DEBOUNCETIME
JMP L_CHKKEY_LOOP
;SZ R_PRESS_SEL
;JMP L_CHKKEY_LOOP
;SZ [7DH]
;JMP L_CHKKEY_LOOP
;SZ [7EH]
;JMP L_CHKKEY_LOOP
;
CLR [7aH]
CLR [7bH]
CLR [7cH]
CLR PB0
CLR PB1
;CLR PB2
SET PKEY0C
SET PKEY1C
SET PKEY2C
NOP
HALT
NOP
NOP
CLR WDT
;CLR WDT2
CLR R_PRESS_DELAY
;SET PB0
JMP L_CHKKEY_LOOP
;
;********
L_PRESS_SEL:
SZ R_PRESS_DELAY
JMP L_CHKKEY_LOOP
;
JMP L_PRESS_JMP
;*****************************************************************
;*************
;BRIGHT DEC
;*************
L_ADJBRIGHTNESS_DEC:
MOV A,1
MOV R_PRESS_SEL,A
MOV A,250
MOV R_PRESS_DELAY,A
JMP L_ADJBRIGHTNESS_DEC2
L_ADJBRIGHTNESS_DEC1:
MOV A,D_PRESS_DELAY
MOV R_PRESS_DELAY,A
L_ADJBRIGHTNESS_DEC2:
MOV A,R_BRIGHT
SUB A,D_UNIT
MOV R_BRIGHT,A
SZ C
JMP L_BRIGHT_COM
CLR R_BRIGHT
L_BRIGHT_COM:
mov a,9 ;BRIGHT
mov r_cmdaddr,a
mov a,R_BRIGHT
mov r_cmddata,a
call f_Tvp5150Cmd
JMP L_CHKKEY_LOOP
;
;****************
;BRIGHT ADD
;****************
L_ADJBRIGHTNESS_ADD:
MOV A,2
MOV R_PRESS_SEL,A
MOV A,250
MOV R_PRESS_DELAY,A
JMP L_ADJBRIGHTNESS_ADD2
L_ADJBRIGHTNESS_ADD1:
MOV A,D_PRESS_DELAY
MOV R_PRESS_DELAY,A
L_ADJBRIGHTNESS_ADD2:
MOV A,D_UNIT
ADDM A,R_BRIGHT
SNZ C
JMP L_BRIGHT_COM
SET R_BRIGHT
JMP L_BRIGHT_COM
;;
;*************
;CONSTAST DEC
;*************
L_ADJCONSTAST_DEC:
MOV A,3
MOV R_PRESS_SEL,A
MOV A,250
MOV R_PRESS_DELAY,A
JMP L_ADJCONSTAST_DEC2
L_ADJCONSTAST_DEC1:
MOV A,D_PRESS_DELAY
MOV R_PRESS_DELAY,A
L_ADJCONSTAST_DEC2:
MOV A,R_CONSTAST
SUB A,D_UNIT
MOV R_CONSTAST,A
SZ C
JMP L_CONSTAST_COM
CLR R_CONSTAST
L_CONSTAST_COM:
mov a,0ch ;CONSTAST
mov r_cmdaddr,a
mov a,R_CONSTAST
mov r_cmddata,a
call f_Tvp5150Cmd
JMP L_CHKKEY_LOOP
;
;****************
;CONSTAST ADD
;****************
L_ADJCONSTAST_ADD:
MOV A,4
MOV R_PRESS_SEL,A
MOV A,250
MOV R_PRESS_DELAY,A
JMP L_ADJCONSTAST_ADD2
L_ADJCONSTAST_ADD1:
MOV A,D_PRESS_DELAY
MOV R_PRESS_DELAY,A
L_ADJCONSTAST_ADD2:
MOV A,D_UNIT
ADDM A,R_CONSTAST
SNZ C
JMP L_CONSTAST_COM
SET R_CONSTAST
JMP L_CONSTAST_COM
;
;*************
;COLOR DEC
;*************
L_ADJCOLOR_DEC:
MOV A,5
MOV R_PRESS_SEL,A
MOV A,250
MOV R_PRESS_DELAY,A
JMP L_ADJCOLOR_DEC2
L_ADJCOLOR_DEC1:
MOV A,D_PRESS_DELAY
MOV R_PRESS_DELAY,A
L_ADJCOLOR_DEC2:
MOV A,R_COLOR
SUB A,D_UNIT
MOV R_COLOR,A
SZ C
JMP L_COLOR_COM
CLR R_COLOR
L_COLOR_COM:
mov a,0AH ;BRIGHT
mov r_cmdaddr,a
mov a,R_COLOR
mov r_cmddata,a
call f_Tvp5150Cmd
JMP L_CHKKEY_LOOP
;
;****************
;BRIGHT ADD
;****************
L_ADJCOLOR_ADD:
MOV A,6
MOV R_PRESS_SEL,A
MOV A,250
MOV R_PRESS_DELAY,A
JMP L_ADJCOLOR_ADD2
L_ADJCOLOR_ADD1:
MOV A,D_PRESS_DELAY
MOV R_PRESS_DELAY,A
L_ADJCOLOR_ADD2:
MOV A,D_UNIT
ADDM A,R_COLOR
SNZ C
JMP L_COLOR_COM
SET R_COLOR
JMP L_COLOR_COM
;;
;*************
;HUE DEC
;*************
L_ADJHUE_DEC:
MOV A,7
MOV R_PRESS_SEL,A
MOV A,250
MOV R_PRESS_DELAY,A
JMP L_ADJHUE_DEC2
L_ADJHUE_DEC1:
MOV A,D_PRESS_DELAY
MOV R_PRESS_DELAY,A
L_ADJHUE_DEC2:
MOV A,R_HUE
SUB A,D_UNIT
MOV R_HUE,A
SZ C
JMP L_HUE_COM
CLR R_HUE
L_HUE_COM:
mov a,0Bh ;CONSTAST
mov r_cmdaddr,a
mov a,R_HUE
add a,80h
mov r_cmddata,a
call f_Tvp5150Cmd
JMP L_CHKKEY_LOOP
;
;****************
;HUE ADD
;****************
L_ADJHUE_ADD:
MOV A,8
MOV R_PRESS_SEL,A
MOV A,250
MOV R_PRESS_DELAY,A
JMP L_ADJHUE_ADD2
L_ADJHUE_ADD1:
MOV A,D_PRESS_DELAY
MOV R_PRESS_DELAY,A
L_ADJHUE_ADD2:
MOV A,D_UNIT
ADDM A,R_HUE
SNZ C
JMP L_HUE_COM
SET R_HUE
JMP L_HUE_COM
;;***************************
;;***************
;;adj COLOR
;;***************
;L_ADJCOLOR:
; MOV A,5
; MOV R_PRESS_SEL,A
;
;
;
;L_ADJCOLOR1:
; MOV A,D_PRESS_DELAY
; MOV R_PRESS_DELAY,A
; ;
; SZ B_COLOR
; JMP L_ADJCOLOR_DEC
;L_ADJCOLOR_ADD:
; mov a,D_UNIT
; ADDM A,R_COLOR
;
;
; ;MOV A,COLOR
; ;SUB A,0FFH
; SNZ C
; JMP L_COLOR_COM
;L_ADJCOLOR_ADD1:
; SET B_COLOR
; MOV A,0FFH
; MOV R_COLOR,A
; JMP L_COLOR_COM
;;
;L_ADJCOLOR_DEC:
; MOV A,R_COLOR
; SUB A,D_UNIT
; MOV R_COLOR,A
; SZ C
; JMP L_COLOR_COM
;
; CLR B_COLOR
; CLR R_COLOR
;
;L_COLOR_COM:
; MOV A,0AH
; mov r_CmdAddr,a
; MOV A,R_COLOR
; mov r_CmdData,a
; call f_Tvp5150Cmd
; JMP L_CHKKEY_LOOP
;;
;;***************
;;adj HUE
;;***************
;L_ADJHUE:
; MOV A,6
; MOV R_PRESS_SEL,A
;
;
;
;L_ADJHUE1:
; MOV A,D_PRESS_DELAY
; MOV R_PRESS_DELAY,A
; ;
; SZ B_HUE
; JMP L_ADJHUE_DEC
;L_ADJHUE_ADD:
; mov a,D_UNIT
; ADDM A,R_HUE
;
;
; ;MOV A,HUE
; ;SUB A,0FFH
; SNZ C
; JMP L_HUE_COM
;L_ADJHUE_ADD1:
; SET B_HUE
; MOV A,0FFH
; MOV R_HUE,A
; JMP L_HUE_COM
;;
;L_ADJHUE_DEC:
; MOV A,R_HUE
; SUB A,D_UNIT
; MOV R_HUE,A
; SZ C
; JMP L_HUE_COM
;
; CLR B_HUE
; CLR R_HUE
;
;L_HUE_COM:
; MOV A,0AH
; mov r_CmdAddr,a
; MOV A,R_HUE
; mov r_CmdData,a
; call f_Tvp5150Cmd
; JMP L_CHKKEY_LOOP
;;
;;*******************
;;***************
;;adj BRIGHT RED
;;***************
;L_ADJBRIGHT_R:
; MOV A,5
; MOV R_PRESS_SEL,A
;
;
;
;L_ADJBRIGHT_R1:
; MOV A,D_PRESS_DELAY
; MOV R_PRESS_DELAY,A
; ;
; SZ B_BRIGHT_R
; JMP L_ADJBRIGHT_R_DEC
;L_ADJBRIGHT_R_ADD:
; mov a,D_UNIT
; ADDM A,R_BRIGHT_R
;
;
; MOV A,R_BRIGHT_R
; SUB A,7FH
; SNZ C
; JMP L_BRIGHT_R_COM
;L_ADJBRIGHT_R_ADD1:
; SET B_BRIGHT_R
; MOV A,7FH
; MOV R_BRIGHT_R,A
; JMP L_BRIGHT_R_COM
;;
;L_ADJBRIGHT_R_DEC:
; MOV A,R_BRIGHT_R
; SUB A,D_UNIT
; MOV R_BRIGHT_R,A
; SZ C
; JMP L_BRIGHT_R_COM
;
; CLR B_BRIGHT_R
; CLR R_BRIGHT_R
;
;L_BRIGHT_R_COM:
; mov a,15 ;BRIGHT RED
; mov r_cmdaddr,a
; mov a,R_BRIGHT_R
; mov r_cmddata,a
; call f_auopanelcmd
; JMP L_CHKKEY_LOOP
;;
;;***************
;;adj BRIGHT BLUE
;;***************
;L_ADJBRIGHT_B:
; MOV A,6
; MOV R_PRESS_SEL,A
;
;
;
;L_ADJBRIGHT_B1:
; MOV A,D_PRESS_DELAY
; MOV R_PRESS_DELAY,A
; ;
; SZ B_BRIGHT_B
; JMP L_ADJBRIGHT_B_DEC
;L_ADJBRIGHT_B_ADD:
; mov a,D_UNIT
; ADDM A,R_BRIGHT_B
;
;
; MOV A,R_BRIGHT_B
; SUB A,7FH
; SNZ C
; JMP L_BRIGHT_B_COM
;L_ADJBRIGHT_B_ADD1:
; SET B_BRIGHT_B
; MOV A,7FH
; MOV R_BRIGHT_B,A
; JMP L_BRIGHT_B_COM
;;
;L_ADJBRIGHT_B_DEC:
; MOV A,R_BRIGHT_B
; SUB A,D_UNIT
; MOV R_BRIGHT_B,A
; SZ C
; JMP L_BRIGHT_B_COM
;
; CLR B_BRIGHT_B
; CLR R_BRIGHT_B
;
;L_BRIGHT_B_COM:
; ;JMP L_MODE_COM1
;
; mov a,17 ;BRIGHT RED
; mov r_cmdaddr,a
; mov a,R_BRIGHT_B
; mov r_cmddata,a
; call f_auopanelcmd
; JMP L_CHKKEY_LOOP
;;
;;***************
;;adj CONSTAST RED
;;***************
;L_ADJCONSTAST_R:
; MOV A,7
; MOV R_PRESS_SEL,A
;
;
;
;L_ADJCONSTAST_R1:
; MOV A,D_PRESS_DELAY
; MOV R_PRESS_DELAY,A
; ;
; SZ B_CONSTAST_R
; JMP L_ADJCONSTAST_R_DEC
;L_ADJCONSTAST_R_ADD:
; mov a,D_UNIT
; ADDM A,R_CONSTAST_R
;
;
; MOV A,R_CONSTAST_R
; SUB A,7FH
; SNZ C
; JMP L_CONSTAST_R_COM
;L_ADJCONSTAST_R_ADD1:
; SET B_CONSTAST_R
; MOV A,7FH
; MOV R_CONSTAST_R,A
; JMP L_CONSTAST_R_COM
;;
;L_ADJCONSTAST_R_DEC:
; MOV A,R_CONSTAST_R
; SUB A,D_UNIT
; MOV R_CONSTAST_R,A
; SZ C
; JMP L_CONSTAST_R_COM
;
; CLR B_CONSTAST_R
; CLR R_CONSTAST_R
;
;L_CONSTAST_R_COM:
; mov a,14 ;CONSTAST RED
; mov r_cmdaddr,a
; mov a,R_CONSTAST_R
; mov r_cmddata,a
; call f_auopanelcmd
; JMP L_CHKKEY_LOOP
;;
;;***************
;;adj CONSTAST BLUE
;;***************
;L_ADJCONSTAST_B:
; MOV A,8
; MOV R_PRESS_SEL,A
;
;
;
;L_ADJCONSTAST_B1:
; MOV A,D_PRESS_DELAY
; MOV R_PRESS_DELAY,A
; ;
; SZ B_CONSTAST_B
; JMP L_ADJCONSTAST_B_DEC
;L_ADJCONSTAST_B_ADD:
; mov a,D_UNIT
; ADDM A,R_CONSTAST_B
;
;
; MOV A,R_CONSTAST_B
; SUB A,7FH
; SNZ C
; JMP L_CONSTAST_B_COM
;L_ADJCONSTAST_B_ADD1:
; SET B_CONSTAST_B
; MOV A,7FH
; MOV R_CONSTAST_B,A
; JMP L_CONSTAST_B_COM
;;
;L_ADJCONSTAST_B_DEC:
; MOV A,R_CONSTAST_B
; SUB A,D_UNIT
; MOV R_CONSTAST_B,A
; SZ C
; JMP L_CONSTAST_B_COM
;
; CLR B_CONSTAST_B
; CLR R_CONSTAST_B
;
;L_CONSTAST_B_COM:
; mov a,16 ;CONSTAST RED
; mov r_cmdaddr,a
; mov a,R_CONSTAST_B
; mov r_cmddata,a
; call f_auopanelcmd
; JMP L_CHKKEY_LOOP
;
;
;;*******************
;;MODE SHIFT
;;*******************
;L_MODE:
; CLR R_PRESS_SEL
; CLR R_PRESS_DELAY
; INC R_MODE
; MOV A,R_MODE
; SUB A,3
; SZ C
; CLR R_MODE
; ;
;L_MODE1:
; MOV A,52
; CALL F_DELAY1MS
; ;
; mov a,5
; mov r_cmdaddr,a
; mov a,016h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -