📄 osdbt.src
字号:
; OSDBT.SRC generated from: OSDBT.C
$NOMOD51
NAME OSDBT
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?osdKeypoll?OSDBT SEGMENT CODE
?BI?osdKeypoll?OSDBT SEGMENT BIT OVERLAYABLE
?PR?checkPowerOffButton?OSDBT SEGMENT CODE
EXTRN BIT (ResetCPUFlag)
EXTRN BIT (OSDEnabled)
EXTRN BIT (OutWithBackground)
EXTRN BIT (StatusFlag)
EXTRN BIT (AdjustFlag)
EXTRN BIT (TurnPowerOffFlag)
EXTRN IDATA (eepData)
EXTRN IDATA (ival)
EXTRN DATA (cursor)
EXTRN DATA (CurrentMode)
EXTRN CODE (timer0_start)
EXTRN CODE (timer0_stop)
EXTRN CODE (_moveCtrl)
EXTRN CODE (_adjustCtrl)
EXTRN CODE (menuCtrl)
EXTRN CODE (exitCtrl)
EXTRN CODE (mainMenu)
EXTRN CODE (osdOSDLock)
EXTRN CODE (volumeMenu)
EXTRN CODE (do_auto_setup)
EXTRN CODE (disableOSD)
EXTRN CODE (_RegByteIn)
EXTRN CODE (_RegByteOut)
EXTRN CODE (_eepDataOut)
EXTRN DATA (?_eepDataOut?BYTE)
EXTRN CODE (miscEnterSleepMode)
EXTRN CODE (miscExitSleepMode)
EXTRN CODE (_miscDelay)
PUBLIC checkPowerOffButton
PUBLIC ?osdKeypoll?BIT
PUBLIC osdKeypoll
RSEG ?BI?osdKeypoll?OSDBT
?osdKeypoll?BIT:
Flag?040: DBIT 1
; /************************************************
; * *
; * OSDBT.C: button control routines. *
; * *
; *************************************************/
; #include <reg51.h>
; #include "MOSAIC.h"
; #include "OSD.h"
; #include "busio.h"
; #include "global.h"
;
;
;
;
; /****************************************
; * Polling OSD key *
; *****************************************/
; void osdKeypoll(bit Flag)
RSEG ?PR?osdKeypoll?OSDBT
USING 0
osdKeypoll:
; SOURCE LINE # 18
; {
; SOURCE LINE # 19
;
; /* stop timer 0 */
; timer0_stop();
; SOURCE LINE # 22
LCALL timer0_stop
;
;
; //Power On
; if(!POWER_BUT_PIN && !(eepData.MascotFlag & FLAG_POWERSTATUS))
; SOURCE LINE # 26
JB POWER_BUT_PIN,?C0001
MOV R0,#eepData+01BH
MOV A,@R0
MOV R7,A
JB ACC.0,?C0001
; {
; SOURCE LINE # 27
; LED_G_Pin = 0; LED_O_Pin = 1;
; SOURCE LINE # 28
CLR LED_G_Pin
SETB LED_O_Pin
; eepData.MascotFlag |= FLAG_POWERSTATUS;
; SOURCE LINE # 29
ORL A,#01H
MOV @R0,A
; eepDataOut(EEPDATASTART+(&eepData.MascotFlag-&eepData), (unsigned char *)&eepData.MascotFlag, 1);
; SOURCE LINE # 30
MOV R7,#LOW (eepData)
CLR C
MOV A,#LOW (eepData+01BH)
SUBB A,#LOW (eepData)
MOV R7,A
MOV A,#HIGH (eepData+01BH)
SUBB A,#HIGH (eepData)
XCH A,R7
ADD A,#04H
XCH A,R7
ADDC A,#00H
MOV R6,A
MOV R3,#00H
MOV R2,#HIGH (eepData+01BH)
MOV R1,#LOW (eepData+01BH)
MOV ?_eepDataOut?BYTE+05H,#00H
MOV ?_eepDataOut?BYTE+06H,#01H
LCALL _eepDataOut
; EA = 0;
; SOURCE LINE # 31
CLR EA
; EX0 = 0;
; SOURCE LINE # 32
CLR EX0
; miscExitSleepMode();
; SOURCE LINE # 33
LCALL miscExitSleepMode
; RegByteOut(0x04,RegByteIn(0x04)|0x02);
; SOURCE LINE # 34
MOV R7,#04H
LCALL _RegByteIn
MOV A,R7
ORL A,#02H
MOV R5,A
MOV R7,#04H
LCALL _RegByteOut
; ResetCPUFlag = 1;
; SOURCE LINE # 35
SETB ResetCPUFlag
RET
; return;
;
; }
; SOURCE LINE # 38
?C0001:
;
;
; //Power Off
; if(!POWER_BUT_PIN || TurnPowerOffFlag)
; SOURCE LINE # 42
JNB POWER_BUT_PIN,?C0004
JNB TurnPowerOffFlag,?C0003
?C0004:
; {
; SOURCE LINE # 43
; checkPowerOffButton();
; SOURCE LINE # 44
LCALL checkPowerOffButton
; }
; SOURCE LINE # 45
?C0003:
;
;
; // if Power off then return
; if(!(eepData.MascotFlag & FLAG_POWERSTATUS))
; SOURCE LINE # 49
MOV R0,#eepData+01BH
MOV A,@R0
JB ACC.0,$ + 6H
LJMP ?C0002
?C0005:
; return;
;
;
; if ((CurrentMode == MODE_OUTOFSYNC) || (CurrentMode == MODE_OVERFLOW))
; SOURCE LINE # 53
MOV A,CurrentMode
XRL A,#0F0H
JNZ $ + 5H
LJMP ?C0002
MOV A,CurrentMode
XRL A,#0F1H
JNZ $ + 5H
LJMP ?C0002
?C0006:
; return;
;
;
; if (OutWithBackground == 1)
; SOURCE LINE # 57
JNB OutWithBackground,?C0008
; {
; SOURCE LINE # 58
; OutWithBackground = 0;
; SOURCE LINE # 59
CLR OutWithBackground
; disableOSD();
; SOURCE LINE # 60
LCALL disableOSD
; }
; SOURCE LINE # 61
?C0008:
;
;
; if (!OSDEnabled)
; SOURCE LINE # 64
JNB OSDEnabled,$ + 6H
LJMP ?C0009
; {
; SOURCE LINE # 65
;
; if (!RIGHT_BUT_PIN && !MENU_BUT_PIN)
; SOURCE LINE # 67
JB RIGHT_BUT_PIN,?C0010
JB MENU_BUT_PIN,$ + 6H
LJMP ?C0002
?C0010:
; return;
; if (!RIGHT_BUT_PIN && !LEFT_BUT_PIN)
; SOURCE LINE # 69
JB RIGHT_BUT_PIN,?C0011
JB LEFT_BUT_PIN,$ + 6H
LJMP ?C0002
?C0011:
; return;
;
; if(!MENU_BUT_PIN)
; SOURCE LINE # 72
JB MENU_BUT_PIN,?C0012
; {
; SOURCE LINE # 73
; if (eepData.MascotFlag & FLAG_OSDLOCK)
; SOURCE LINE # 74
MOV R0,#eepData+01BH
MOV A,@R0
JNB ACC.4,?C0013
; {
; SOURCE LINE # 75
; //show osd lock
; osdOSDLock();
; SOURCE LINE # 77
LCALL osdOSDLock
; for (ival = 0; ival < 100 ;ival++)
; SOURCE LINE # 78
CLR A
MOV R0,#ival
MOV @R0,A
INC R0
MOV @R0,A
?C0014:
; {
; SOURCE LINE # 79
; miscDelay(20);
; SOURCE LINE # 80
MOV R7,#014H
MOV R6,#00H
LCALL _miscDelay
; if (!POWER_BUT_PIN) break;
; SOURCE LINE # 81
JNB POWER_BUT_PIN,?C0015
; }
; SOURCE LINE # 82
?C0016:
MOV R0,#ival+01H
INC @R0
MOV A,@R0
JNZ ?C0090
DEC R0
INC @R0
?C0090:
CLR C
MOV R0,#ival+01H
MOV A,@R0
SUBB A,#064H
DEC R0
MOV A,@R0
SUBB A,#00H
JC ?C0014
?C0015:
; disableOSD();
; SOURCE LINE # 83
LCALL disableOSD
RET
; return;
; }
; SOURCE LINE # 85
?C0013:
; else
; {
; SOURCE LINE # 87
; cursor = MAIN_CONTRAST;
; SOURCE LINE # 88
MOV cursor,#010H
; mainMenu();
; SOURCE LINE # 89
LCALL mainMenu
; }
; SOURCE LINE # 90
?C0019:
; while(!MENU_BUT_PIN);
; SOURCE LINE # 91
JNB MENU_BUT_PIN,$ + 6H
LJMP ?C0040
SJMP ?C0019
;
; }
; SOURCE LINE # 93
?C0012:
; else if (!RIGHT_BUT_PIN)
; SOURCE LINE # 94
JB RIGHT_BUT_PIN,?C0022
; {
; SOURCE LINE # 95
; #if WITH_AUDIO
; volumeMenu();
; SOURCE LINE # 97
LCALL volumeMenu
?C0023:
; #else
; contrastMenu();
; #endif
; while(!RIGHT_BUT_PIN);
; SOURCE LINE # 101
JNB RIGHT_BUT_PIN,$ + 6H
LJMP ?C0040
SJMP ?C0023
; }
; SOURCE LINE # 102
?C0022:
; else if(!LEFT_BUT_PIN)
; SOURCE LINE # 103
JB LEFT_BUT_PIN,?C0026
; {
; SOURCE LINE # 104
; #if WITH_AUDIO
; volumeMenu();
; SOURCE LINE # 106
LCALL volumeMenu
?C0027:
; #else
; brightnessMenu();
; #endif
; while(!LEFT_BUT_PIN);
; SOURCE LINE # 110
JNB LEFT_BUT_PIN,$ + 6H
LJMP ?C0040
SJMP ?C0027
; }
; SOURCE LINE # 111
?C0026:
; else if (!AUTO_BUT_PIN)
; SOURCE LINE # 112
JNB AUTO_BUT_PIN,$ + 6H
LJMP ?C0040
; {
; SOURCE LINE # 113
; if (eepData.MascotFlag & FLAG_OSDLOCK)
; SOURCE LINE # 114
MOV R0,#eepData+01BH
MOV A,@R0
MOV R7,A
JNB ACC.4,$ + 6H
LJMP ?C0002
?C0031:
; return;
;
; if (!(eepData.MascotFlag & FLAG_PORTB))
; SOURCE LINE # 117
MOV A,R7
JB ACC.6,?C0038
; {
; SOURCE LINE # 118
; for (ival = 0; ival < 50 ;ival++)
; SOURCE LINE # 119
CLR A
MOV R0,#ival
MOV @R0,A
INC R0
MOV @R0,A
?C0033:
; {
; SOURCE LINE # 120
; miscDelay(20);
; SOURCE LINE # 121
MOV R7,#014H
MOV R6,#00H
LCALL _miscDelay
; if ((KEYPORT & KEYMASK) == KEYMASK)
; SOURCE LINE # 122
MOV A,P1
ANL A,#01FH
XRL A,#01FH
JZ ?C0034
; break;
; SOURCE LINE # 123
; }
; SOURCE LINE # 124
?C0035:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -