📄 timer.lst
字号:
C51 COMPILER V8.01 TIMER 04/17/2008 09:54:22 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE TIMER
OBJECT MODULE PLACED IN .\Debug\timer.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE common\timer.c LARGE OPTIMIZE(9,SIZE) REGFILE(.\Debug\VA4010_SDK_V2.ORC) BR
-OWSE NOINTPROMOTE INCDIR(.\common;.\e2prom;.\file;.\fmtx;.\ir;.\keyboard;.\lcm;.\led;.\main;.\matrixkey;.\mp3ctrl;.\sd;.
-\usbhost;.\include;.\lib) DEBUG OBJECTEXTEND PRINT(.\Debug\timer.lst) OBJECT(.\Debug\timer.obj)
line level source
1 /****************************************************************
2 * Viaon Technology (Suzhou) Co.,Ltd
3 *
4 * Copyright 2007, Viaon Technology (Suzhou) Co.,Ltd,Suzhou,China
5 * All rights reserved.
6 *
7 *
8 * Filename: timer.c
9 *
10 * Programmer: Greg
11 *
12 * Created: 1/2/2008
13 *
14 * Description: public functions
15 *
16 *
17 * Change History (most recent first): 2008.1.2
18 ****************************************************************/
19 #include "utiltypedef.h"
20 #include "va4010reg.h"
21 #include "common.h"
22 #include "timer.h"
23 #include "halir.h"
24 #include "dispdled.h"
25
26 volatile BYTE data byGap; //Ticks for key scan
27 #ifdef ENABLE_RUN_LED
volatile BYTE data gRunled_tick; //Ticks for LED show
#endif
30 volatile BYTE data bgDispGap; // This counter will be ticked in timer, and is for the time control of stat
-us change
31 volatile BYTE data VolTicks;
32 volatile BYTE data SysTicks = 0;
33 volatile BYTE data IRTicks = 0;
34 volatile BYTE data iDevChkCnt = 0;
35 #ifdef ENABLE_DEVICE_DETECT
36 volatile BYTE data bgDevChkGap =0;
37 #endif
38 volatile BYTE data FlashGap = 0;
39 volatile BYTE data bgMP3TMS; // 100MS unit
40 volatile BYTE data bgMP3TS; //second unit
41 volatile BYTE data bgMP3TM; //minute
42 volatile BYTE data SongLocateTick = 0;
43
44 volatile BYTE data bFlashTick =0;
45 BOOL data bTmpFlag = FALSE;
46 static BYTE data Tick5m = 0;
47 void halT0ISR(void) interrupt 1 //using 1
48 {
49 1 DISABLE_INTERRUPTS;
50 1
51 1 TF0 = 0;
52 1 TH0 = TIMER0_5MS_TH;
C51 COMPILER V8.01 TIMER 04/17/2008 09:54:22 PAGE 2
53 1 TL0 = TIMER0_5MS_TL;
54 1
55 1 #if (DIGITAL_SHOW == DIGITAL_SHOW_DLED)
//#if 0
halDLEDISR();//flash DLED every 5MS
#endif
59 1
60 1 Tick5m++;
61 1
62 1 if(Tick5m > 20){
63 2 Tick5m = 0;
64 2
65 2 byGap ++;
66 2
67 2 #ifdef ENABLE_RUN_LED
gRunled_tick++;
#endif
70 2
71 2 #ifdef ENABLE_DEVICE_DETECT
72 2 bgDevChkGap ++;
73 2 #endif
74 2
75 2 VolTicks ++;
76 2
77 2 SysTicks ++;
78 2
79 2 IRTicks++;
80 2
81 2 bgDispGap ++;
82 2
83 2 SongLocateTick++;
84 2
85 2 #if(DIGITAL_SHOW == DIGITAL_SHOW_LCM)
if(mp3status == MP3STATUS_PLAY){
bgMP3TMS ++;
if(bgMP3TMS >= 10){
bgMP3TMS = 0;
bgMP3TS ++;
}
if(bgMP3TS >= 60){
bgMP3TS = 0;
bgMP3TM ++;
}
}
#endif
100 2
101 2 }
102 1
103 1 ENABLE_INTERRUPTS;
104 1
105 1 return;
106 1 }
107
108 void halINTInit(void)
109 {
110 1 TMOD = 0x11;//set TIMER 0 and TIMER 1 as 16 bits counter
111 1
112 1 TH0 = TIMER0_5MS_TH; // TIMER 0 init
113 1 TL0 = TIMER0_5MS_TL;
114 1 ET0 = 1; //打开T0中断
C51 COMPILER V8.01 TIMER 04/17/2008 09:54:22 PAGE 3
115 1 TR0 = 1; //启动T0
116 1
117 1 halIRINTInit();
118 1 ENABLE_INTERRUPTS;//开总中断
119 1 UartOutText("System INT Init \r\n");
120 1
121 1 return;
122 1 }
123
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 66 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 15 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -