📄 drivertime.lst
字号:
C51 COMPILER V6.23a DRIVERTIME 08/17/2006 16:45:07 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE DRIVERTIME
OBJECT MODULE PLACED IN .\Obj\DriverTime.obj
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE ..\..\Driver\Clock\DriverTime.c LARGE OPTIMIZE(2,SPEED) MODP2 PRINT(.\Obj\D
-riverTime.lst) OBJECT(.\Obj\DriverTime.obj)
stmt level source
1 /*
2 * CopyRight (C) 2006,江苏盛唐电子产品有限公司
3 * All Rights Reserved.
4 *
5 * 文件名称:DriverTimer.c
6 * 文件标识:
7 * 摘 要:定时器实现延时。
8 *
9 * 当前版本:1.0
10 * 作 者:熊刚
11 * 完成日期:2006年7月16日
12 *
13 * 取代版本:
14 * 原作者 :
15 * 完成日期:
16 */
17
18 //#include "..\inc\DataType.h"
19 //#include <reg52.h>
20 //#include <intrins.h>
21
22 #include "..\inc\includes.h"
23
24 #define c_TimeInitTH0 0xd8
25 #define c_TimeInitTL0 0xf0
26
27 uchar ucTime0InterruptCount;
28 /***********************************************************/
29 /*
30 //介绍:利用定时器获得10Ms延时。
31 //输入参数:延时10Ms的数量
32 //输出参数:
33 //返回值:void
34 //备注:
35 void Delay_10MS(uchar ucDelayCount)
36 {
37 uchar ucEA;
38 uchar ucTMOD;
39 uchar ucTCON;
40
41
42 if(ucDelayCount == 0)
43 {
44 return;
45 }
46
47 TH0 = c_TimeInitTH0;
48 TL0 = c_TimeInitTL0;
49
50 ucEA = EA;
51 ucTMOD = TMOD;
52 ucTCON = TCON;
53
54 ucTime0InterruptCount =0;
C51 COMPILER V6.23a DRIVERTIME 08/17/2006 16:45:07 PAGE 2
55
56 TMOD = ( TMOD & 0xFC ) | 0x01; //方式1 16位
57 EA = 1;
58 ET0 = 1;
59 TR0 = 1;
60
61
62 while(ucTime0InterruptCount < ucDelayCount)
63 {
64 ;
65 }
66
67 EA = ucEA;
68 TMOD = ucTMOD;
69 TCON = ucTCON;
70 }
71
72 void TimerInterrupt() interrupt 1
73 {
74 TH0 = c_TimeInitTH0;
75 TL0 |= c_TimeInitTL0;
76 ucTime0InterruptCount++;
77 return;
78 }
79 */
80
81
82 //介绍:利用空循环获得10Ms延时。
83 //输入参数:延时10Ms的数量
84 //输出参数:
85 //返回值:void
86 //备注:
87 void Delay_10MS(uchar ucCount)
88 {
89 1 uchar data ucDelayCount;
90 1 uint data uii;
91 1
92 1 while(ucCount--)
93 1 {
94 2 for(uii=0; uii<400; uii++)
95 2 {
96 3 for(ucDelayCount=0; ucDelayCount<20; ucDelayCount++)
97 3 {
98 4 _nop_();
99 4
100 4 }
101 3 }
102 2 }
103 1 }
104
105 //介绍:利用10Ms的基本延时单位,获得1秒级延时。
106 //输入参数:延时1s的数量(最大65535s)
107 //输出参数:无
108 //返回值:无
109 //备注
110 void Delay_1S(uint uiDelayCount)
111 {
112 1 if(uiDelayCount == 0)
113 1 {
114 2 return;
115 2 }
116 1
C51 COMPILER V6.23a DRIVERTIME 08/17/2006 16:45:07 PAGE 3
117 1 while(uiDelayCount--)
118 1 {
119 2 Delay_10MS(100);
120 2 }
121 1 }
122
123
124
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 104 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 1 3
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
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 + -