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

📄 timer.src

📁 台湾凌阳方案300万数码相机源代码
💻 SRC
📖 第 1 页 / 共 5 页
字号:
			; SOURCE LINE # 167
; 		//patch5.03@Joe@2003.4.7 19:24 modify begin
; 		//G_TimeStamp = 0;
; 		G_Timer0Count = 0;
			; SOURCE LINE # 170
	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 # 174
	MOV  	DPTR,#G_UI_USBConnect
	MOVX 	A,@DPTR
	JNZ  	?C0002
;        	{
			; SOURCE LINE # 175
; 			TIMER0_LowPowerCount();
			; SOURCE LINE # 176
	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 # 180
	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 # 181
; 			    if(G_FlashChargingCount <= 230)	//davis2004/11/26 modify
			; SOURCE LINE # 182
	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 # 183
	INC  	DPTR
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
	JNZ  	?C0150
	MOV  	DPTR,#G_FlashChargingCount
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
?C0150:
; 			}
			; SOURCE LINE # 184
?C0005:
; 			if (G_StayInMenu)
			; SOURCE LINE # 185
	MOV  	DPTR,#G_StayInMenu
	MOVX 	A,@DPTR
	JZ   	?C0002
; 			{
			; SOURCE LINE # 186
; 				G_StayInMenuCount++;
			; SOURCE LINE # 187
	MOV  	DPTR,#G_StayInMenuCount+01H
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
	JNZ  	?C0151
	MOV  	DPTR,#G_StayInMenuCount
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
?C0151:
; 			}
			; SOURCE LINE # 188
; 			//Joe@2003.3.3 19:56 add end
; 			}
			; SOURCE LINE # 190
; 	  }
			; SOURCE LINE # 191
;      }
			; SOURCE LINE # 192
?C0002:
; //wendy@2004/9/8
; if(G_Timer0Count1>=25)
			; SOURCE LINE # 194
	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 # 195
; 	if(G_CameraOptions.Timeout==1)
			; SOURCE LINE # 196
	MOV  	DPTR,#G_CameraOptions+0AH
	MOVX 	A,@DPTR
	MOV  	DPTR,#G_AutoPowerOffCount
	CJNE 	A,#01H,?C0010
; 		G_AutoPowerOffCount++;
			; SOURCE LINE # 197
	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 # 199
	LCALL	?C?LSTKXDATA
	DB   	00H
	DB   	00H
	DB   	00H
	DB   	00H
?C0011:
; 
; 	G_Timer0Count1=0;
			; SOURCE LINE # 201
	CLR  	A
	MOV  	DPTR,#G_Timer0Count1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOVX 	@DPTR,A
; 
; 	if(G_FlashChargeFlag==1)
			; SOURCE LINE # 203
	MOV  	DPTR,#G_FlashChargeFlag
	MOVX 	A,@DPTR
	MOV  	R7,A
	CJNE 	A,#01H,?C0012
; 	{
			; SOURCE LINE # 204
; 
; 	 	XBYTE[0x2033]= XBYTE[0x2033]^0x40;	//gpio 30
			; SOURCE LINE # 206
	MOV  	DPTR,#02033H
	MOVX 	A,@DPTR
	XRL  	A,#040H
	MOVX 	@DPTR,A
;  //UI_Buzzer();
; 	}
			; SOURCE LINE # 208
?C0012:
; 
; 
; 	if(G_FlashChargeFlag==2)
			; SOURCE LINE # 211
	MOV  	A,R7
	CJNE 	A,#02H,?C0014
; 		G_FlashChargeCount++;
			; SOURCE LINE # 212
	MOV  	DPTR,#G_FlashChargeCount+01H
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
	JNZ  	?C0152
	MOV  	DPTR,#G_FlashChargeCount
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
?C0152:
; 
; 
; }
			; SOURCE LINE # 215
; 
; //wendy@2004/9/8
; 
; }
			; SOURCE LINE # 219
?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 # 226
; {
;      G_TimeStamp = 0;        //clear time stamp
			; SOURCE LINE # 228
	MOV  	DPTR,#G_TimeStamp
	LCALL	?C?LSTKXDATA
	DB   	00H
	DB   	00H
	DB   	00H
	DB   	00H
;      G_KeyScan = 0;
			; SOURCE LINE # 229
	CLR  	A
	MOV  	DPTR,#G_KeyScan
	MOVX 	@DPTR,A
;      G_Timer0Stop = 0;
			; SOURCE LINE # 230
	MOV  	DPTR,#G_Timer0Stop
	MOVX 	@DPTR,A
; 
;      //start timer
;      ET0 = 1;                //IE:    TIMER0 interrupt enable
			; SOURCE LINE # 233
	SETB 	ET0
;      TR0 = 1;                //TCON:  TIMER0 enable
			; SOURCE LINE # 234
	SETB 	TR0
; }
			; SOURCE LINE # 235
	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 # 242
; {
;      G_Timer0Stop = 1;
			; SOURCE LINE # 244
	MOV  	DPTR,#G_Timer0Stop
	MOV  	A,#01H
	MOVX 	@DPTR,A
; 
;      //stop timer
;      TR0 = 0;                //TCON:  TIMER0 disable
			; SOURCE LINE # 247
	CLR  	TR0
;      ET0 = 0;                //IE:    TIMER0 interrupt disable
			; SOURCE LINE # 248
	CLR  	ET0
; }
			; SOURCE LINE # 249
	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 # 256
; {
;      //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 # 263
	MOV  	DPTR,#G_KeyScan
	MOV  	A,#01H
	MOVX 	@DPTR,A
;      if(G_KeyState !=  K_UI_BUTTON_NULL)
			; SOURCE LINE # 264
	MOV  	DPTR,#G_KeyState
	MOVX 	A,@DPTR
	JNZ  	?C0153
	INC  	DPTR
	MOVX 	A,@DPTR
	CPL  	A
?C0153:
	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 # 329
	LCALL	TIMER0_Get_Hardware_Keypad1
; 
;      switch(pressing_key)
			; SOURCE LINE # 331
	MOV  	DPTR,#pressing_key
	MOVX 	A,@DPTR
	LCALL	?C?CCASE
	DW   	?C0051
	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 # 332
; 
;           case K_UpKey:
			; SOURCE LINE # 334
?C0020:
; 		if (G_IsKeyRelease == 0)
			; SOURCE LINE # 335
	MOV  	DPTR,#G_IsKeyRelease
	MOVX 	A,@DPTR
	JNZ  	?C0021
; 		{
			; SOURCE LINE # 336
;                  	 G_KeyState  = K_UI_BUTTON_UP;
			; SOURCE LINE # 337
	MOV  	DPTR,#G_KeyState
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,#02H
	MOVX 	@DPTR,A
; 			 G_IsKeyRelease = 1;
			; SOURCE LINE # 338
	MOV  	DPTR,#G_IsKeyRelease
	DEC  	A
; 
; 			//Joe@2003.3.5 9:06 add begin
; 			G_KeepPushKeyCount = 0;
			; SOURCE LINE # 341
; 			//Joe@2003.3.5 9:06 add end
; 		}
			; SOURCE LINE # 343
	SJMP 	?C0168
?C0021:
; 
; 		//Joe@2003.3.4 20:30 add begin
; 		else
; 		{
			; SOURCE LINE # 347
; 			if (G_KeepPushKeyCount < 10)
			; SOURCE LINE # 348
	MOV  	DPTR,#G_KeepPushKeyCount
	MOVX 	A,@DPTR
	CLR  	C
	SUBB 	A,#0AH
	JNC  	?C0023
; 			{
			; SOURCE LINE # 349
; 				G_KeepPushKeyCount++;
			; SOURCE LINE # 350
; 			}
			; SOURCE LINE # 351
	SJMP 	?C0169
?C0023:
; 			else
; 			{
			; SOURCE LINE # 353
; 				G_KeepPushKeyCount = 10;
			; SOURCE LINE # 354
; 				G_KeyState  = K_UI_BUTTON_UP;
			; SOURCE LINE # 355
	LCALL	L?0201
	MOV  	A,#02H
	MOVX 	@DPTR,A
; 			}
			; SOURCE LINE # 356
; 		}
			; SOURCE LINE # 357
; 		//Joe@2003.3.4 20:30 mask end
;                break;
			; SOURCE LINE # 359
	LJMP 	?C0018
; 
; 
;           case K_DownKey:
			; SOURCE LINE # 362
?C0025:
; 			if (G_IsKeyRelease == 0)
			; SOURCE LINE # 363
	MOV  	DPTR,#G_IsKeyRelease
	MOVX 	A,@DPTR
	JNZ  	?C0026
; 			{
			; SOURCE LINE # 364
; 			  G_KeyState = K_UI_BUTTON_DOWN;
			; SOURCE LINE # 365
	MOV  	DPTR,#G_KeyState
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,#03H
	MOVX 	@DPTR,A
; 			  G_IsKeyRelease = 1;
			; SOURCE LINE # 366
	MOV  	DPTR,#G_IsKeyRelease
	MOV  	A,#01H
?C0168:
	MOVX 	@DPTR,A
; 
; 			//Joe@2003.3.5 9:06 add begin
; 			G_KeepPushKeyCount = 0;
			; SOURCE LINE # 369
	CLR  	A
	MOV  	DPTR,#G_KeepPushKeyCount
	MOVX 	@DPTR,A
; 			//Joe@2003.3.5 9:06 add end
; 			}
			; SOURCE LINE # 371
	LJMP 	?C0018
?C0026:
; 
; 		//Joe@2003.3.4 20:30 add begin
; 		else
; 		{
			; SOURCE LINE # 375
; 			if (G_KeepPushKeyCount < 10)
			; SOURCE LINE # 376
	MOV  	DPTR,#G_KeepPushKeyCount
	MOVX 	A,@DPTR
	CLR  	C
	SUBB 	A,#0AH

⌨️ 快捷键说明

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