📄 timer.ls1
字号:
207 PUBLIC DELAY_1s
208 PUBLIC DELAY_1ms
209 PUBLIC DELAY_10us
210 PUBLIC _TIMER0_GetGPIOByte
211 PUBLIC _TIMER0_SetGPIOBit
212 PUBLIC _TIMER0_GetGPIOBit
213 PUBLIC TIMER0_Get_Hardware_Keypad2
214 PUBLIC TIMER0_Get_Hardware_Keypad1
215 PUBLIC TIMER0_Keypad_Scan
216 PUBLIC TIMER0_Stop
217 PUBLIC TIMER0_Start
218 PUBLIC TIMER0_Handler
219 PUBLIC TIMER0_Routine
220
---- 221 RSEG ?XD?TIMER0_Get_Hardware_Keypad1?TIMER
0000 222 ?TIMER0_Get_Hardware_Keypad1?BYTE:
0000 223 temp_key?541: DS 1
224
---- 225 RSEG ?XD?TIMER0_Get_Hardware_Keypad2?TIMER
0000 226 ?TIMER0_Get_Hardware_Keypad2?BYTE:
0000 227 temp_key?642: DS 1
0001 228 keymode?643: DS 1
229
---- 230 RSEG ?XD?TIMER0_Keypad_Scan?TIMER
0000 231 ?TIMER0_Keypad_Scan?BYTE:
0000 232 mode?440: DS 1
233
---- 234 RSEG ?XD?TIMER
0000 235 G_Timer0Stop: DS 1
0001 236 G_KeepPushKeyCount: DS 1
0002 237 G_Timer0Count1: DS 2
0004 238 G_TimeStamp: DS 4
0008 239 G_KeyScan: DS 1
0009 240 G_Timer0Count: DS 1
241 ; /*++
242 ;
243 ; Copyright (c) 2001 Sunplus Technology Co., Ltd.
244 ;
245 ; Module Name:
246 ;
247 ; timer.c
248 ;
249 ; Abstract:
250 ;
251 ; Module related to timer
252 ;
253 ; Environment:
254 ;
255 ; Keil C51 Compiler
A51 MACRO ASSEMBLER TIMER 08/28/2006 14:52:51 PAGE 5
256 ;
257 ; Note:
258 ;
259 ; Since in-line assembly code is included, pre-compile C51 file
260 ; to A51 file. Then assemble A51 file.
261 ;
262 ; Revision History:
263 ;
264 ; 08/28/2001 Chi-Yeh Tsai created
265 ;
266 ; --*/
267 ;
268 ; //=============================================================================
269 ; //Header file
270 ; //=============================================================================
271 ; #include "general.h"
272 ; #include "timer.h"
273 ; #include "ui.h"
274 ; #include "cardlink.h"
275 ; #include "audio.h"
276 ;
277 ; //ada@0415 test ui
278 ; #include "main.h"
279 ; #include "uiflow.h"
280 ;
281 ; //Joe@2003.3.4 20:31 add begin
282 ; #include "JoeToEvb.h"
283 ; xdata UCHAR G_KeepPushKeyCount;
284 ; extern xdata UCHAR old_Audeokey;
285 ; extern xdata UCHAR G_ucZoomFactor;
286 ; extern UCHAR G_AE_com_index;
287 ; extern xdata UCHAR G_FlashStatus;
288 ; //Joe@2003.3.4 20:32 add end
289 ; //=============================================================================
290 ; //Symbol
291 ; //=============================================================================
292 ; //-----------------------------------------------------------------------------
293 ; //Constant
294 ; //-----------------------------------------------------------------------------
295 ; #if (SIMULATE) // WWWW0409
296 ; sbit Key_Column1;
297 ; sbit Key_Column2;
298 ; #else
299 ; sbit Key_Column1 = P3^4;
300 ; sbit Key_Column2 = P3^5;
301 ; //Joe@2003.3.5 11:12 add begin
302 ; sbit Key_Column3 = P3^3;
303 ; //Joe@2003.3.5 11:12 add end
304 ; #endif
305 ;
306 ; //Joe@2003.3.5 9:20 add begin
307 ; void TIMER0_LowPowerCount(void);
308 ; //Joe@2003.3.5 9:20 add end
309 ; //patch5.03@Joe@2003.4.7 19:23 add begin
310 ; xdata UCHAR G_Timer0Count;
311 ; xdata USHORT G_Timer0Count1;//wendy@2004/9/8
312 ; //patch5.03@Joe@2003.4.7 19:23 add end
313 ; //-----------------------------------------------------------------------------
314 ; //Variable
315 ; //-----------------------------------------------------------------------------
316 ; xdata ULONG G_TimeStamp;
317 ; xdata UCHAR G_KeyScan;
318 ;
319 ; xdata UCHAR G_Timer0Stop;
320 ; //=============================================================================
321 ; //Program
A51 MACRO ASSEMBLER TIMER 08/28/2006 14:52:51 PAGE 6
322 ; //=============================================================================
323 ; //-----------------------------------------------------------------------------
324 ; // TIMER0
325 ; //-----------------------------------------------------------------------------
326 ; //-----------------------------------------------------------------------------
327 ; //TIMER0
328 ; //-----------------------------------------------------------------------------
329
---- 330 RSEG ?PR?TIMER
0000 331 Com00BE:
0000 332 L?0191:
333 USING 2
0000 334 L?0192:
0000 900000 F 335 MOV DPTR,#key
0003 E0 336 MOVX A,@DPTR
0004 FE 337 MOV R6,A
0005 6F 338 XRL A,R7
0006 22 339 RET
0007 340 L?0198:
341 USING 2
0007 900000 F 342 MOV DPTR,#G_KeepPushKeyCount
000A 740A 343 MOV A,#0AH
000C F0 344 MOVX @DPTR,A
000D 900000 F 345 MOV DPTR,#G_KeyState
0010 E4 346 CLR A
0011 F0 347 MOVX @DPTR,A
0012 A3 348 INC DPTR
0013 22 349 RET
0014 350 L?0199:
351 USING 2
0014 352 L?0200:
0014 EF 353 MOV A,R7
0015 13 354 RRC A
0016 13 355 RRC A
0017 13 356 RRC A
0018 541F 357 ANL A,#01FH
001A 22 358 RET
001B 359 L?0201:
360 USING 2
001B 361 L?0202:
001B 900000 F 362 MOV DPTR,#G_LowPowerCount
001E E0 363 MOVX A,@DPTR
001F 9400 364 SUBB A,#00H
0021 22 365 RET
366 ; END OF Com00BE
367
---- 368 CSEG AT 0000BH
000B 020000 F 369 LJMP TIMER0_Routine
370
371 ; void TIMER0_Routine(void) INTERRUPT_1 USING_2
372
---- 373 RSEG ?PR?TIMER0_Routine?TIMER
374 USING 2
0000 375 TIMER0_Routine:
0000 C0E0 376 PUSH ACC
0002 C0F0 377 PUSH B
0004 C083 378 PUSH DPH
0006 C082 379 PUSH DPL
0008 C0D0 380 PUSH PSW
381 USING 2
000A 75D010 382 MOV PSW,#010H
383 ; SOURCE LINE # 89
384 ; {
385 ; EX0 = 0;
386 ; SOURCE LINE # 91
000D C2A8 387 CLR EX0
A51 MACRO ASSEMBLER TIMER 08/28/2006 14:52:51 PAGE 7
388 ; TIMER0_Handler(); //TIMER0 handler
389 ; SOURCE LINE # 92
000F 120000 F 390 LCALL TIMER0_Handler
391 ; EX0 = 1;
392 ; SOURCE LINE # 93
0012 D2A8 393 SETB EX0
394 ; }
395 ; SOURCE LINE # 94
0014 D0D0 396 POP PSW
0016 D082 397 POP DPL
0018 D083 398 POP DPH
001A D0F0 399 POP B
001C D0E0 400 POP ACC
001E 32 401 RETI
402 ; END OF TIMER0_Routine
403
404 ;
405 ; //-----------------------------------------------------------------------------
406 ; //TIMER0_Handler
407 ; //-----------------------------------------------------------------------------
408 ;
409 ; void TIMER0_Handler(void) USING_2
410
---- 411 RSEG ?PR?TIMER0_Handler?TIMER
0000 412 TIMER0_Handler:
413 USING 2
0000 C0D0 414 PUSH PSW
0002 75D010 415 MOV PSW,#010H
416 ; SOURCE LINE # 100
417 ; {
418 ;
419 ;
420 ; #if ( SIMULATE == 0 )
421 ; #pragma asm
422 ; CLR TR0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -