📄 timer.lst
字号:
C51 COMPILER V7.06 TIMER 06/25/2008 15:44:08 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TIMER
OBJECT MODULE PLACED IN TIMER.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe TIMER.C DB OE
stmt level source
1 //********************************************************************************************************
-******************
2 #include <c8051F020.h>
3 #include "HEAD.H"
4 //********************************************************************************************************
-******************
5 void Timer3_Init(void)
6 {
7 1 TMR3CN = 0x04; // TR3 = 1;运行控制位.0:停止 1:启动
8 1 // T3M = 0;使用系统时钟的12分频
9 1 // T3XCKL= 0;时钟源由T3M决定
10 1
11 1 //TMR3RLH = 0x63; // 初始值:0x63BF=15535=25ms
12 1 //TMR3RLL = 0xBF;
13 1 TMR3RLH = 0x3C; // 初始值:0x3CB0=15535=25ms
14 1 TMR3RLL = 0xB0;
15 1
16 1 EIE2 |= 0x01; // Enable Timer3 Interrupt.
17 1 }
18 //********************************************************************************************************
-******************
19 // 定时器3用于25ms定时
20 void Timer3_Interrupt(void) interrupt 14
21 {
22 1 TMR3CN &=~0x80; // 清除中断标志位
23 1
24 1 Timer3++;
25 1 if(Timer3%RunLedFre==0x00) //
26 1 {
27 2 LED1_CHANGE;
28 2 DI_Station();
29 2 }
30 1
31 1 HollSpaceTime++;
32 1 if(HollSpaceTime>=40)
33 1 {
34 2 HollSpaceTime=0x00;
35 2 }
36 1
37 1 if(WorkStation==0xBB)
38 1 {
39 2 if(Timer3%TestTime==0x00)
40 2 {
41 3 HollSigNum=TH2*256 + TL2;
42 3 RTUaddress4[6]=HollSigNum>>8;
43 3 RTUaddress4[7]=HollSigNum;
44 3
45 3 HollDate[HollDataNum]=HollSigNum;
46 3 HollDataNum++;
47 3 if(HollDataNum>=HollDateLong)
48 3 {
49 4 WorkStation=0x00;
50 4 }
51 3 }
52 2 }
C51 COMPILER V7.06 TIMER 06/25/2008 15:44:08 PAGE 2
53 1 // 瞬时转速测试
54 1 if(TempT2==TL2)
55 1 {
56 2 Tem2Con++;
57 2 }
58 1 else
59 1 {
60 2 if(Tem2Con<=40*2)
61 2 {
62 3 InstantaneousSpeed=60*40/(float)Tem2Con;
63 3 }
64 2 TempT2=TL2;
65 2 Tem2Con=0x00;
66 2 }
67 1 if(Tem2Con>40*2)
68 1 {
69 2 InstantaneousSpeed=0;
70 2 TempT2=TL2;
71 2 Tem2Con=0x00;
72 2 }
73 1 }
74 //********************************************************************************************************
-******************
75 void Timer0_Init(void)
76 {
77 1 TMOD |= 0x01; // 方式1:T0:16位定时器
78 1 }
79 //********************************************************************************************************
-******************
80 void Timer0_ReSet(void)
81 {
82 1 TH0 = 0x8C; // 初始值:0xFCBE=64702=0.4ms
83 1 TL0 = 0xBE;
84 1 ET0 = 1 ; // Enable TIMER0 Interrupt.
85 1 TR0 = 1; // 定时器0运行控制位
86 1 }
87 //********************************************************************************************************
-******************
88 void Timer0_Interrupt(void) interrupt 1
89 {
90 1 TF0 = 0; // 软件清除标志位
91 1 TR0 = 0; // 定时器0运行控制位
92 1 ET0 = 0; // 禁止T0中断
93 1
94 1 RTU_Data();
95 1 ComFlag=0x00;
96 1
97 1 }
98 //********************************************************************************************************
-******************
99 // The End
100 //********************************************************************************************************
-******************
101
102
103
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 415 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
C51 COMPILER V7.06 TIMER 06/25/2008 15:44:08 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 + -