📄 keyscan.lst
字号:
C51 COMPILER V7.01 KEYSCAN 04/29/2006 16:28:40 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE KEYSCAN
OBJECT MODULE PLACED IN keyscan.OBJ
COMPILER INVOKED BY: F:\Keil\C51\BIN\C51.EXE keyscan.c DEBUG OBJECTEXTEND
stmt level source
1
2 //scan the Alarm input
3 #include "reg52.h"
4 #include "main.h"
5
6
7
8 unsigned char data keydata;
9 extern keybuffer;
10
11 void keyscan(void)
12 {
13 1 unsigned char data keytmp;
14 1 keydata=0;
15 1 P0=0xFE;
16 1 keytmp = ~(P2) & 0x1f;
17 1
18 1 switch(keytmp)
19 1 {
20 2 case 1:
21 2 keydata = K_0;
22 2 break;
23 2 case 2:
24 2 keydata = K_8;
25 2 break;
26 2 case 4:
27 2 keydata = K_mon;
28 2 break;
29 2 case 8:
30 2 keydata = K_salvo;
31 2 break;
32 2 case 16:
33 2 keydata = K_f1;
34 2 break;
35 2 default:
36 2 break;
37 2 }
38 1
39 1 P0=0xFD;
40 1 keytmp = ~(P2) & 0x1f;
41 1
42 1 switch(keytmp)
43 1 {
44 2 case 1:
45 2 keydata = K_1;
46 2 break;
47 2 case 2:
48 2 keydata = K_9;
49 2 break;
50 2 case 4:
51 2 keydata = K_cam;
52 2 break;
53 2 case 8:
54 2 keydata = K_run;
55 2 break;
C51 COMPILER V7.01 KEYSCAN 04/29/2006 16:28:40 PAGE 2
56 2 case 16:
57 2 keydata = K_f2;
58 2 break;
59 2 default:
60 2 break;
61 2 }
62 1
63 1 P0=0xFB;
64 1 keytmp = ~(P2) & 0x1f;
65 1
66 1 switch(keytmp)
67 1 {
68 2 case 1:
69 2 keydata = K_2;
70 2 break;
71 2 case 2:
72 2 keydata = K_close;
73 2 break;
74 2 case 4:
75 2 keydata = K_on;
76 2 break;
77 2 case 8:
78 2 keydata = K_hold;
79 2 break;
80 2 case 16:
81 2 keydata = K_prog;
82 2 break;
83 2 default:
84 2 break;
85 2 }
86 1
87 1 P0=0xF7;
88 1 keytmp = ~(P2) & 0x1f;
89 1
90 1 switch(keytmp)
91 1 {
92 2 case 1:
93 2 keydata = K_3;
94 2 break;
95 2 case 2:
96 2 keydata = K_open;
97 2 break;
98 2 case 4:
99 2 keydata = K_off;
100 2 break;
101 2 case 8:
102 2 keydata = K_b;
103 2 break;
104 2 case 16:
105 2 keydata = K_arm;
106 2 break;
107 2 default:
108 2 break;
109 2 }
110 1
111 1 P0=0xEF;
112 1 keytmp = ~(P2) & 0x1f;
113 1
114 1 switch(keytmp)
115 1 {
116 2 case 1:
117 2 keydata = K_4;
C51 COMPILER V7.01 KEYSCAN 04/29/2006 16:28:40 PAGE 3
118 2 break;
119 2 case 2:
120 2 keydata = K_near;
121 2 break;
122 2 case 4:
123 2 keydata = K_shot;
124 2 break;
125 2 case 8:
126 2 keydata = K_time;
127 2 break;
128 2 case 16:
129 2 keydata = K_last;
130 2 break;
131 2 default:
132 2 break;
133 2 }
134 1
135 1 P0=0xDF;
136 1 keytmp = ~(P2) & 0x1f;
137 1
138 1 switch(keytmp)
139 1 {
140 2 case 1:
141 2 keydata = K_5;
142 2 break;
143 2 case 2:
144 2 keydata = K_far;
145 2 break;
146 2 case 4:
147 2 keydata = K_patran;
148 2 break;
149 2 case 8:
150 2 keydata = K_a;
151 2 break;
152 2 case 16:
153 2 keydata = K_next;
154 2 break;
155 2 default:
156 2 break;
157 2 }
158 1
159 1 P0=0xBF;
160 1 keytmp = ~(P2) & 0x1f;
161 1
162 1 switch(keytmp)
163 1 {
164 2 case 1:
165 2 keydata = K_6;
166 2 break;
167 2 case 2:
168 2 keydata = K_wide;
169 2 break;
170 2 case 4:
171 2 keydata = K_aux;
172 2 break;
173 2 case 8:
174 2 keydata = K_ack;
175 2 break;
176 2 case 16:
177 2 keydata = K_vcr;
178 2 break;
179 2 default:
C51 COMPILER V7.01 KEYSCAN 04/29/2006 16:28:40 PAGE 4
180 2 break;
181 2 }
182 1
183 1 P0=0x7F;
184 1 keytmp = ~(P2) & 0x1f;
185 1
186 1 switch(keytmp)
187 1 {
188 2 case 1:
189 2 keydata = K_7;
190 2 break;
191 2 case 2:
192 2 keydata = K_tele;
193 2 break;
194 2 case 4:
195 2 keydata = K_clear;
196 2 break;
197 2 case 8:
198 2 keydata = K_lock;
199 2 break;
200 2 case 16:
201 2 keydata = K_user;
202 2 break;
203 2 default:
204 2 break;
205 2 }
206 1
207 1 // return keydata;
208 1 }
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 408 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
C51 COMPILER V7.01 KEYSCAN 04/29/2006 16:28:40 PAGE 5
PDATA SIZE = ---- ----
DATA SIZE = 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 + -