📄 timer.lst
字号:
C51 COMPILER V7.06 TIMER 03/06/2004 14:02:48 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TIMER
OBJECT MODULE PLACED IN Timer.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Timer.c LARGE BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //-----------------------------------------------------------------------------
2 // Net TIMER.C
3 //
4 // This module sets up the timer and handles the timer interrupt
5 //-----------------------------------------------------------------------------
6 #include <reg52.h>
7 #include "net.h"
8 #include "timer.h"
9
10
11 extern UINT volatile event_word;
12 extern ULONG idata initial_sequence_nr;
13
14
15 //--------------------------------------------------------------------------
16 // Timer 2 interrupt service routing. Intr vector location is
17 // address 0x002B. The timer generates an interrupt every 25 msec
18 // It is set to auto reload so do not need to reload it.
19 //--------------------------------------------------------------------------
20 void timer1_interrupt(void) interrupt 3
21 {
22 1 static UINT count1 = 0;
23 1 static UINT count2 = 0;
24 1
25 1 TH1=0X4C;
26 1 TL1=0;
27 1 // Advance the initial sequence number
28 1 initial_sequence_nr += 6250;
29 1 // Keep it some distance from rolling over
30 1 if (initial_sequence_nr & 0x10000000L) initial_sequence_nr = 1;
31 1
32 1 count1++;
33 1 // These events happens every 0.50 seconds, not simultaneously
34 1 if (count1 == 5) event_word |= EVENT_ARP_RETRANSMIT;
35 1
36 1 if (count1 == 10) event_word |= EVENT_TCP_INACTIVITY;
37 1
38 1 if (count1 == 15) event_word |= EVENT_READ_ANALOG;
39 1
40 1 if (count1 == 20)
41 1 {
42 2 count1 = 0;
43 2 event_word |= EVENT_TCP_RETRANSMIT;
44 2 }
45 1
46 1 count2++;
47 1 if (count2 == 2401)
48 1 {
49 2 // This happens every 60.025 seconds, not simultaneous
50 2 // with above tasks
51 2 count2 = 0;
52 2 event_word |= EVENT_AGE_ARP_CACHE;
53 2 }
54 1 }
55
C51 COMPILER V7.06 TIMER 03/06/2004 14:02:48 PAGE 2
56
57
58
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 229 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 4 ----
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 + -