?? text1.lst
字號:
C51 COMPILER V8.02 TEXT1 12/10/2008 14:17:39 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <at89x52.h>
2 #include "led.h"
3 #define uchar unsigned char
4 #define scanIO P1
5 /*
6 uchar scan_k0k6(void)
7 {
8 uchar tmp = 255;
9 scanIO |= 0x07;
10 tmp = scanIO & 0x07;
11 //if(tmp!=7)
12 switch(tmp)
13 {
14 case 0x03:return 0;break;
15 case 0x05:return 1;break;
16 case 0x06:return 2;break;
17 case 0x01:return 3;break;
18 case 0x02:return 4;break;
19 case 0x04:return 5;break;
20 case 0x00:return 6;break;
21 default:return 255;break;
22 }
23 return tmp;
24 }
25
26 /*
27 uchar scan_k7k8(void)
28 {
29 uchar tmp = 255;
30 tmp = scanIO & 0xf8;
31 scanIO = tmp | 0x04;
32 tmp = scanIO & 0x07;
33 if(tmp == 0x00)
34 {
35 tmp = scanIO & 0xf8;
36 scanIO = tmp | 0x06;
37 tmp = scanIO & 0x07;
38 if(tmp == 0x02)
39 tmp = 7;
40 else
41 {
42 tmp = scanIO & 0xf8;
43 scanIO = tmp | 0x05;
44 tmp = scanIO & 0x07;
45 if(tmp == 0x01)
46 tmp = 8;
47 }
48 }
49 else tmp = 255;
50 return tmp;
51 }
52
53 uchar scan_k9k10(void)
54 {
55 uchar tmp = 255;
C51 COMPILER V8.02 TEXT1 12/10/2008 14:17:39 PAGE 2
56 tmp = scanIO & 0xf8;
57 scanIO = tmp | 0x02;
58 tmp = scanIO & 0x07;
59 if(tmp == 0x00)
60 {
61 tmp = scanIO & 0xf8;
62 scanIO = tmp | 0x06;
63 tmp = scanIO & 0x07;
64 if(tmp == 0x04)
65 tmp = 9;
66 else
67 {
68 tmp = scanIO & 0xf8;
69 scanIO = tmp | 0x03;
70 tmp = scanIO & 0x07;
71 if(tmp == 0x01)
72 tmp = 10;
73 }
74 }
75 else tmp = 255;
76 return tmp;
77 }
78
79 uchar scan_k11k12(void)
80 {
81 uchar tmp = 255;
82 tmp = scanIO & 0xf8;
83 scanIO = tmp | 0x01;
84 tmp = scanIO & 0x07;
85 if(tmp == 0x00)
86 {
87 tmp = scanIO & 0xf8;
88 scanIO = tmp | 0x05;
89 tmp = scanIO & 0x07;
90 if(tmp == 0x04)
91 tmp = 11;
92 else
93 {
94 tmp = scanIO & 0xf8;
95 scanIO = tmp | 0x03;
96 tmp = scanIO & 0x07;
97 if(tmp == 0x02)
98 tmp = 12;
99 }
100 }
101 else tmp = 255;
102 return tmp;
103 }
104
105 uchar scan_k13(void)
106 {
107 uchar tmp = 255;
108 tmp = scanIO & 0xf8;
109 scanIO = tmp | 0x04;
110 tmp = scanIO & 0x07;
111 if(tmp == 0x00)
112 {
113 tmp = scanIO & 0xf8;
114 scanIO = tmp | 0x02;
115 tmp = scanIO & 0x07;
116 if(tmp == 0x00)
117 tmp = 13;
C51 COMPILER V8.02 TEXT1 12/10/2008 14:17:39 PAGE 3
118 else tmp = 255;
119 }
120 else tmp = 255;
121 return tmp;
122 }
123
124 uchar scan_k14(void)
125 {
126 uchar tmp = 255;
127 tmp = scanIO & 0xf8;
128 scanIO = tmp | 0x05;
129 tmp = scanIO & 0x07;
130 if(tmp == 0x00)
131 tmp = 14;
132 else tmp = 255;
133 return tmp;
134 }
135
136 uchar scan_k15(void)
137 {
138 uchar tmp = 255;
139 tmp = scanIO & 0xf8;
140 scanIO = tmp | 0x03;
141 tmp = scanIO & 0x07;
142 if(tmp == 0x00)
143 tmp = 15;
144 else tmp = 255;
145 return tmp;
146 }
147
148 uchar getkey(void)
149 {
150 uchar keynum=255;
151 keynum = scan_k0k6();
152 /*
153 if(keynum == 255)
154 keynum = scan_k7k8();
155 if(keynum == 255)
156 keynum = scan_k9k10();
157 if(keynum == 255)
158 keynum = scan_k11k12();
159 if(keynum == 255)
160 keynum = scan_k13();
161 if(keynum == 255)
162 keynum = scan_k14();
163 if(keynum == 255)
164 keynum = scan_k15();
165 return keynum;
166 }*/
167 uchar scan_step1(void)
168 {
169 1 uchar tmp = 255;
170 1 tmp = scanIO & 0xf8;
171 1 scanIO = tmp | 0x07;
172 1 tmp = scanIO & 0x07;
173 1 switch(tmp)
174 1 {
175 2 case 0x03:tmp = 0;break;
176 2 case 0x05:tmp = 1;break;
177 2 case 0x06:tmp = 2;break;
178 2 case 0x01:tmp = 3;break;
179 2 case 0x02:tmp = 4;break;
C51 COMPILER V8.02 TEXT1 12/10/2008 14:17:39 PAGE 4
180 2 case 0x04:tmp = 5;break;
181 2 case 0x00:tmp = 6;break;
182 2 default:tmp = 255;break;
183 2 }
184 1 return tmp;
185 1 }
186
187 uchar scan_step2(void)
188 {
189 1 uchar tmp = 255;
190 1 tmp = scanIO & 0xf8;
191 1 scanIO = tmp | 0x06;
192 1 tmp = scanIO & 0x07;
193 1 switch(tmp)
194 1 {
195 2 case 0x02:tmp = 7;break;
196 2 case 0x04:tmp = 9;break;
197 2 case 0x00:tmp = 13;break;
198 2 default:tmp = 255;break;
199 2 }
200 1 return tmp;
201 1 }
202
203 uchar scan_step3(void)
204 {
205 1 uchar tmp = 255;
206 1 tmp = scanIO & 0xf8;
207 1 scanIO = tmp | 0x05;
208 1 tmp = scanIO & 0x07;
209 1 switch(tmp)
210 1 {
211 2 case 0x01:tmp = 8;break;
212 2 case 0x04:tmp = 11;break;
213 2 case 0x00:tmp = 14;break;
214 2 default:tmp = 255;break;
215 2 }
216 1 return tmp;
217 1 }
218
219 uchar scan_step4(void)
220 {
221 1 uchar tmp = 255;
222 1 tmp = scanIO & 0xf8;
223 1 scanIO = tmp | 0x03;
224 1 tmp = scanIO & 0x07;
225 1 switch(tmp)
226 1 {
227 2 case 0x01:tmp = 10;break;
228 2 case 0x02:tmp = 12;break;
229 2 case 0x00:tmp = 15;break;
230 2 default:tmp = 255;break;
231 2 }
232 1 return tmp;
233 1 }
234
235 uchar getkey(void)
236 {
237 1 uchar keynum=255;
238 1 if(keynum == 255)
239 1 keynum = scan_step1();
240 1 if(keynum == 255)
241 1 keynum = scan_step2();
C51 COMPILER V8.02 TEXT1 12/10/2008 14:17:39 PAGE 5
242 1 if(keynum == 255)
243 1 keynum = scan_step3();
244 1 if(keynum == 255)
245 1 keynum = scan_step4();
246 1 return keynum;
247 1 }
248
249 main()
250 {
251 1 while(1)
252 1 led_display(getkey());
253 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 438 ----
CONSTANT SIZE = 18 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -