📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 05/21/2007 15:49:02 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil 8.08\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 typedef unsigned char BYTE;
3
4 BYTE LED_BIT_1;
5 BYTE LED_BIT_2;
6 BYTE LED_BIT_3;
7 BYTE LED_BIT_4;
8 BYTE LED_BIT_5;
9 BYTE LED_BIT_6;
10 BYTE LED_BIT_7;
11 BYTE LED_BIT_8;
12
13 BYTE T_COUNT;
14 BYTE KEY_CNT;
15 BYTE LINE;
16 BYTE ROW;
17 BYTE VAL;
18
19 sbit P10=P1^0;
20
21 sbit P20=P2^0;
22 sbit P21=P2^1;
23 sbit P22=P2^2;
24 sbit P23=P2^3;
25 sbit P24=P2^4;
26 sbit P25=P2^5;
27 sbit P26=P2^6;
28 sbit P27=P2^7;
29
30 sbit P30=P3^0;
31 sbit P31=P3^1;
32 sbit P32=P3^2;
33 sbit P33=P3^3;
34 sbit P34=P3^4;
35 sbit P35=P3^5;
36 sbit P36=P3^6;
37 sbit P37=P3^7;
38
39 BYTE code TABLE[]={ 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
40 0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
41
42
43
44 void DELAY()
45 {
46 1 BYTE i=10;
47 1 do
48 1 {
49 2 BYTE j=250;
50 2 do
51 2 {}while(--j);
52 2 }while(--i);
53 1 }
54
55 void INT_T0() interrupt 1
C51 COMPILER V8.08 MAIN 05/21/2007 15:49:02 PAGE 2
56 {
57 1 TH0=(65536-700)/256;
58 1 TL0=(65536-700)%256;
59 1 P10=~P10;
60 1 }
61
62 void SHIFT(BYTE in)
63 {
64 1 LED_BIT_1=LED_BIT_2;
65 1 LED_BIT_2=LED_BIT_3;
66 1 LED_BIT_3=LED_BIT_4;
67 1 LED_BIT_4=LED_BIT_5;
68 1 LED_BIT_5=LED_BIT_6;
69 1 LED_BIT_6=LED_BIT_7;
70 1 LED_BIT_7=LED_BIT_8;
71 1 LED_BIT_8=in;
72 1 }
73
74 void DISP()
75 {
76 1 P27=0;
77 1 P0=LED_BIT_8;
78 1 DELAY();
79 1 P27=1;
80 1
81 1 P26=0;
82 1 P0=LED_BIT_7;
83 1 DELAY();
84 1 P26=1;
85 1
86 1 P25=0;
87 1 P0=LED_BIT_6;
88 1 DELAY();
89 1 P25=1;
90 1
91 1 P24=0;
92 1 P0=LED_BIT_5;
93 1 DELAY();
94 1 P24=1;
95 1
96 1 P23=0;
97 1 P0=LED_BIT_4;
98 1 DELAY();
99 1 P23=1;
100 1
101 1 P22=0;
102 1 P0=LED_BIT_3;
103 1 DELAY();
104 1 P22=1;
105 1
106 1 P21=0;
107 1 P0=LED_BIT_2;
108 1 DELAY();
109 1 P21=1;
110 1
111 1 P21=0;
112 1 P0=LED_BIT_1;
113 1 DELAY();
114 1 P21=1;
115 1 }
116
117
C51 COMPILER V8.08 MAIN 05/21/2007 15:49:02 PAGE 3
118
119 main()
120 {
121 1 START:
122 1 T_COUNT=0x00;
123 1 KEY_CNT=0x00;
124 1 LINE=0x00;
125 1 ROW=0x00;
126 1 VAL=0x00;
127 1
128 1 LED_BIT_1=0x00;
129 1 LED_BIT_2=0x00;
130 1 LED_BIT_3=0x00;
131 1 LED_BIT_4=0x00;
132 1 LED_BIT_5=0x00;
133 1 LED_BIT_6=0x00;
134 1 LED_BIT_7=0x00;
135 1 LED_BIT_8=0x00;
136 1
137 1 A0: while(1)
138 1 {
139 2 DISP();
140 2 P3=0xF0;
141 2
142 2 if(P30)
143 2 {
144 3 DELAY();
145 3 if(P30)
146 3 {
147 4 LINE=0x00; break;
148 4 }
149 3 }
150 2 else if(P31)
151 2 {
152 3 DELAY();
153 3 if(P31)
154 3 {
155 4 LINE=0x01; break;
156 4 }
157 3 }
158 2 else if(P32)
159 2 {
160 3 DELAY();
161 3 if(P32)
162 3 {
163 4 LINE=0x02; break;
164 4 }
165 3 }
166 2 else if(P33)
167 2 {
168 3 DELAY();
169 3 if(P33)
170 3 {
171 4 LINE=0x03; break;
172 4 }
173 3 }
174 2 }//end while
175 1
176 1 P3=0x0F;
177 1 while(1)
178 1 {
179 2 if(P34)
C51 COMPILER V8.08 MAIN 05/21/2007 15:49:02 PAGE 4
180 2 {
181 3 ROW=0x00; break;
182 3 }
183 2 else if(P35)
184 2 {
185 3 ROW=0x01; break;
186 3 }
187 2 else if(P36)
188 2 {
189 3 ROW=0x02; break;
190 3 }
191 2 else if(P37)
192 2 {
193 3 ROW=0x03; break;
194 3 }
195 2 }//end while
196 1
197 1 KEY_CNT++;
198 1 if(KEY_CNT==9)
199 1 {
200 2 TMOD=0x01;
201 2 TH0=(65536-700)/256;
202 2 TL0=(65536-700)%256;
203 2 IE=0x82;
204 2 TR0=1;
205 2
206 2 while(1)
207 2 {
208 3 if(P3==0x0F||P3==0xF0)
209 3 {
210 4 P0=0x00;
211 4 TR0=0;
212 4 goto START;
213 4 }
214 3 }
215 2 }
216 1
217 1 if(KEY_CNT==1)
218 1 {
219 2 VAL=LINE*4+ROW;
220 2 LED_BIT_8=TABLE[VAL];
221 2
222 2 while(1)
223 2 {
224 3 DISP();
225 3 if(P3==0x0F||P3==0xF0)
226 3 {
227 4 goto A0;
228 4 }
229 3 }
230 2 }
231 1 else
232 1 {
233 2 VAL=LINE*4+ROW;
234 2 SHIFT(TABLE[VAL]);
235 2
236 2 while(1)
237 2 {
238 3 DISP();
239 3 if(P3==0x0F||P3==0xF0)
240 3 {
241 4 goto A0;
C51 COMPILER V8.08 MAIN 05/21/2007 15:49:02 PAGE 5
242 4 }
243 3 }
244 2 }
245 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 364 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 13 1
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 + -