📄 osdmain.src
字号:
; OSDMAIN.SRC generated from: OSDMAIN.C
$NOMOD51
NAME OSDMAIN
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?osdTimerOver?OSDMAIN SEGMENT CODE
?PR?osdCheck?OSDMAIN SEGMENT CODE
EXTRN BIT (TimerOver)
EXTRN BIT (OutWithBackground)
EXTRN BIT (preosdNoInputFlag)
EXTRN BIT (osdNoInputFlag)
EXTRN BIT (StatusFlag)
EXTRN BIT (TurnPowerOffFlag)
EXTRN IDATA (eepData)
EXTRN IDATA (ival)
EXTRN DATA (CurrentTimerSet)
EXTRN DATA (statusBefore)
EXTRN DATA (keyBuffer)
EXTRN BIT (burnInFlag)
EXTRN CODE (osdNoInput)
EXTRN CODE (osdKeypoll)
EXTRN BIT (?osdKeypoll?BIT)
EXTRN CODE (disableOSD)
EXTRN CODE (miscEnterSleepMode)
EXTRN CODE (_miscDelay)
PUBLIC osdCheck
PUBLIC osdTimerOver
; /************************************************
; * *
; * OSDMAIN.C: main routine for OSD *
; * *
; *************************************************/
; #include <reg51.h>
; #include "MOSAIC.h"
; #include "OSD.h"
; #include "global.h"
;
;
;
; void osdTimerOver(void)
RSEG ?PR?osdTimerOver?OSDMAIN
USING 0
osdTimerOver:
; SOURCE LINE # 13
; {
; SOURCE LINE # 14
; if(TimerOver)
; SOURCE LINE # 15
JNB TimerOver,?C0005
; {
; SOURCE LINE # 16
;
; if(preosdNoInputFlag)
; SOURCE LINE # 18
JNB preosdNoInputFlag,?C0002
; {
; SOURCE LINE # 19
; preosdNoInputFlag = 0;
; SOURCE LINE # 20
CLR preosdNoInputFlag
;
; if (eepData.MascotFlag & FLAG_BURNIN)
; SOURCE LINE # 22
MOV R0,#eepData+01BH
MOV A,@R0
JNB ACC.5,?C0003
; {
; SOURCE LINE # 23
; burnInFlag = 1;
; SOURCE LINE # 24
SETB burnInFlag
; }
; SOURCE LINE # 25
RET
?C0003:
; else
; {
; SOURCE LINE # 27
; osdNoInput();
; SOURCE LINE # 28
LCALL osdNoInput
; CurrentTimerSet = 3 * 15; //3 seconds
; SOURCE LINE # 29
MOV CurrentTimerSet,#00H
MOV CurrentTimerSet+01H,#02DH
; ET0 = 1;
; SOURCE LINE # 30
SETB ET0
; TR0 = 1;
; SOURCE LINE # 31
SETB TR0
; }
; SOURCE LINE # 32
RET
; return;
; }
; SOURCE LINE # 34
?C0002:
; if(osdNoInputFlag)
; SOURCE LINE # 35
JNB osdNoInputFlag,?C0006
; {
; SOURCE LINE # 36
; osdNoInputFlag = 0;
; SOURCE LINE # 37
CLR osdNoInputFlag
; miscEnterSleepMode();
; SOURCE LINE # 38
LCALL miscEnterSleepMode
RET
; return;
; }
; SOURCE LINE # 40
?C0006:
;
; if(!OutWithBackground)
; SOURCE LINE # 42
JB OutWithBackground,?C0005
; {
; SOURCE LINE # 43
; if (!(eepData.MascotFlag & FLAG_FACTORY))
; SOURCE LINE # 44
MOV R0,#eepData+01BH
MOV A,@R0
JB ACC.7,?C0005
; disableOSD();
; SOURCE LINE # 45
LCALL disableOSD
; }
; SOURCE LINE # 46
; }
; SOURCE LINE # 47
; }
; SOURCE LINE # 48
?C0005:
RET
; END OF osdTimerOver
;
;
;
; void osdCheck(void)
RSEG ?PR?osdCheck?OSDMAIN
USING 0
osdCheck:
; SOURCE LINE # 52
; {
; SOURCE LINE # 53
;
; osdTimerOver();
; SOURCE LINE # 55
LCALL osdTimerOver
;
; /* polling */
; keyBuffer = KEYPORT & KEYMASK;
; SOURCE LINE # 58
MOV A,P1
ANL A,#01FH
MOV keyBuffer,A
; if(keyBuffer != KEYMASK) {
; SOURCE LINE # 59
XRL A,#01FH
JZ ?C0009
; //delay 15 ms
; for (ival = 0; ival < 15 ;ival++)
; SOURCE LINE # 61
CLR A
MOV R0,#ival
MOV @R0,A
INC R0
MOV @R0,A
?C0010:
; {
; SOURCE LINE # 62
; miscDelay(1);
; SOURCE LINE # 63
MOV R7,#01H
MOV R6,#00H
LCALL _miscDelay
; if ( keyBuffer != (KEYPORT & KEYMASK))
; SOURCE LINE # 64
MOV A,P1
ANL A,#01FH
XRL A,keyBuffer
JNZ ?C0011
; break;
; SOURCE LINE # 65
?C0013:
; if ( TurnPowerOffFlag )
; SOURCE LINE # 66
JB TurnPowerOffFlag,?C0011
; break;
; SOURCE LINE # 67
; }
; SOURCE LINE # 68
?C0012:
MOV R0,#ival+01H
INC @R0
MOV A,@R0
JNZ ?C0022
DEC R0
INC @R0
?C0022:
CLR C
MOV R0,#ival+01H
MOV A,@R0
SUBB A,#0FH
DEC R0
MOV A,@R0
SUBB A,#00H
JC ?C0010
?C0011:
; if( keyBuffer == (KEYPORT & KEYMASK)) {
; SOURCE LINE # 69
MOV A,P1
ANL A,#01FH
XRL A,keyBuffer
JNZ ?C0021
;
; if (statusBefore == keyBuffer) {
; SOURCE LINE # 71
MOV A,statusBefore
XRL A,keyBuffer
JNZ ?C0016
; if (StatusFlag == CHANGED)
; SOURCE LINE # 72
JNB StatusFlag,?C0017
; osdKeypoll(CHANGED);
; SOURCE LINE # 73
SETB ?osdKeypoll?BIT
LCALL osdKeypoll
RET
?C0017:
; else
; osdKeypoll(NOCHANGED);
; SOURCE LINE # 75
CLR ?osdKeypoll?BIT
LCALL osdKeypoll
; }
; SOURCE LINE # 76
RET
?C0016:
; else {
; SOURCE LINE # 77
; statusBefore = keyBuffer;
; SOURCE LINE # 78
MOV statusBefore,keyBuffer
; osdKeypoll(CHANGED);
; SOURCE LINE # 79
SETB ?osdKeypoll?BIT
LCALL osdKeypoll
; }
; SOURCE LINE # 80
; //miscDelay(1);
;
; }
; SOURCE LINE # 83
; }
; SOURCE LINE # 84
RET
?C0009:
; else
; {
; SOURCE LINE # 86
; StatusFlag = CHANGED;
; SOURCE LINE # 87
SETB StatusFlag
; }
; SOURCE LINE # 88
;
; } ; SOURCE LINE # 90
?C0021:
RET
; END OF osdCheck
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -