📄 main.src
字号:
; MAIN.SRC generated from: MAIN.C
$NOMOD51
NAME MAIN
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?main?MAIN SEGMENT CODE
?PR?uart2400_init?MAIN SEGMENT CODE
EXTRN BIT (ResetCPUFlag)
EXTRN BIT (TimerOver)
EXTRN BIT (SleepModeFlag)
EXTRN BIT (preosdNoInputFlag)
EXTRN BIT (osdNoInputFlag)
EXTRN BIT (syncIsrFlag)
EXTRN IDATA (eepData)
EXTRN CODE (osdCheck)
EXTRN CODE (postInitMosaic)
EXTRN CODE (syncProcess)
EXTRN CODE (_setVolume)
EXTRN CODE (WinBondISP)
EXTRN CODE (osd_init)
EXTRN CODE (do_burnIn)
EXTRN CODE (_eepDataIn)
EXTRN DATA (?_eepDataIn?BYTE)
EXTRN CODE (_eepDataOut)
EXTRN DATA (?_eepDataOut?BYTE)
EXTRN CODE (miscClkOn)
EXTRN CODE (miscClkOff)
EXTRN CODE (_miscDelay)
EXTRN CODE (?C_STARTUP)
PUBLIC uart2400_init
PUBLIC main
;
; /************************************************
; * *
; * MAIN.C: Mosiac ROM main routine *
; * *
; ************************************************/
; #include <reg51.h>
; #include "mosaic.h"
; #include "osd.h"
; #include "global.h"
;
;
;
; void main(void)
RSEG ?PR?main?MAIN
USING 0
main:
; SOURCE LINE # 14
; {
; SOURCE LINE # 15
;
; #if (DEBUGMSG+WINBOND_ISP)
; uart2400_init();
; SOURCE LINE # 18
LCALL uart2400_init
; #endif
;
; #if USE_CPURESET
; ResetPin = 0; miscDelay(2);
; SOURCE LINE # 22
CLR ResetPin
MOV R7,#02H
MOV R6,#00H
LCALL _miscDelay
; ResetPin = 1; miscDelay(20);
; SOURCE LINE # 23
SETB ResetPin
MOV R7,#014H
MOV R6,#00H
LCALL _miscDelay
; ResetPin = 0; miscDelay(20);
; SOURCE LINE # 24
CLR ResetPin
MOV R7,#014H
MOV R6,#00H
LCALL _miscDelay
; #endif
;
; eepDataIn(EEPDATASTART+(&eepData.MascotFlag-&eepData), (unsigned char *)&eepData.MascotFlag, 1);
; SOURCE LINE # 27
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 ?_eepDataIn?BYTE+05H,#00H
MOV ?_eepDataIn?BYTE+06H,#01H
LCALL _eepDataIn
;
; postInitMosaic();
; SOURCE LINE # 29
LCALL postInitMosaic
; osd_init();
; SOURCE LINE # 30
LCALL osd_init
;
; powerinit:
; SOURCE LINE # 32
?main?powerinit:
; ResetCPUFlag = 0;
; SOURCE LINE # 33
CLR ResetCPUFlag
; preosdNoInputFlag = 0;
; SOURCE LINE # 34
CLR preosdNoInputFlag
; osdNoInputFlag = 0;
; SOURCE LINE # 35
CLR osdNoInputFlag
; SleepModeFlag = 0;
; SOURCE LINE # 36
CLR SleepModeFlag
;
;
; if (eepData.MascotFlag & FLAG_FACTORY)
; SOURCE LINE # 39
MOV R0,#eepData+01BH
MOV A,@R0
MOV R7,A
JB ACC.7,?main?waitpowerkey
; goto waitpowerkey;
; SOURCE LINE # 40
?C0002:
;
; if (eepData.MascotFlag & FLAG_POWERSTATUS)
; SOURCE LINE # 42
MOV A,R7
JB ACC.0,?main?poweron
; goto poweron;
; SOURCE LINE # 43
;
; waitpowerkey:
; SOURCE LINE # 45
?main?waitpowerkey:
;
; LED_G_Pin = 1; LED_O_Pin = 1;
; SOURCE LINE # 47
SETB LED_G_Pin
SETB LED_O_Pin
; #if WITH_AUDIO
; setVolume(0);
; SOURCE LINE # 49
CLR A
MOV R7,A
LCALL _setVolume
; #endif
; miscClkOff();
; SOURCE LINE # 51
LCALL miscClkOff
?C0006:
; while(POWER_BUT_PIN);
; SOURCE LINE # 52
JB POWER_BUT_PIN,?C0006
?C0007:
; miscClkOn();
; SOURCE LINE # 53
LCALL miscClkOn
;
;
; poweron:
; SOURCE LINE # 56
?main?poweron:
; if (!MENU_BUT_PIN)
; SOURCE LINE # 57
JB MENU_BUT_PIN,?C0008
; eepData.MascotFlag |= FLAG_FACTORY;
; SOURCE LINE # 58
MOV R0,#eepData+01BH
MOV A,@R0
ORL A,#080H
MOV @R0,A
SJMP ?C0009
?C0008:
; else
; eepData.MascotFlag &= ~FLAG_FACTORY;
; SOURCE LINE # 60
MOV R0,#eepData+01BH
MOV A,@R0
ANL A,#07FH
MOV @R0,A
?C0009:
;
; if (!RIGHT_BUT_PIN && !LEFT_BUT_PIN)
; SOURCE LINE # 62
JB RIGHT_BUT_PIN,?C0010
JB LEFT_BUT_PIN,?C0010
; eepData.MascotFlag ^= FLAG_OSDLOCK;
; SOURCE LINE # 63
MOV R0,#eepData+01BH
MOV A,@R0
XRL A,#010H
MOV @R0,A
?C0010:
;
; ResetCPUFlag = 0;
; SOURCE LINE # 65
CLR ResetCPUFlag
; LED_G_Pin = 0; LED_O_Pin = 1;
; SOURCE LINE # 66
CLR LED_G_Pin
SETB LED_O_Pin
; eepData.MascotFlag |= FLAG_POWERSTATUS;
; SOURCE LINE # 67
MOV R0,#eepData+01BH
MOV A,@R0
ORL A,#01H
MOV @R0,A
; eepDataOut(EEPDATASTART+(&eepData.MascotFlag-&eepData), (unsigned char *)&eepData.MascotFlag, 1);
; SOURCE LINE # 68
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 = 1;
; SOURCE LINE # 69
SETB EA
; EX0 = 1;
; SOURCE LINE # 70
SETB EX0
; #if WINBOND_ISP
; ES = 1;
; SOURCE LINE # 72
SETB ES
; #endif
; TR0 = 0;
; SOURCE LINE # 74
CLR TR0
; TimerOver = 0;
; SOURCE LINE # 75
CLR TimerOver
?C0011:
;
; #if DEBUGMSG
; printf(" sync int enabled\n");
; #endif
;
;
; while(!POWER_BUT_PIN);
; SOURCE LINE # 82
JNB POWER_BUT_PIN,?C0011
?C0013:
;
;
; while (1)
; SOURCE LINE # 85
; {
; SOURCE LINE # 86
;
; osdCheck();
; SOURCE LINE # 88
LCALL osdCheck
;
; if(syncIsrFlag)
; SOURCE LINE # 90
JNB syncIsrFlag,?C0015
; {
; SOURCE LINE # 91
; syncProcess();
; SOURCE LINE # 92
LCALL syncProcess
; }
; SOURCE LINE # 93
?C0015:
;
; if (ResetCPUFlag)
; SOURCE LINE # 95
JNB ResetCPUFlag,$ + 6H
LJMP ?main?powerinit
; {
; SOURCE LINE # 96
; goto powerinit;
; SOURCE LINE # 97
; }
; SOURCE LINE # 98
?C0016:
;
; #if WINBOND_ISP
; WinBondISP();
; SOURCE LINE # 101
LCALL WinBondISP
; #endif
;
; #if BURNINMODE
; do_burnIn();
; SOURCE LINE # 105
LCALL do_burnIn
; #endif
; }
; SOURCE LINE # 107
SJMP ?C0013
; }
; SOURCE LINE # 108
RET
; END OF main
;
;
;
;
;
; #if (DEBUGMSG+WINBOND_ISP)
; void uart2400_init(void)
RSEG ?PR?uart2400_init?MAIN
USING 0
uart2400_init:
; SOURCE LINE # 115
; {
; SOURCE LINE # 116
; // setup serial port control
; #if DEBUGMSG
; SCON = 0x52; /* SCON */
; #else
; SCON = 0x50; /* SCON */
; SOURCE LINE # 121
MOV SCON,#050H
; #endif
; TMOD = 0x20; /* TMOD */ // hardware (2400 BAUD @12MHZ)
; SOURCE LINE # 123
MOV TMOD,#020H
; TCON = 0x48; /* TCON */
; SOURCE LINE # 124
MOV TCON,#048H
; #if (CPUCLOCK == 12)
; TH1 = 0xF3; /* TH1 */
; SOURCE LINE # 126
MOV TH1,#0F3H
; #elif (CPUCLOCK == 24)
; TH1 = 0xE6; /* TH1 */
; #endif
;
; #if DEBUGMSG
; printf("\n**** CPU RESET ****\n\n");
; #endif
; }
; SOURCE LINE # 134
RET
; END OF uart2400_init
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -