📄 timer.lst
字号:
C51 COMPILER V7.50 TIMER 11/15/2005 22:36:20 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE TIMER
OBJECT MODULE PLACED IN Timer.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Timer.c LARGE OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "C8051f.h"
2 #include "Timer.h"
3
4 extern unsigned int Count1msInc;
5 extern unsigned char Count1ms;
6 extern unsigned char Count100ms;
7 extern unsigned char Count1s;
8 extern unsigned int TimeSecond;
9 extern unsigned int TimeMinute;
10
11 extern unsigned char EEPROMTime;
12 extern unsigned long Tick_100ms;
13
14 void Tick_Init()
15 {
16 1 Count1msInc = 0;
17 1 Count1ms = 0;
18 1 Count100ms = 0;
19 1 Count1s = 0;
20 1 TimeSecond = 0;
21 1 TimeMinute = 0;
22 1
23 1 EEPROMTime = 0;
24 1 Tick_100ms = 0;
25 1 }
26
27
28 void Timer0_Init (void)
29 {
30 1 CKCON |= 0x8;
31 1 TMOD |= 0x1; //16Bit
32 1 TR0 = 0; // STOP Timer0
33 1 TH0 = (-SYSCLK/1000) >> 8; // set Timer0 to overflow in 1ms
34 1 TL0 = -SYSCLK/1000;
35 1 TR0 = 1; // START Timer0
36 1 IE |= 0x2;
37 1 }
38
39 void Timer0_ISR (void) interrupt 1 //1ms
40 {
41 1 TH0 = (-SYSCLK/1000) >> 8;
42 1 TL0 = -SYSCLK/1000;
43 1
44 1 if (Count1ms)
45 1 {
46 2 Count1ms --;
47 2 }
48 1 Count1msInc ++;
49 1
50 1 if (Count100ms)
51 1 {
52 2 Count100ms --;
53 2 }
54 1 else
55 1 {
C51 COMPILER V7.50 TIMER 11/15/2005 22:36:20 PAGE 2
56 2 Count100ms = 100; //100ms
57 2 Tick_100ms ++;
58 2 if (Count1s)
59 2 {
60 3 Count1s --;
61 3 }
62 2 else
63 2 {
64 3 Count1s = 10; //1s
65 3 TimeSecond ++;
66 3 if (TimeSecond >= 60)
67 3 {
68 4 TimeSecond = 0; //1min
69 4 TimeMinute ++;
70 4 if(TimeMinute == 60)
71 4 {
72 5 TimeMinute = 0;
73 5 }
74 4 }
75 3 }
76 2 }
77 1 EEPROMTime ++ ;
78 1 }
79
80 void Timer3_Init(void)
81 {
82 1 TMR3CN = 0x00;
83 1
84 1 TMR3RLL = 0x00;
85 1 TMR3RLH = 0x4C;
86 1 TMR3L = 0x00;
87 1 TMR3H = 0x4C;
88 1
89 1 TMR3CN = TMR3CN | 0x04;
90 1 EIE2 = EIE2 | 0x01;
91 1 }
92
93 void timer3_interrupt(void) interrupt 14
94 {
95 1 }
96
97 void Delay1ms(unsigned char T)
98 {
99 1 Count1ms = T;
100 1 while (Count1ms);
101 1 }
102
103 void Delayms(unsigned int T)
104 {
105 1 Count1msInc = 0;
106 1 while(Count1msInc != T);
107 1 }
108
109
110
111
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 419 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 3 ----
C51 COMPILER V7.50 TIMER 11/15/2005 22:36:20 PAGE 3
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -