📄 flashled.lst
字号:
C51 COMPILER V7.50 FLASHLED 11/27/2006 20:38:13 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE FLASHLED
OBJECT MODULE PLACED IN FlashLED.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE FlashLED.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2
3 #define BYTE unsigned char
4 #define WORD unsigned int
5
6 sbit LED1=P1^0;
7 sbit LED2=P1^1;
8 sbit LED3=P1^2;
9 sbit LED4=P1^3;
10 sbit LED5=P1^4;
11 sbit LED6=P1^5;
12 sbit LED7=P1^6;
13 sbit LED8=P1^7;
14
15 sbit DLEDcs1=P2^1;
16 sbit DLEDcs2=P2^0;
17 sbit DLEDcs3=P2^2;
18 sbit DLEDcs4=P2^3;
19
20 void Delay()
21 {
22 1 WORD i;
23 1 i=0x1000;
24 1 while(i--);
25 1 }
26
27 main()
28 {
29 1 BYTE i,j,x,y;
30 1 //关闭数码管显示
31 1 DLEDcs1=DLEDcs2=DLEDcs3=DLEDcs4=0;
32 1
33 1 //流水灯实验
34 1 while(1)
35 1 {
36 2 Delay();
37 2 P1=0xff;//熄掉所有灯
38 2
39 2 //单灯流水
40 2 x=1;
41 2 for(i=0;i<8;i++)
42 2 {
43 3 Delay();
44 3 P1=x^0xff;
45 3 x*=2;//if(x==0) x=1;
46 3
47 3 }
48 2
49 2
50 2 //反向流水
51 2
52 2
53 2 y=128;
54 2 for(i=0;i<8;i++)
55 2 {
C51 COMPILER V7.50 FLASHLED 11/27/2006 20:38:13 PAGE 2
56 3 Delay();
57 3 if (y==0) y=1;
58 3 P1=y^0xff;
59 3 y=y/2;
60 3
61 3 }
62 2
63 2
64 2
65 2 Delay();
66 2 P1=0xff;//熄掉所有灯
67 2
68 2
69 2 //双灯流水
70 2 x=3;
71 2 for(i=0;i<7;i++)
72 2 {
73 3 Delay();
74 3 P1=x^0xff;
75 3 x*=2;//if(x==0) x=1;
76 3 }
77 2 //双反流水
78 2 y=192;
79 2 for(i=0;i<7;i++)
80 2 {
81 3 Delay();
82 3 if (y==0) y=1;
83 3 P1=y^0xff;
84 3 y=y/2;
85 3
86 3 }
87 2
88 2 //交替显示1
89 2 for(i=0;i<4;i++)
90 2 {
91 3 Delay();
92 3 P1=0x55;
93 3 Delay();
94 3 P1=0xaa;
95 3 }
96 2 Delay();P1=0xff;//熄掉所有灯
97 2 //交替显示2
98 2 for(i=0;i<4;i++)
99 2 {
100 3 Delay();
101 3 P1=0x33;
102 3 Delay();
103 3 P1=0xcc;
104 3 }
105 2
106 2
107 2 Delay();P1=0xff;//熄掉所有灯
108 2 //另一个花样
109 2 for(i=0;i<8;i++)
110 2 {
111 3 y=P1;x=1;
112 3 for(j=0;j<8-i;j++)
113 3 {
114 4 Delay();
115 4 P1=y&(x^0xff);
116 4 x*=2;
117 4 }
C51 COMPILER V7.50 FLASHLED 11/27/2006 20:38:13 PAGE 3
118 3 }
119 2 x=128;
120 2 y=128;
121 2
122 2 for(j=0;j<8;j++)
123 2 {
124 3 Delay();
125 3
126 3 P1=x;
127 3 y=y/2;
128 3 x=y+x;
129 3
130 3 }
131 2 x=0xff;
132 2 y=1;
133 2 for (j=0;j<9;j++)
134 2 {
135 3 Delay();
136 3 P1=x;
137 3 x=x-y;
138 3 y=y*2;
139 3 }
140 2
141 2
142 2
143 2
144 2 }
145 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 258 ----
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 + -