📄 delay.lst
字号:
C51 COMPILER V7.50 DELAY 07/26/2005 09:03:09 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE DELAY
OBJECT MODULE PLACED IN Delay.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Delay.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /***************************************/
2 /* CopyRight 2005 LiuYong *
3 /****************************************
4 文件名称:Delay.C
5 文件版本:V1.0
6 创建人员:LiuYong
7 创建日期:2005.5.27
8 功能描述:常用的延时程序(非定时器)
9 相关硬件:at89s52兼容单片机,晶体11.0592M
10 修改记录:
11 ***************************************/
12 #include <intrins.h>
13 #define uchar unsigned char
14 /*************************************************
15 * 函数名称:void Delay10us(uchar ucCnt)
16 * 创建日期:2005.5.31
17 * 功能描述:精确延时10微秒。延时时间为:delay time=(9*ucCnt+4)*12/11.0592
18 * 入口参数:ucCnt,10微秒的倍数
19 * 返回值: 无
20 * 修改日志:
21 * 对应的汇编程序为
22 delay1:
23 C:0x0026 00 NOP
24 C:0x0027 00 NOP
25 C:0x0028 00 NOP
26 C:0x0029 00 NOP
27 C:0x002A 00 NOP
28 C:0x002B 00 NOP
29 C:0x002C 00 NOP
30 C:0x002D DFF7 DJNZ R7,delay1(C:0026)
31 *************************************************
32 void RigDelay10us(uchar ucCnt)
33 {
34 do
35 {
36 _nop_();
37 _nop_();
38 _nop_();
39 _nop_();
40 _nop_();
41 _nop_();
42 _nop_();
43 }while(--ucCnt);
44 }
45 /*************************************************
46 * 函数名称:void Delay840us(void)
47 * 创建日期:2005.6.8
48 * 功能描述:精确延时844us
49 * 入口参数:无
50 * 返回值: 无
51 * 修改日志:
52
53 * 对应的汇编程序为
54 C:0x000F 7F02 MOV R7,#0x02
55 C:0x0011 7EC0 MOV R6,#0xC0
C51 COMPILER V7.50 DELAY 07/26/2005 09:03:09 PAGE 2
56 C:0x0013 DEFE DJNZ R6,C:0013
57 C:0x0015 DFFA DJNZ R7,C:0011
58 C:0x0017 22 RET
59 *************************************************
60 void Delay840us(void)
61 {
62 uchar i,j;
63 for(i=2;i>0;i--)
64 {
65 for(j=192;j>0;j--)
66 {
67 ;
68 }
69 }
70 }
71 /*************************************************
72 * 函数名称:void Delay1000us(void)
73 * 创建日期:2005.6.8
74 * 功能描述:精确延时1000us
75 * 入口参数:无
76 * 返回值: 无
77 * 修改日志:
78
79 * 对应的汇编程序为
80 C:0x000F 7F02 MOV R7,#0x02
81 C:0x0011 7EC0 MOV R6,#0xE4
82 C:0x0013 DEFE DJNZ R6,C:0013
83 C:0x0015 DFFA DJNZ R7,C:0011
84 C:0x0017 22 RET
85 *************************************************/
86 void Delay1000us(void)
87 {
88 1 uchar i,j;
89 1 for(i=2;i>0;i--)
90 1 {
91 2 for(j=228;j>0;j--)
92 2 {
93 3 ;
94 3 }
95 2 }
96 1 }
97 /*************************************************
98 * 函数名称:void Delay4700us(void)
99 * 创建日期:2005.6.8
100 * 功能描述:精确延时4681us
101 * 入口参数:无
102 * 返回值: 无
103 * 修改日志:
104
105 * 对应的汇编程序为
106 C:0x000F 7F02 MOV R7,#0x0A
107 C:0x0011 7EC0 MOV R6,#0xD6
108 C:0x0013 DEFE DJNZ R6,C:0013
109 C:0x0015 DFFA DJNZ R7,C:0011
110 C:0x0017 22 RET
111 *************************************************
112 void Delay4700us(void)
113 {
114 uchar i,j;
115 for(i=10;i>0;i--)
116 {
117 for(j=214;j>0;j--)
C51 COMPILER V7.50 DELAY 07/26/2005 09:03:09 PAGE 3
118 {
119 ;
120 }
121 }
122 }
123 /*************************************************
124 * 函数名称:void Delay(void)
125 * 创建日期:2005.6.8
126 * 功能描述:延时1s
127 * 入口参数:无
128 * 返回值: 无
129 * 修改日志:
130 *************************************************/
131 void Delay(void)
132 {
133 1 uchar i,j;
134 1 for(i=5;i>0;i--)
135 1 {
136 2 for(j=200;j>0;j--)
137 2 {
138 3 Delay1000us();
139 3 }
140 2 }
141 1 }
142 /*************************************************
143 * 函数名称:void Delay(void)
144 * 创建日期:2005.6.8
145 * 功能描述:毫秒延时
146 * 入口参数:ucNo:要延时的毫秒数
147 * 返回值: 无
148 * 修改日志:
149 *************************************************
150 void DelayMs(uchar ucNo)
151 {
152 uchar i;
153 for(i=ucNo;i>0;i--)
154 {
155 Delay1000us();
156 }
157 } */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 21 ----
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 + -