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

📄 timer.src

📁 台湾凌阳方案300万数码相机源代码
💻 SRC
📖 第 1 页 / 共 5 页
字号:
	JC   	?C0002
; 	  //patch5.03@Joe@2003.4.7 19:14 add end
; 	  {
			; SOURCE LINE # 171
; 		//patch5.03@Joe@2003.4.7 19:24 modify begin
; 		//G_TimeStamp = 0;
; 		G_Timer0Count = 0;
			; SOURCE LINE # 174
	CLR  	A
	MOVX 	@DPTR,A
; 		//patch5.03@Joe@2003.4.7 19:25 modify end
; 
; 		//Joe@2003.2.24 9:50 add begin
; 		if(G_UI_USBConnect == K_UI_USB_DISCONNECT)
			; SOURCE LINE # 178
	MOV  	DPTR,#G_UI_USBConnect
	MOVX 	A,@DPTR
	JNZ  	?C0002
;        	{
			; SOURCE LINE # 179
; 			TIMER0_LowPowerCount();
			; SOURCE LINE # 180
	LCALL	TIMER0_LowPowerCount
; 			//Joe@2003.2.24 9:51 add end
; 
; 			//Joe@2003.3.3 19:56 add begin
; 			if ( (G_FlashCharging == 1) || (G_FlashCharging == 2) )
			; SOURCE LINE # 184
	MOV  	DPTR,#G_FlashCharging
	MOVX 	A,@DPTR
	MOV  	R7,A
	XRL  	A,#01H
	JZ   	?C0006
	MOV  	A,R7
	CJNE 	A,#02H,?C0005
?C0006:
; 			{
			; SOURCE LINE # 185
; 			    if(G_FlashChargingCount <= 230)	//davis2004/11/26 modify
			; SOURCE LINE # 186
	SETB 	C
	MOV  	DPTR,#G_FlashChargingCount+01H
	MOVX 	A,@DPTR
	SUBB 	A,#0E6H
	MOV  	DPTR,#G_FlashChargingCount
	MOVX 	A,@DPTR
	SUBB 	A,#00H
	JNC  	?C0005
; 				G_FlashChargingCount++;
			; SOURCE LINE # 187
	INC  	DPTR
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
	JNZ  	?C0148
	MOV  	DPTR,#G_FlashChargingCount
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
?C0148:
; 			}
			; SOURCE LINE # 188
?C0005:
; 			if (G_StayInMenu)
			; SOURCE LINE # 189
	MOV  	DPTR,#G_StayInMenu
	MOVX 	A,@DPTR
	JZ   	?C0002
; 			{
			; SOURCE LINE # 190
; 				G_StayInMenuCount++;
			; SOURCE LINE # 191
	MOV  	DPTR,#G_StayInMenuCount+01H
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
	JNZ  	?C0149
	MOV  	DPTR,#G_StayInMenuCount
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
?C0149:
; 			}
			; SOURCE LINE # 192
; 			//Joe@2003.3.3 19:56 add end
; 			}
			; SOURCE LINE # 194
; 	  }
			; SOURCE LINE # 195
;      }
			; SOURCE LINE # 196
?C0002:
; //wendy@2004/9/8
; if(G_Timer0Count1>=25)
			; SOURCE LINE # 198
	CLR  	C
	MOV  	DPTR,#G_Timer0Count1+01H
	MOVX 	A,@DPTR
	SUBB 	A,#019H
	MOV  	DPTR,#G_Timer0Count1
	MOVX 	A,@DPTR
	SUBB 	A,#00H
	JC   	?C0014
; {
			; SOURCE LINE # 199
; 	if(G_CameraOptions.Timeout==1)
			; SOURCE LINE # 200
	MOV  	DPTR,#G_CameraOptions+0AH
	MOVX 	A,@DPTR
	MOV  	DPTR,#G_AutoPowerOffCount
	CJNE 	A,#01H,?C0010
; 		G_AutoPowerOffCount++;
			; SOURCE LINE # 201
	MOVX 	A,@DPTR
	MOV  	R4,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R5,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R6,A
	INC  	DPTR
	MOVX 	A,@DPTR
	ADD  	A,#01H
	MOV  	R7,A
	CLR  	A
	ADDC 	A,R6
	MOV  	R6,A
	CLR  	A
	ADDC 	A,R5
	MOV  	R5,A
	CLR  	A
	ADDC 	A,R4
	MOV  	R4,A
	MOV  	DPTR,#G_AutoPowerOffCount
	LCALL	?C?LSTXDATA
	SJMP 	?C0011
?C0010:
; 	else
; 		G_AutoPowerOffCount=0;
			; SOURCE LINE # 203
	LCALL	?C?LSTKXDATA
	DB   	00H
	DB   	00H
	DB   	00H
	DB   	00H
?C0011:
; 
; 	G_Timer0Count1=0;
			; SOURCE LINE # 205
	CLR  	A
	MOV  	DPTR,#G_Timer0Count1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOVX 	@DPTR,A
; 
; 	if(G_FlashChargeFlag==1)
			; SOURCE LINE # 207
	MOV  	DPTR,#G_FlashChargeFlag
	MOVX 	A,@DPTR
	MOV  	R7,A
	CJNE 	A,#01H,?C0012
; 	{
			; SOURCE LINE # 208
; 
; 	 	XBYTE[0x2033]= XBYTE[0x2033]^0x40;	//gpio 30
			; SOURCE LINE # 210
	MOV  	DPTR,#02033H
	MOVX 	A,@DPTR
	XRL  	A,#040H
	MOVX 	@DPTR,A
;  //UI_Buzzer();
; 	}
			; SOURCE LINE # 212
?C0012:
; 
; 
; 	if(G_FlashChargeFlag==2)
			; SOURCE LINE # 215
	MOV  	A,R7
	CJNE 	A,#02H,?C0014
; 		G_FlashChargeCount++;
			; SOURCE LINE # 216
	MOV  	DPTR,#G_FlashChargeCount+01H
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
	JNZ  	?C0150
	MOV  	DPTR,#G_FlashChargeCount
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
?C0150:
; 
; 
; }
			; SOURCE LINE # 219
; 
; 
; 
; }
			; SOURCE LINE # 223
?C0014:
	POP  	PSW
	RET  	
; END OF TIMER0_Handler

; 
; //-----------------------------------------------------------------------------
; //TIMER0_Start
; //-----------------------------------------------------------------------------
; //ada@0415 test ui
; //patch4.2@ada@0527 for key scan
; void TIMER0_Start(void) USING_0

	RSEG  ?PR?TIMER0_Start?TIMER
TIMER0_Start:
	USING	0
	PUSH 	PSW
	MOV  	PSW,#00H
			; SOURCE LINE # 230
; {
;      G_TimeStamp = 0;        //clear time stamp
			; SOURCE LINE # 232
	MOV  	DPTR,#G_TimeStamp
	LCALL	?C?LSTKXDATA
	DB   	00H
	DB   	00H
	DB   	00H
	DB   	00H
;      G_KeyScan = 0;
			; SOURCE LINE # 233
	CLR  	A
	MOV  	DPTR,#G_KeyScan
	MOVX 	@DPTR,A
;      G_Timer0Stop = 0;
			; SOURCE LINE # 234
	MOV  	DPTR,#G_Timer0Stop
	MOVX 	@DPTR,A
; 
;      //start timer
;      ET0 = 1;                //IE:    TIMER0 interrupt enable
			; SOURCE LINE # 237
	SETB 	ET0
;      TR0 = 1;                //TCON:  TIMER0 enable
			; SOURCE LINE # 238
	SETB 	TR0
; }
			; SOURCE LINE # 239
	POP  	PSW
	RET  	
; END OF TIMER0_Start

; 
; //-----------------------------------------------------------------------------
; //TIMER0_Stop
; //-----------------------------------------------------------------------------
; //ada@0415 test ui
; //patch4.2@ada@0527 for key scan
; void TIMER0_Stop(void) USING_0

	RSEG  ?PR?TIMER0_Stop?TIMER
TIMER0_Stop:
			; SOURCE LINE # 246
; {
;      G_Timer0Stop = 1;
			; SOURCE LINE # 248
	MOV  	DPTR,#G_Timer0Stop
	MOV  	A,#01H
	MOVX 	@DPTR,A
; 
;      //stop timer
;      TR0 = 0;                //TCON:  TIMER0 disable
			; SOURCE LINE # 251
	CLR  	TR0
;      ET0 = 0;                //IE:    TIMER0 interrupt disable
			; SOURCE LINE # 252
	CLR  	ET0
; }
			; SOURCE LINE # 253
	RET  	
; END OF TIMER0_Stop

; 
; //=============================================================================
; //TIMER0_Keypad_Scan
; //=============================================================================
; //ada@0415 test ui
; //patch4.2@ada@0527 for key scan
; void TIMER0_Keypad_Scan(void) USING_2

	RSEG  ?PR?TIMER0_Keypad_Scan?TIMER
TIMER0_Keypad_Scan:
	USING	2
	PUSH 	PSW
	MOV  	PSW,#010H
			; SOURCE LINE # 260
; {
;      //Joe@2003.3.7 15:45 add begin
;      UCHAR mode;
;      //Joe@2003.3.7 15:45 add end
; 
;     // G_KeyState =  K_UI_BUTTON_NULL; //yichang
;      G_KeyScan = 1;
			; SOURCE LINE # 267
	MOV  	DPTR,#G_KeyScan
	MOV  	A,#01H
	MOVX 	@DPTR,A
;      if(G_KeyState !=  K_UI_BUTTON_NULL)
			; SOURCE LINE # 268
	MOV  	DPTR,#G_KeyState
	MOVX 	A,@DPTR
	JNZ  	?C0151
	INC  	DPTR
	MOVX 	A,@DPTR
	CPL  	A
?C0151:
	JZ   	$ + 5H
	LJMP 	?C0018
?C0017:
;          return;
; 
;      //Joe@2003.3.5 11:09 add begin
;      #if(ROTARY_OPTION == 1)
;      //Joe@2003.3.5 11:09 add end
;      switch(TIMER0_Get_Hardware_Keypad2())
;      {
;           case K_RotarySwitchMode0:
; 
;                G_KeyState = K_UI_BUTTON_PREVIEW_SWITCH;
;                break;
; 
;  	          //patch4.4@ada@MP3 begin
;           case K_RotarySwitchMode1:
;                #if (MP3_OPTION)
;                G_KeyState = K_UI_BUTTON_MP3_SWITCH;
;                #endif
;                break;
;  	          //patch4.4@ada@MP3 end
; 
;           case K_RotarySwitchMode2:
; 
; 	       	G_KeyState = K_UI_BUTTON_PLAY_SWITCH;
; 
;                break;
; 
;           case K_RotarySwitchMode5:
; 
;                break;
; 
;           case K_RotarySwitchMode3:
;                 break;
; 
;           case K_RotarySwitchMode7:
; 
;                break;
; 
;           case K_RotarySwitchPreviousMode:
;                break;
; 
;           default:  //unknown mode for future use
;                break;
;      }
; 
;      //Joe@2003.3.7 13:21 add begin
;      #else
; 	 //-------------------Davis:patch_2005/Apr/11 begin
; 	/*
;      mode = (UCHAR)(((G_UIStatus & UI_Status_Level2_Mask) >> 8) - 1);//modify for debug
;      if (G_IsKeyRelease == 0)
;      {
; 	    if ((mode == K_UI_MODE_USB_PCCAM) || (mode == K_UI_MODE_DSC_PREVIEW))
;             {
;                     G_KeyState = K_UI_BUTTON_PREVIEW_SWITCH;
;             }
;             else if((mode == K_UI_MODE_USB_MASS_STORAGE) || (mode == K_UI_MODE_DSC_PLAY))
;             {
;                      G_KeyState = K_UI_BUTTON_PLAY_SWITCH;
;             }
;      }
; 	 //-------------------Davis:patch_2005/Apr/11 end*/
;      #endif
;      //Joe@2003.3.7 13:21 add end
; 
;      TIMER0_Get_Hardware_Keypad1();
			; SOURCE LINE # 333
	LCALL	TIMER0_Get_Hardware_Keypad1
; 
;      switch(pressing_key)
			; SOURCE LINE # 335
	MOV  	DPTR,#pressing_key
	MOVX 	A,@DPTR
	LCALL	?C?CCASE
	DW   	?C0049
	DB   	00H
	DW   	?C0034
	DB   	01H
	DW   	?C0030
	DB   	02H
	DW   	?C0032
	DB   	03H
	DW   	?C0040
	DB   	04H
	DW   	?C0038
	DB   	08H
	DW   	?C0020
	DB   	020H
	DW   	?C0025
	DB   	080H
	DW   	?C0036
	DB   	081H
	DW   	00H
	DW   	?C0018
;      {
			; SOURCE LINE # 336
; 
;           case K_UpKey:
			; SOURCE LINE # 338
?C0020:
; 		if (G_IsKeyRelease == 0)
			; SOURCE LINE # 339
	MOV  	DPTR,#G_IsKeyRelease
	MOVX 	A,@DPTR
	JNZ  	?C0021
; 		{
			; SOURCE LINE # 340
;                  	 G_KeyState  = K_UI_BUTTON_UP;
			; SOURCE LINE # 341
	MOV  	DPTR,#G_KeyState
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,#02H
	MOVX 	@DPTR,A
; 			 G_IsKeyRelease = 1;
			; SOURCE LINE # 342
	MOV  	DPTR,#G_IsKeyRelease
	DEC  	A
; 
; 			//Joe@2003.3.5 9:06 add begin
; 			G_KeepPushKeyCount = 0;
			; SOURCE LINE # 345
; 			//Joe@2003.3.5 9:06 add end
; 		}
			; SOURCE LINE # 347
	SJMP 	?C0165
?C0021:
; 
; 		//Joe@2003.3.4 20:30 add begin
; 		else
; 		{
			; SOURCE LINE # 351
; 			if (G_KeepPushKeyCount < 10)
			; SOURCE LINE # 352
	MOV  	DPTR,#G_KeepPushKeyCount
	MOVX 	A,@DPTR
	CLR  	C
	SUBB 	A,#0AH
	JNC  	?C0023
; 			{
			; SOURCE LINE # 353
; 				G_KeepPushKeyCount++;
			; SOURCE LINE # 354
; 			}
			; SOURCE LINE # 355
	SJMP 	?C0166
?C0023:
; 			else
; 			{
			; SOURCE LINE # 357
; 				G_KeepPushKeyCount = 10;
			; SOURCE LINE # 358
; 				G_KeyState  = K_UI_BUTTON_UP;
			; SOURCE LINE # 359
	LCALL	L?0198
	MOV  	A,#02H
	MOVX 	@DPTR,A
; 			}
			; SOURCE LINE # 360
; 		}
			; SOURCE LINE # 361
; 		//Joe@2003.3.4 20:30 mask end
;                break;
			; SOURCE LINE # 363
	LJMP 	?C0018
; 
; 
;           case K_DownKey:
			; SOURCE LINE # 366
?C0025:
; 			if (G_IsKeyRelease == 0)
			; SOURCE LINE # 367
	MOV  	DPTR,#G_IsKeyRelease
	MOVX 	A,@DPTR
	JNZ  	?C0026
; 			{
			; SOURCE LINE # 368
; 			  G_KeyState = K_UI_BUTTON_DOWN;
			; SOURCE LINE # 369
	MOV  	DPTR,#G_KeyState
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,#03H
	MOVX 	@DPTR,A
; 			  G_IsKeyRelease = 1;
			; SOURCE LINE # 370
	MOV  	DPTR,#G_IsKeyRelease
	MOV  	A,#01H
?C0165:
	MOVX 	@DPTR,A
; 
; 			//Joe@2003.3.5 9:06 add begin
; 			G_KeepPushKeyCount = 0;
			; SOURCE LINE # 373
	CLR  	A
	MOV  	DPTR,#G_KeepPushKeyCount
	MOVX 	@DPTR,A
; 			//Joe@2003.3.5 9:06 add end
; 			}
			; SOURCE LINE # 375
	LJMP 	?C0018
?C0026:
; 
; 		//Joe@2003.3.4 20:30 add begin
; 		else
; 		{
			; SOURCE LINE # 379
; 			if (G_KeepPushKeyCount < 10)
			; SOURCE LINE # 380
	MOV  	DPTR,#G_KeepPushKeyCount

⌨️ 快捷键说明

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