📄 delaytime.lst
字号:
C51 COMPILER V8.02 DELAYTIME 12/14/2007 19:20:46 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE DELAYTIME
OBJECT MODULE PLACED IN .\DelayTime.obj
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE ..\DelayTime\DelayTime.c BROWSE INCDIR(..\MAIN;..\DelayTime) DEBUG OBJECTEX
-TEND PRINT(.\DelayTime.lst) OBJECT(.\DelayTime.obj)
line level source
1 /*==============================================
2 延时程序
3 文件名:DelayTime.c
4 作者 :方畅
5 时间:2007-11-28
6
7 MCU:AT89S52 晶振:11.0592MHz
8 延时利用T0做定时计数器,循环采样,直到达到定时值
9 微秒级的延时时间:1us--255us
10 豪秒级的延时时间:1ms--65.535s
11 ==================================================*/
12 #include <at89x52.h>
13
14 /*==========微秒级延时程序==========*/
15 void Delay_1us(unsigned char nUs) //微秒级延时<255us
16 {
17 1 TMOD|=0x01; //定时器工作方式1为16位
18 1 TH0=0;
19 1 TL0=0;
20 1 TR0=1; //开启定时器0
21 1 while(TL0<nUs)//利用T0做定时计数器,循环采样,直到达到定时值
22 1 {
23 2 }
24 1 TR0=0;
25 1 }
26
27 /*==========豪秒级的延时程序===========*/
28 void Delay_1ms(unsigned int nMs)//豪秒级的延时<65535ms
29 {
30 1 unsigned int n=0;
31 1
32 1 TMOD|=0x01; //定时器工作方式1为16位
33 1 TR0=1;
34 1 while(n<nMs) //利用T0做定时计数器,循环采样,直到达到定时值
35 1 {
36 2 TH0=0;
37 2 while(TH0<4) //定时1mS
38 2 {
39 3 }
40 2 n++;
41 2 }
42 1 TR0=0;
43 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 54 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILER V8.02 DELAYTIME 12/14/2007 19:20:46 PAGE 2
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -