⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sync.src

📁 采用台湾MRT晶捷公司的MRT4方案的液晶电视的程序
💻 SRC
📖 第 1 页 / 共 4 页
字号:
; SYNC.SRC generated from: SYNC.C

$NOMOD51

NAME	SYNC

P0	DATA	080H
P1	DATA	090H
P2	DATA	0A0H
P3	DATA	0B0H
PSW	DATA	0D0H
ACC	DATA	0E0H
B	DATA	0F0H
SP	DATA	081H
DPL	DATA	082H
DPH	DATA	083H
PCON	DATA	087H
TCON	DATA	088H
TMOD	DATA	089H
TL0	DATA	08AH
TL1	DATA	08BH
TH0	DATA	08CH
TH1	DATA	08DH
IE	DATA	0A8H
IP	DATA	0B8H
SCON	DATA	098H
SBUF	DATA	099H
CY	BIT	0D0H.7
AC	BIT	0D0H.6
F0	BIT	0D0H.5
RS1	BIT	0D0H.4
RS0	BIT	0D0H.3
OV	BIT	0D0H.2
P	BIT	0D0H.0
TF1	BIT	088H.7
TR1	BIT	088H.6
TF0	BIT	088H.5
TR0	BIT	088H.4
IE1	BIT	088H.3
IT1	BIT	088H.2
IE0	BIT	088H.1
IT0	BIT	088H.0
EA	BIT	0A8H.7
ES	BIT	0A8H.4
ET1	BIT	0A8H.3
EX1	BIT	0A8H.2
ET0	BIT	0A8H.1
EX0	BIT	0A8H.0
PS	BIT	0B8H.4
PT1	BIT	0B8H.3
PX1	BIT	0B8H.2
PT0	BIT	0B8H.1
PX0	BIT	0B8H.0
RD	BIT	0B0H.7
WR	BIT	0B0H.6
T1	BIT	0B0H.5
T0	BIT	0B0H.4
INT1	BIT	0B0H.3
INT0	BIT	0B0H.2
TXD	BIT	0B0H.1
RXD	BIT	0B0H.0
SM0	BIT	098H.7
SM1	BIT	098H.6
SM2	BIT	098H.5
REN	BIT	098H.4
TB8	BIT	098H.3
RB8	BIT	098H.2
TI	BIT	098H.1
RI	BIT	098H.0
SDAPin	BIT	090H.6
SCLPin	BIT	090H.7
WPPin	BIT	090H.5
ResetPin	BIT	0A0H.0
BrightnessPin	BIT	0B0H.5
VGA_CON_PIN	BIT	0A0H.5
LED_O_Pin	BIT	080H.0
LED_G_Pin	BIT	080H.1
PANEL_VCC_PIN	BIT	0A0H.2
PANEL_BKL_PIN	BIT	0A0H.3
POWER_BUT_PIN	BIT	090H.4
MENU_BUT_PIN	BIT	090H.1
RIGHT_BUT_PIN	BIT	090H.2
LEFT_BUT_PIN	BIT	090H.3
AUTO_BUT_PIN	BIT	090H.0
?PR?sync_isr?SYNC    SEGMENT CODE
?PR?syncProcess?SYNC SEGMENT CODE
?DT?syncProcess?SYNC SEGMENT DATA OVERLAYABLE
?PR?syncChanged?SYNC SEGMENT CODE
?DT?syncChanged?SYNC SEGMENT DATA OVERLAYABLE
?PR?syncVerify?SYNC  SEGMENT CODE
?ID?syncVerify?SYNC  SEGMENT IDATA OVERLAYABLE
?DT?syncVerify?SYNC  SEGMENT DATA OVERLAYABLE
?PR?_syncCheckRange?SYNC                 SEGMENT CODE
?PR?syncDetect?SYNC  SEGMENT CODE
?DT?syncDetect?SYNC  SEGMENT DATA OVERLAYABLE
?PR?osdOutofsync?SYNC                    SEGMENT CODE
?PR?osdNoInput?SYNC  SEGMENT CODE
?CO?SYNC             SEGMENT CODE
	EXTRN	BIT (SleepModeFlag)
	EXTRN	BIT (PresetModeFlag)
	EXTRN	BIT (preosdNoInputFlag)
	EXTRN	BIT (osdNoInputFlag)
	EXTRN	BIT (osdOutofsyncFlag)
	EXTRN	BIT (backlightOffFlag)
	EXTRN	BIT (freeRunFlag)
	EXTRN	BIT (syncIsrFlag)
	EXTRN	BIT (FindNewModeFlag)
	EXTRN	CODE (ModeTbl)
	EXTRN	IDATA (eepData)
	EXTRN	IDATA (buff)
	EXTRN	IDATA (ival)
	EXTRN	DATA (InputPolarity)
	EXTRN	DATA (CurrentTimerSet)
	EXTRN	DATA (HsyncCnt)
	EXTRN	DATA (VsyncCnt)
	EXTRN	DATA (CurrentMode)
	EXTRN	BIT (burnInFlag)
	EXTRN	CODE (do_factoryMode)
	EXTRN	CODE (osdCableNotConnected)
	EXTRN	CODE (osdOutOfScanRange)
	EXTRN	CODE (_autoTune)
	EXTRN	CODE (updateModeData)
	EXTRN	CODE (_dspMute)
	EXTRN	CODE (do_testpattern)
	EXTRN	BIT (?do_testpattern?BIT)
	EXTRN	CODE (_RegByteIn)
	EXTRN	CODE (_RegDataIn)
	EXTRN	DATA (?_RegDataIn?BYTE)
	EXTRN	CODE (_RegByteOut)
	EXTRN	CODE (_RegBitOut)
	EXTRN	CODE (_eepDataOut)
	EXTRN	DATA (?_eepDataOut?BYTE)
	EXTRN	CODE (_modeSetMode)
	EXTRN	CODE (miscTurnOnPanel)
	EXTRN	CODE (miscTurnOffBackLight)
	EXTRN	CODE (miscTurnOnBackLight)
	EXTRN	CODE (miscExitSleepMode)
	EXTRN	CODE (miscClkOn)
	EXTRN	CODE (freeRunMode)
	EXTRN	CODE (?C?FCASTI)
	EXTRN	CODE (?C?FPCMP3)
	EXTRN	CODE (?C?PLDCODE)
	EXTRN	CODE (?C?ILDPTR)
	EXTRN	CODE (?C?CLDOPTR)
	EXTRN	CODE (?C?OFFXADD)
	PUBLIC	SyncRangeTbl
	PUBLIC	VsyncTbl
	PUBLIC	Hsync90Tbl
	PUBLIC	Hsync85Tbl
	PUBLIC	Hsync75Tbl
	PUBLIC	Hsync72Tbl
	PUBLIC	Hsync70Tbl
	PUBLIC	Hsync66Tbl
	PUBLIC	Hsync60Tbl
	PUBLIC	Hsync56Tbl
	PUBLIC	Hsync50Tbl
	PUBLIC	osdNoInput
	PUBLIC	osdOutofsync
	PUBLIC	syncDetect
	PUBLIC	_syncCheckRange
	PUBLIC	syncVerify
	PUBLIC	syncChanged
	PUBLIC	syncProcess
	PUBLIC	sync_isr

	RSEG  ?DT?syncProcess?SYNC
?syncProcess?BYTE:
  InputMode?140:   DS   1

	RSEG  ?DT?syncChanged?SYNC
?syncChanged?BYTE:
   hsync_pt?241:   DS   3
          i?242:   DS   1
        cnt?243:   DS   1

	RSEG  ?ID?syncVerify?SYNC
 vsync_cnt0?344:   DS   2

	RSEG  ?DT?syncVerify?SYNC
?syncVerify?BYTE:
    overcnt?345:   DS   1

	RSEG  ?DT?syncDetect?SYNC
?syncDetect?BYTE:
       temp?548:   DS   1

	RSEG  ?CO?SYNC
Hsync50Tbl:
	DW	00492H
	DB	080H
	DB	039H
	DW	005B7H
	DB	002H
	DB	000H
	DW	005B7H
	DB	003H
	DB	004H
	DW	005B7H
	DB	001H
	DB	002H
	DW	0063AH
	DB	080H
	DB	024H

Hsync56Tbl:
	DW	00515H
	DB	083H
	DB	01FH
	DW	006D7H
	DB	080H
	DB	008H
	DW	00AAEH
	DB	080H
	DB	035H

Hsync60Tbl:
	DW	004D8H
	DB	080H
	DB	023H
	DW	005AEH
	DB	083H
	DB	004H
	DW	005ECH
	DB	080H
	DB	038H
	DW	00752H
	DB	080H
	DB	009H
	DW	007D9H
	DB	080H
	DB	036H
	DW	0086EH
	DB	083H
	DB	00CH
	DW	008B4H
	DB	080H
	DB	037H
	DW	009CBH
	DB	080H
	DB	02BH
	DW	00A7EH
	DB	080H
	DB	02FH
	DW	00B6FH
	DB	080H
	DB	026H

Hsync66Tbl:
	DW	006D3H
	DB	081H
	DB	019H
	DW	008ABH
	DB	083H
	DB	022H
	DW	00A11H
	DB	080H
	DB	00DH
	DW	00B66H
	DB	080H
	DB	032H
	DW	00BF6H
	DB	080H
	DB	033H
	DW	00C68H
	DB	080H
	DB	034H

Hsync70Tbl:
	DW	005A1H
	DB	002H
	DB	000H
	DW	005A1H
	DB	081H
	DB	002H
	DW	006C6H
	DB	082H
	DB	01CH
	DW	00872H
	DB	082H
	DB	011H
	DW	00A53H
	DB	083H
	DB	00DH
	DW	00B6FH
	DB	080H
	DB	02CH
	DW	00CF8H
	DB	080H
	DB	029H

Hsync72Tbl:
	DW	00560H
	DB	080H
	DB	025H
	DW	00752H
	DB	083H
	DB	005H
	DW	008E8H
	DB	080H
	DB	00AH
	DW	00AC9H
	DB	083H
	DB	00EH
	DW	00B92H
	DB	080H
	DB	02CH
	DW	00D9EH
	DB	080H
	DB	02AH

Hsync75Tbl:
	DW	00740H
	DB	083H
	DB	006H
	DW	00854H
	DB	080H
	DB	00BH
	DW	008FFH
	DB	083H
	DB	01DH
	DW	00B17H
	DB	003H
	DB	01EH
	DW	00B17H
	DB	080H
	DB	00FH
	DW	00C08H
	DB	080H
	DB	02DH
	DW	00D24H
	DB	080H
	DB	030H
	DW	00E2AH
	DB	080H
	DB	027H

Hsync85Tbl:
	DW	00654H
	DB	080H
	DB	017H
	DW	006CFH
	DB	002H
	DB	01AH
	DW	006CFH
	DB	001H
	DB	01BH
	DW	0083EH
	DB	083H
	DB	007H
	DW	00A04H
	DB	080H
	DB	012H
	DW	00C93H
	DB	080H
	DB	010H

Hsync90Tbl:
	DW	00D3EH
	DB	083H
	DB	018H

VsyncTbl:
	DW	00E15H
	DW	0040FH
	DB	0FFH
	DW	Hsync50Tbl + 0
	DB	005H
	DW	00CA0H
	DW	003E4H
	DB	0FFH
	DW	Hsync56Tbl + 0
	DB	003H
	DW	00B71H
	DW	00455H
	DB	0FFH
	DW	Hsync60Tbl + 0
	DB	00AH
	DW	00AD9H
	DW	005A1H
	DB	0FFH
	DW	Hsync66Tbl + 0
	DB	006H
	DW	00A50H
	DW	00485H
	DB	0FFH
	DW	Hsync70Tbl + 0
	DB	007H
	DW	009F7H
	DW	004DDH
	DB	0FFH
	DW	Hsync72Tbl + 0
	DB	006H
	DW	00927H
	DW	005E3H
	DB	0FFH
	DW	Hsync75Tbl + 0
	DB	008H
	DW	00852H
	DW	0058BH
	DB	0FFH
	DW	Hsync85Tbl + 0
	DB	006H
	DW	007B5H
	DW	00B89H
	DB	0FFH
	DW	Hsync90Tbl + 0
	DB	001H
	DW	00000H
	DB  000H,000H,000H,000H,000H,000H


SyncRangeTbl:
	DB	004H
	DW	00533H
	DB	057H
	DW	00C04H
	DB	068H
	DB	005H
	DW	0064AH
	DB	057H
	DW	009ECH
	DB	046H
	DB	006H
	DW	0063AH
	DB	057H
	DW	009A3H
	DB	042H
	DB	008H
	DW	005D4H
	DB	057H
	DW	00CCBH
	DB	076H
	DB	009H
	DW	0064BH
	DB	057H
	DW	00BF2H
	DB	067H
	DB	00AH
	DW	00808H
	DB	057H
	DW	00A01H
	DB	047H
	DB	00BH
	DW	007D4H
	DB	057H
	DW	009A3H
	DB	042H
	DB	00CH
	DW	00815H
	DB	057H
	DW	00C01H
	DB	068H
	DB	00DH
	DW	00977H
	DB	057H
	DW	00A4EH
	DB	04CH
	DB	00FH
	DW	00A12H
	DB	057H
	DW	009A2H
	DB	042H
	DB	026H
	DW	00ABFH
	DB	057H
	DW	00C00H
	DB	068H
	DB	027H
	DW	00D7AH
	DB	057H
	DW	009A2H
	DB	042H
	DB	019H
	DW	005CDH
	DB	057H
	DW	00AD1H
	DB	054H
	DB	01DH
	DW	00850H
	DB	057H
	DW	009B3H
	DB	043H
	DB	002H
	DW	00533H
	DB	057H
	DW	00A4DH
	DB	04CH
	DB	000H
	DW	00533H
	DB	057H
	DW	00A4DH
	DB	04CH
	DB	02DH
	DW	00B59H
	DB	057H
	DW	009A3H
	DB	042H

; /************************************************
;  *                                              *
;  *      SYNC.C:  Mosiac Sync Processor routine  *
;  *                                              *
;  ************************************************/
; #include <reg51.h>
; #include <math.h>
; #include "mosaic.h"
; #include "osd.h"
; #include "global.h"
; 
; //
; //  Interrupt 0 service routine:
; //      Sync Processor Interrupt
; //
CSEG	AT	00003H
	LJMP	sync_isr

; void sync_isr(void) interrupt 0

	RSEG  ?PR?sync_isr?SYNC
	USING	0
sync_isr:
	PUSH 	ACC
	PUSH 	B
	PUSH 	DPH
	PUSH 	DPL
	PUSH 	PSW
	MOV  	A,R0
	PUSH 	ACC
	MOV  	A,R1
	PUSH 	ACC
	MOV  	A,R2
	PUSH 	ACC
	MOV  	A,R3
	PUSH 	ACC
	MOV  	A,R4
	PUSH 	ACC
	MOV  	A,R5
	PUSH 	ACC
	MOV  	A,R6
	PUSH 	ACC
	MOV  	A,R7
	PUSH 	ACC
			; SOURCE LINE # 16
; {
; 	
; 	if ((!backlightOffFlag)&&(!osdNoInputFlag))
			; SOURCE LINE # 19
	JB   	backlightOffFlag,?C0001
	JB   	osdNoInputFlag,?C0001
; 	{
			; SOURCE LINE # 20
; 		dspMute(1);
			; SOURCE LINE # 21
	MOV  	R7,#01H
	LCALL	_dspMute
; 		
; 		miscTurnOffBackLight();
			; SOURCE LINE # 23
	LCALL	miscTurnOffBackLight
; 
; 		if(!freeRunFlag)
			; SOURCE LINE # 25
	JB   	freeRunFlag,?C0001
; 		{	
			; SOURCE LINE # 26
; 			freeRunMode();
			; SOURCE LINE # 27
	LCALL	freeRunMode
; 		}
			; SOURCE LINE # 28
; 	}
			; SOURCE LINE # 29
?C0001:
; 	syncIsrFlag = 1;
			; SOURCE LINE # 30
	SETB 	syncIsrFlag
; 	RegByteOut(0x04,0x00);
			; SOURCE LINE # 31
	MOV  	R7,#04H
	CLR  	A
	MOV  	R5,A
	LCALL	_RegByteOut
; 	RegByteOut(0x01,0x00);
			; SOURCE LINE # 32
	MOV  	R7,#01H
	CLR  	A
	MOV  	R5,A
	LCALL	_RegByteOut
; }	
			; SOURCE LINE # 33
	POP  	ACC
	MOV  	R7,A
	POP  	ACC
	MOV  	R6,A
	POP  	ACC
	MOV  	R5,A
	POP  	ACC
	MOV  	R4,A
	POP  	ACC
	MOV  	R3,A
	POP  	ACC
	MOV  	R2,A
	POP  	ACC
	MOV  	R1,A
	POP  	ACC
	MOV  	R0,A
	POP  	PSW
	POP  	DPL
	POP  	DPH
	POP  	B
	POP  	ACC
	RETI 	
; END OF sync_isr

; 	
; 
; //
; //	Sync Process
; //
; void syncProcess(void) 

	RSEG  ?PR?syncProcess?SYNC
	USING	0
syncProcess:
			; SOURCE LINE # 39
; {
			; SOURCE LINE # 40
; 
; 	unsigned char InputMode;
; 
; 	InputMode = syncChanged();
			; SOURCE LINE # 44
	LCALL	syncChanged
	MOV  	InputMode?140,R7
; 
; #if DEBUGMSG
; 	printf("  Found InputMode=%2x\n", (unsigned int)InputMode);
; #endif
; 
; 	if (InputMode == MODE_OVERFLOW)
			; SOURCE LINE # 50
	MOV  	A,InputMode?140
	XRL  	A,#0F1H
	JNZ  	?C0004
; 	{
			; SOURCE LINE # 51
; 		CurrentMode = MODE_OVERFLOW;
			; SOURCE LINE # 52
	MOV  	CurrentMode,#0F1H
; 		if(syncDetect()==0)  			// port A and port B no input
			; SOURCE LINE # 53
	LCALL	syncDetect
	MOV  	A,R7
	JNZ  	?C0005

⌨️ 快捷键说明

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