📄 跑马灯.lst
字号:
C51 COMPILER V6.02 _躝淼_ 06/25/2001 15:43:18 PAGE 1
C51 COMPILER V6.02, COMPILATION OF MODULE _躝淼_
OBJECT MODULE PLACED IN .\跑马灯.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\跑马灯.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*-------------------------------------------*/
2 /*P0~P3一个灯循环亮且由慢变快*/
3 #include<stdio.h>
4 #include<reg51.h>
5 unsigned int tc; /*延时变量tc*/
6 void main()
7 {
8 1 void delay(int t); /*定义延时函数delay(int t)或delay(t)但delay()是错的因此函数是有参数的。*/
9 1 void light(); /*void函数应无类型int. float等 说明,定义亮灯函数 light(),其是无参数的。*/
10 1 while(1) /*大循环*/
11 1 {
12 2 tc=5000;
13 2 while(tc>500) /*tc由5000开始到500循环*/
14 2 {
15 3 light();
16 3 tc=tc-1500;
17 3 }
18 2 while(tc>=100) /*tc由500开始到小于100循环*/
19 2 {light();
20 3 tc=tc-80;}
21 2 }
22 1 } /*継续大循环*/
23
24
25 void light() /*亮灯子函数 light()其无直接参数*/
26 {
27 1 unsigned int c;
28 1 int i;
29 1 c=0x0fe; /*P0口亮*/
30 1 for(i=1;i<=9;i++)
31 1 {P0=c;
32 2 delay(tc);
33 2 c=c<<1|1; /*等价c=c<<1;c=c+0x01*/
34 2 } /*注:若用P0=P0<<1|1;因读P0再右移再加1,当P0某个脚外电路拉底就不对了*/
35 1 c=0x7f;
36 1 for(i=1;i<=9;i++)
37 1 {P2=c;
38 2 delay(tc);
39 2 c=c>>1|0X80;
40 2 }
41 1 c=0x7f;
42 1 for(i=1;i<=9;i++)
43 1 {P3=c;
44 2 delay(tc);
45 2 c=c>>1|0X80;
46 2 }
47 1 c=0x7f;
48 1 for(i=1;i<=9;i++)
49 1 {P1=c;
50 2 delay(tc);
51 2 c=c>>1|0X80;
52 2 }
53 1 }
54
55
C51 COMPILER V6.02 _躝淼_ 06/25/2001 15:43:18 PAGE 2
56 void delay(int t) /*延时函数delay(int t)*/
57 {int i;
58 1 for(i=1;i<=t;i++)
59 1 {
60 2 }
61 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 295 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 4
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 + -