📄 delay.lst
字号:
C51 COMPILER V8.02 DELAY 03/16/2009 15:23:02 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE DELAY
OBJECT MODULE PLACED IN delay.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE delay.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #define delay_GLOBALS
2 #include "config.h"
3 #include "delay.h"
4 #include "zlg500S_comm.h"
5 #include "zlg500s.h"
6
7
8 /*****************************************************************************
9
10 FUNCTION: 定时器2定时中断设置
11
12 IN: resolution 分辨率
13
14 OUT: -
15
16 COMMENT:
17 if resolution=RCAP2_50us,then 定时器每50us中断一次
18 if resolution=RCAP2_5ms,then 定时器每5ms中断一次
19 if resolution=RCAP2_10ms,then 定时器每10ms中断一次
20
21 *****************************************************************************/
22 #if T2int_timeout_en
23 void T2_timeout_init(INT16U resolution)
24 {
25 1 ET2 = 0; // Disable Timer2 interrupt
26 1 TR2 = 0;
27 1
28 1 RCAP2LH = resolution;
29 1 T2LH = resolution;
30 1
31 1 T2CON = 0x04; // 16-bit auto-reload, clear TF2, start timer
32 1 ET2 = 1; // Enable Timer2 interrupt
33 1 }
34
35 /*****************************************************************************
36
37 FUNCTION: stop_timeout
38
39 IN: -
40 OUT: -
41
42 COMMENT: Stop Timer2 and clear timeout state
43
44 *****************************************************************************/
45 //void stop_timeout(void)
46 //{
47 // ET2 = 0; // disable Timer2 interrupt
48 // T2CON = 0x00; // 16-bit auto-reload, clear TF2, stop timer
49 //}
50
51
52 /*****************************************************************************
53 Interrupt Handler TIMER2
54 *****************************************************************************/
55
C51 COMPILER V8.02 DELAY 03/16/2009 15:23:02 PAGE 2
56 void T2_server(void) interrupt 5 using 2 //Timer2 interrupt
57 {
58 1 if(WaitRespDly)
59 1 WaitRespDly--;
60 1
61 1 TF2 = 0;
62 1 }
63 #endif
64
65 #pragma noaregs
66 /***********************************************************************
67
68 ***********************************************************************/
69 #if delay_T0_en
void delay_T0(INT16U _T0HL)
{
TMOD &= 0xf0;
TMOD |= 0x01;
ET0 = FALSE;
TH0 = _T0HL>>8;
TL0 = _T0HL;
TR0 = TRUE;
TF0 = FALSE;
while(!TF0);
TR0 = FALSE;
}
#endif
83
84 /****************************************************************************
85 * *
86 * Function: delay_50us *
87 * *
88 * Input: _50us *
89 * Output: - *
90 * *
91 * Description: *
92 * *
93 * Time delay with a resolution of 50 us. *
94 * *
95 ****************************************************************************/
96 #if delay_50us_en
void delay_50us (INT8U _50us)
{
RCAP2LH = RCAP2_50us;
T2LH = RCAP2_50us;
ET2 = 0; // Disable timer2 interrupt
T2CON = 0x04; // 16-bit auto-reload, clear TF2, start timer
while (_50us--)
{
while (!TF2);
TF2 = FALSE;
}
TR2 = FALSE;
}
#endif
115
116 /****************************************************************************
117 * *
C51 COMPILER V8.02 DELAY 03/16/2009 15:23:02 PAGE 3
118 * Function: delay_1ms *
119 * *
120 * Input: _1ms *
121 * Output: - *
122 * *
123 * Description: *
124 * *
125 * Time delay with a resolution of 1 ms. *
126 * *
127 ****************************************************************************/
128 #if delay_1ms_en
void delay_1ms (INT16U _1ms)
{
RCAP2LH = RCAP2_1ms;
T2LH = RCAP2_1ms;
ET2 = 0; // Disable timer2 interrupt
T2CON = 0x04; // 16-bit auto-reload, clear TF2, start timer
while (_1ms--)
{
while (!TF2);
TF2 = FALSE;
}
TR2 = FALSE;
}
#endif
146
147 /****************************************************************************
148 * *
149 * Function: delay_10ms *
150 * *
151 * Input: _10ms *
152 * Output: - *
153 * *
154 * Description: *
155 * *
156 * Time delay with a resolution of 10 ms. *
157 * *
158 ****************************************************************************/
159 #if delay_10ms_en
void delay_10ms (INT16U _10ms)
{
RCAP2LH = RCAP2_10ms;
T2LH = RCAP2_10ms;
ET2 = 0; // Disable timer2 interrupt
T2CON = 0x04; // 16-bit auto-reload, clear TF2, start timer
while (_10ms--)
{
while (!TF2);
TF2 = FALSE;
}
TR2 = FALSE;
}
#endif
177
178 #pragma aregs
179
C51 COMPILER V8.02 DELAY 03/16/2009 15:23:02 PAGE 4
180 //The end
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 31 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
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 + -