📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 10/23/2006 09:04:37 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE INTVECTOR(0X8000) DEBUG OBJECTEXTEND
stmt level source
1 /*******************************************************************************
2 程序名称:LED闪烁发光
3 硬件接法:P1.1控制LED,低电平点亮
4 运行效果:LED亮200ms,灭800ms,反复循环
5 *******************************************************************************/
6
7
8 //包含8051的SFR寄存器定义头文件
9 #include <reg51.h>
10
11
12 //定义I/O接口
13 sbit LED = P1^1;
14
15
16 /*******************************************************************************
17 函数:Delay()
18 功能:延时0.01s~2.56s
19 参数:t>0时,延时(t*0.01)s
20 t=0时,延时2.56s
21 说明:定时10ms的定时器初值=65536-0.01/(1/(f/12)),其中f为晶振频率
22 *******************************************************************************/
23 void Delay(unsigned char t)
24 {
25 1 do
26 1 {
27 2 TH0 = 0xDC; //设置定时器初值(定时10ms)
28 2 TL0 = 0x00;
29 2 TR0 = 1; //启动定时器
30 2 while ( !TF0 ); //等待定时器溢出
31 2 TR0 = 0; //停止定时器
32 2 TF0 = 0; //清除溢出标志
33 2 } while ( --t != 0 ); //循环t次
34 1 }
35
36
37 //主函数
38 void main()
39 {
40 1 TMOD &= 0xF0; //T0设置在方式1,即16位定时器(不改变T1的模式)
41 1 TMOD |= 0x01;
42 1 for (;;)
43 1 {
44 2 LED = 0; //点亮LED
45 2 Delay(20); //延时200ms
46 2 LED = 1; //熄灭LED
47 2 Delay(80); //延时800ms
48 2 }
49 1 }
50
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 40 ----
CONSTANT SIZE = ---- ----
C51 COMPILER V7.06 MAIN 10/23/2006 09:04:37 PAGE 2
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 + -