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

📄 timer.src

📁 台湾凌阳方案300万数码相机源代码
💻 SRC
📖 第 1 页 / 共 5 页
字号:
; .\obj\timer.SRC generated from: timer.c
; COMPILER INVOKED BY:
;        C:\Keil\C51\BIN\C51.EXE timer.c LARGE OPTIMIZE(9,SPEED) BROWSE NOAREGS DEFINE(K_CARD_TOTAL=3,K_CARD_TYPE=0x0064,P_NAND_SIZE=0) DEBUG OBJECTEXTEND CODE SYMBOLS NOPRINT SRC(.\obj\timer.SRC)

$NOMOD51

NAME	TIMER

TB81	BIT	0C0H.3
P0	DATA	080H
P1	DATA	090H
SM01	BIT	0C0H.7
P2	DATA	0A0H
SM11	BIT	0C0H.6
P3	DATA	0B0H
SM21	BIT	0C0H.5
T0	BIT	0B0H.4
AC	BIT	0D0H.6
T1	BIT	0B0H.5
T2	BIT	090H.0
EA	BIT	0A8H.7
DPH1	DATA	085H
IE	DATA	0A8H
FL	BIT	0D0H.1
DPL1	DATA	084H
TA	DATA	0C7H
EXF2	BIT	0C8H.6
RD	BIT	0B0H.7
REN1	BIT	0C0H.4
IP	DATA	0B8H
RI	BIT	098H.0
INT0	BIT	0B0H.2
CY	BIT	0D0H.7
TI	BIT	098H.1
INT1	BIT	0B0H.3
SADEN0	DATA	0B9H
INT2	BIT	090H.4
SADEN1	DATA	0BAH
RXD0	BIT	0B0H.0
INT3	BIT	090H.5
RXD1	BIT	090H.2
INT4	BIT	090H.6
SADDR0	DATA	0A9H
TXD0	BIT	0B0H.1
INT5	BIT	090H.7
SADDR1	DATA	0AAH
TXD1	BIT	090H.3
RCAP2H	DATA	0CBH
SP	DATA	081H
T2EX	BIT	090H.1
EPFI	BIT	0D8H.5
OV	BIT	0D0H.2
RCAP2L	DATA	0CAH
C_T2	BIT	0C8H.1
WR	BIT	0B0H.6
EWDI	BIT	0E8H.4
WDIF	BIT	0D8H.3
RCLK	BIT	0C8H.5
EXIF	DATA	091H
Key_Column1	BIT	0B0H.4
Key_Column2	BIT	0B0H.5
TCLK	BIT	0C8H.4
Key_Column3	BIT	0B0H.3
PCON	DATA	087H
PWDI	BIT	0F8H.4
TMOD	DATA	089H
TCON	DATA	088H
IE0	BIT	088H.1
IE1	BIT	088H.3
B	DATA	0F0H
WTRF	BIT	0D8H.2
CP_RL2	BIT	0C8H.0
SMOD_1	BIT	0D8H.7
ACC	DATA	0E0H
ES0	BIT	0A8H.4
ET0	BIT	0A8H.1
ES1	BIT	0A8H.6
ET1	BIT	0A8H.3
TF0	BIT	088H.5
ET2	BIT	0A8H.5
TF1	BIT	088H.7
TF2	BIT	0C8H.7
RI1	BIT	0C0H.0
RB8	BIT	098H.2
TH0	DATA	08CH
EX0	BIT	0A8H.0
IT0	BIT	088H.0
TH1	DATA	08DH
TI1	BIT	0C0H.1
TB8	BIT	098H.3
EX1	BIT	0A8H.2
IT1	BIT	088H.2
TH2	DATA	0CDH
EX2	BIT	0E8H.0
P	BIT	0D0H.0
EX3	BIT	0E8H.1
SM0	BIT	098H.7
TL0	DATA	08AH
EX4	BIT	0E8H.2
SM1	BIT	098H.6
TL1	DATA	08BH
EX5	BIT	0E8H.3
SM2	BIT	098H.5
TL2	DATA	0CCH
PS0	BIT	0B8H.4
EIE	DATA	0E8H
PT0	BIT	0B8H.1
PS1	BIT	0B8H.6
PT1	BIT	0B8H.3
RS0	BIT	0D0H.3
PT2	BIT	0B8H.5
TR0	BIT	088H.4
RS1	BIT	0D0H.4
TR1	BIT	088H.6
TR2	BIT	0C8H.2
PX0	BIT	0B8H.0
PX1	BIT	0B8H.2
PX2	BIT	0F8H.0
PX3	BIT	0F8H.1
PX4	BIT	0F8H.2
DPH	DATA	083H
PX5	BIT	0F8H.3
EIP	DATA	0F8H
PFI	BIT	0D8H.4
DPL	DATA	082H
SBUF0	DATA	099H
SBUF1	DATA	0C1H
EXEN2	BIT	0C8H.3
SCON0	DATA	098H
REN	BIT	098H.4
SCON1	DATA	0C0H
STATUS	DATA	0C5H
T2MOD	DATA	0C9H
T2CON	DATA	0C8H
DPS	DATA	086H
CKCON	DATA	08EH
EWT	BIT	0D8H.1
POR	BIT	0D8H.6
F0	BIT	0D0H.5
PSW	DATA	0D0H
WDCON	DATA	0D8H
RWT	BIT	0D8H.0
RB81	BIT	0C0H.2
?PR?TIMER0_Routine?TIMER                 SEGMENT CODE 
?PR?TIMER0_Handler?TIMER                 SEGMENT CODE 
?PR?TIMER0_Start?TIMER                   SEGMENT CODE 
?PR?TIMER0_Stop?TIMER                    SEGMENT CODE 
?PR?TIMER0_Keypad_Scan?TIMER             SEGMENT CODE 
?XD?TIMER0_Keypad_Scan?TIMER             SEGMENT XDATA OVERLAYABLE 
?PR?TIMER0_Get_Hardware_Keypad1?TIMER    SEGMENT CODE 
?XD?TIMER0_Get_Hardware_Keypad1?TIMER    SEGMENT XDATA OVERLAYABLE 
?PR?TIMER0_Get_Hardware_Keypad2?TIMER    SEGMENT CODE 
?XD?TIMER0_Get_Hardware_Keypad2?TIMER    SEGMENT XDATA OVERLAYABLE 
?PR?_TIMER0_GetGPIOBit?TIMER             SEGMENT CODE 
?PR?_TIMER0_SetGPIOBit?TIMER             SEGMENT CODE 
?PR?_TIMER0_GetGPIOByte?TIMER            SEGMENT CODE 
?PR?DELAY_10us?TIMER SEGMENT CODE 
?PR?DELAY_1ms?TIMER  SEGMENT CODE 
?PR?DELAY_1s?TIMER   SEGMENT CODE 
?PR?TIMER1_Routine?TIMER                 SEGMENT CODE 
?PR?TIMER1_Handler?TIMER                 SEGMENT CODE 
?PR?TIMER1_Start?TIMER                   SEGMENT CODE 
?PR?TIMER1_Stop?TIMER                    SEGMENT CODE 
?PR?TIMER0_LowPowerCount?TIMER           SEGMENT CODE 
?PR?DELAY_100us?TIMER                    SEGMENT CODE 
?PR?DELAY_10ms?TIMER SEGMENT CODE 
?PR?DELAY_100ms?TIMER                    SEGMENT CODE 
?XD?TIMER            SEGMENT XDATA 
?PR?TIMER            SEGMENT CODE 
	EXTRN	CODE (UI_Buzzer)
	EXTRN	XDATA (G_BatteryStatus)
	EXTRN	XDATA (G_UIStatusH)
	EXTRN	XDATA (G_StayInMenu)
	EXTRN	XDATA (pressing_key)
	EXTRN	XDATA (G_StayInMenuCount)
	EXTRN	XDATA (G_FlashCharging)
	EXTRN	XDATA (key)
	EXTRN	XDATA (G_FlashChargingCount)
	EXTRN	XDATA (G_IsKeyRelease)
	EXTRN	XDATA (G_KeyState)
	EXTRN	XDATA (G_MidPowerCount)
	EXTRN	XDATA (G_UI_USBConnect)
	EXTRN	XDATA (G_FlashChargeFlag)
	EXTRN	XDATA (G_CameraOptions)
	EXTRN	XDATA (old_key)
	EXTRN	XDATA (G_FlashChargeCount)
	EXTRN	XDATA (G_LowPowerCount)
	EXTRN	XDATA (G_AutoPowerOffCount)
	EXTRN	CODE (?C?LSTXDATA)
	EXTRN	CODE (?C?LSTKXDATA)
	EXTRN	CODE (?C?CCASE)
	EXTRN	CODE (?C?CSTPTR)
	PUBLIC	G_Timer0Count
	PUBLIC	G_KeyScan
	PUBLIC	G_TimeStamp
	PUBLIC	G_Timer0Count1
	PUBLIC	G_KeepPushKeyCount
	PUBLIC	G_Timer0Stop
	PUBLIC	DELAY_100ms
	PUBLIC	DELAY_10ms
	PUBLIC	DELAY_100us
	PUBLIC	TIMER0_LowPowerCount
	PUBLIC	TIMER1_Stop
	PUBLIC	TIMER1_Start
	PUBLIC	TIMER1_Handler
	PUBLIC	TIMER1_Routine
	PUBLIC	DELAY_1s
	PUBLIC	DELAY_1ms
	PUBLIC	DELAY_10us
	PUBLIC	_TIMER0_GetGPIOByte
	PUBLIC	_TIMER0_SetGPIOBit
	PUBLIC	_TIMER0_GetGPIOBit
	PUBLIC	TIMER0_Get_Hardware_Keypad2
	PUBLIC	TIMER0_Get_Hardware_Keypad1
	PUBLIC	TIMER0_Keypad_Scan
	PUBLIC	TIMER0_Stop
	PUBLIC	TIMER0_Start
	PUBLIC	TIMER0_Handler
	PUBLIC	TIMER0_Routine

	RSEG  ?XD?TIMER0_Get_Hardware_Keypad1?TIMER
?TIMER0_Get_Hardware_Keypad1?BYTE:
   temp_key?541:   DS   1

	RSEG  ?XD?TIMER0_Get_Hardware_Keypad2?TIMER
?TIMER0_Get_Hardware_Keypad2?BYTE:
   temp_key?642:   DS   1
    keymode?643:   DS   1

	RSEG  ?XD?TIMER0_Keypad_Scan?TIMER
?TIMER0_Keypad_Scan?BYTE:
       mode?440:   DS   1

	RSEG  ?XD?TIMER
   G_Timer0Stop:   DS   1
G_KeepPushKeyCount:   DS   1
 G_Timer0Count1:   DS   2
    G_TimeStamp:   DS   4
      G_KeyScan:   DS   1
  G_Timer0Count:   DS   1
; /*++
; 
; Copyright (c) 2001 Sunplus Technology Co., Ltd.
; 
; Module Name:
; 
;         timer.c
; 
; Abstract:
; 
;         Module related to timer
; 
; Environment:
; 
;         Keil C51 Compiler
; 
; Note:
; 
;         Since in-line assembly code is included, pre-compile C51 file
;         to A51 file. Then assemble A51 file.
; 
; Revision History:
; 
;         08/28/2001      Chi-Yeh Tsai    created
; 
; --*/
; 
; //=============================================================================
; //Header file
; //=============================================================================
; #include "general.h"
; #include "timer.h"
; #include "ui.h"
; #include "cardlink.h"
; #include "audio.h"
; 
; //ada@0415 test ui
; #include "main.h"
; #include "uiflow.h"
; 
; //Joe@2003.3.4 20:31 add begin
; #include "JoeToEvb.h"
; xdata UCHAR G_KeepPushKeyCount;
; extern xdata UCHAR old_Audeokey;
; extern xdata UCHAR G_ucZoomFactor;
; extern UCHAR G_AE_com_index;
; extern xdata UCHAR G_FlashStatus;
; //Joe@2003.3.4 20:32 add end
; //=============================================================================
; //Symbol
; //=============================================================================
; //-----------------------------------------------------------------------------
; //Constant
; //-----------------------------------------------------------------------------
; #if (SIMULATE) // WWWW0409
; sbit Key_Column1;
; sbit Key_Column2;
; #else
; sbit Key_Column1 = P3^4;
; sbit Key_Column2 = P3^5;
; //Joe@2003.3.5 11:12 add begin
; sbit Key_Column3 = P3^3;
; //Joe@2003.3.5 11:12 add end
; #endif
; 
; //Joe@2003.3.5 9:20 add begin
; void	TIMER0_LowPowerCount(void);
; //Joe@2003.3.5 9:20 add end
; //patch5.03@Joe@2003.4.7 19:23 add begin
; xdata UCHAR G_Timer0Count;
; xdata USHORT  G_Timer0Count1;//wendy@2004/9/8
; //patch5.03@Joe@2003.4.7 19:23 add end
; //-----------------------------------------------------------------------------
; //Variable
; //-----------------------------------------------------------------------------
; xdata ULONG G_TimeStamp;
; xdata UCHAR G_KeyScan;
; 
; xdata UCHAR G_Timer0Stop;
; //=============================================================================
; //Program
; //=============================================================================
; //-----------------------------------------------------------------------------
; //                               TIMER0
; //-----------------------------------------------------------------------------
; //-----------------------------------------------------------------------------
; //TIMER0
; //-----------------------------------------------------------------------------

	RSEG  ?PR?TIMER
Com00BE:
L?0191:
	USING	2
L?0192:
	MOV  	DPTR,#key
	MOVX 	A,@DPTR
	MOV  	R6,A
	XRL  	A,R7
	RET  	
L?0198:
	USING	2
	MOV  	DPTR,#G_KeepPushKeyCount
	MOV  	A,#0AH
	MOVX 	@DPTR,A
	MOV  	DPTR,#G_KeyState
	CLR  	A
	MOVX 	@DPTR,A
	INC  	DPTR
	RET  	
L?0199:
	USING	2
L?0200:
	MOV  	A,R7
	RRC  	A
	RRC  	A
	RRC  	A
	ANL  	A,#01FH
	RET  	
L?0201:
	USING	2
L?0202:
	MOV  	DPTR,#G_LowPowerCount
	MOVX 	A,@DPTR
	SUBB 	A,#00H
	RET  	
; END OF Com00BE

CSEG	AT	0000BH
	LJMP	TIMER0_Routine

; void TIMER0_Routine(void) INTERRUPT_1 USING_2

	RSEG  ?PR?TIMER0_Routine?TIMER
	USING	2
TIMER0_Routine:
	PUSH 	ACC
	PUSH 	B
	PUSH 	DPH
	PUSH 	DPL
	PUSH 	PSW
	USING	2
	MOV  	PSW,#010H
			; SOURCE LINE # 89
; {
;      EX0 = 0;
			; SOURCE LINE # 91
	CLR  	EX0
;      TIMER0_Handler();     //TIMER0 handler
			; SOURCE LINE # 92
	LCALL	TIMER0_Handler
;      EX0 = 1;
			; SOURCE LINE # 93
	SETB 	EX0
; }
			; SOURCE LINE # 94
	POP  	PSW
	POP  	DPL
	POP  	DPH
	POP  	B
	POP  	ACC
	RETI 	
; END OF TIMER0_Routine

; 
; //-----------------------------------------------------------------------------
; //TIMER0_Handler
; //-----------------------------------------------------------------------------
; 
; void TIMER0_Handler(void) USING_2

	RSEG  ?PR?TIMER0_Handler?TIMER
TIMER0_Handler:
	USING	2
	PUSH 	PSW
	MOV  	PSW,#010H
			; SOURCE LINE # 100
; {
; 
; 
; #if ( SIMULATE == 0 )
; #pragma asm
;      CLR     TR0
	  CLR     TR0
;      MOV     A,#K_Timer0IntervalCompLo       ; 2 Instr. Cycles
	  MOV     A,#0e3H       ; 2 Instr. Cycles
;      ADD     A,TL0                           ; 2 Instr. Cycles
	  ADD     A,TL0                           ; 2 Instr. Cycles
;      MOV     TL0,A                           ; 2 Instr. Cycles
	  MOV     TL0,A                           ; 2 Instr. Cycles
;      MOV     A,#K_Timer0IntervalCompHi       ; 2 Instr. Cycles
	  MOV     A,#0b1H       ; 2 Instr. Cycles
;      ADDC    A,TH0                           ; 2 Instr. Cycles
	  ADDC    A,TH0                           ; 2 Instr. Cycles
;      MOV     TH0,A                           ; 2 Instr. Cycles
	  MOV     TH0,A                           ; 2 Instr. Cycles
;      NOP                                     ; 1 Instr. Cycles
	  NOP                                     ; 1 Instr. Cycles
;      NOP                                     ; 1 Instr. Cycles
	  NOP                                     ; 1 Instr. Cycles
;      NOP                                     ; 1 Instr. Cycles
	  NOP                                     ; 1 Instr. Cycles
;      NOP                                     ; 1 Instr. Cycles
	  NOP                                     ; 1 Instr. Cycles
;      SETB    TR0                             ; 2 Instr. Cycles
	  SETB    TR0                             ; 2 Instr. Cycles
;                                              ;-----------------------------
	  ;-----------------------------
;                                              ; 14 Instr. Cycles Total =
	  ; 14 Instr. Cycles Total =
;                                              ; 18 * (4 / 24M) us =
	  ; 18 * (4 / 24M) us =
;                                              ; 3 us
	  ; 3 us
; #pragma endasm
; #endif
; 
; /*     G_TimeStamp += K_TIMER_PERIOD;  //increase time stamp
; 
; //ada@0415 test ui
;      if (G_TimeStamp >= 100)
;      {
;           TIMER0_Keypad_Scan();
;           G_TimeStamp = 0;
;           //Joe@2003.2.24 9:50 add begin
;           TIMER0_LowPowerCount();
;           G_AutoPowerOffCount++;
;           //Joe@2003.2.24 9:51 add end
; 
; 		//Joe@2003.3.3 19:56 add begin
; 		if ( (G_FlashCharging == 1) || (G_FlashCharging == 2) )
; 		{
; 		    if(G_FlashChargingCount < 200)
; 			G_FlashChargingCount++;
; 		}
; 		if (G_StayInMenu)
; 		{
; 			G_StayInMenuCount++;
; 		}
; 		//Joe@2003.3.3 19:56 add end
;      }
;      */
; 
;      //patch5.03@Joe@2003.4.7 19:23 modify begin
;      //G_TimeStamp += K_TIMER_PERIOD;  //increase time stamp
; 	G_Timer0Count ++;
			; SOURCE LINE # 153
	MOV  	DPTR,#G_Timer0Count
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
; 	G_Timer0Count1 ++;
			; SOURCE LINE # 154
	MOV  	DPTR,#G_Timer0Count1+01H
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
	JNZ  	?C0147
	MOV  	DPTR,#G_Timer0Count1
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
?C0147:
; 		
;      //patch5.03@Joe@2003.4.7 19:24 modify end
; 
; //ada@0415 test ui
;           //TIMER0_Keypad_Scan();
; 
;      //patch5.03@Joe@2003.4.7 19:11 modify begin
;      //if (G_TimeStamp >= 100)
;      if( (G_Timer0Count % 2) == 0)	//20ms
			; SOURCE LINE # 163
	MOV  	DPTR,#G_Timer0Count
	MOVX 	A,@DPTR
	JB   	ACC.0,?C0002
;      //patch5.03@Joe@2003.4.7 19:11 modify end
;      {
			; SOURCE LINE # 165
;           TIMER0_Keypad_Scan();
			; SOURCE LINE # 166
	LCALL	TIMER0_Keypad_Scan
; 
; 	  //patch5.03@Joe@2003.4.7 19:13 add begin
; 	  if(G_Timer0Count >= 10)		//100ms
			; SOURCE LINE # 169
	MOV  	DPTR,#G_Timer0Count
	MOVX 	A,@DPTR
	CLR  	C
	SUBB 	A,#0AH

⌨️ 快捷键说明

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