📄 多功能密码锁.lst
字号:
199 1 x=10;
200 1 gotoxy(2,x-10);
201 1 display_LCD_int(dat/1000000000);
202 1 gotoxy(2,x-9);
203 1 display_LCD_int(dat/100000000%10);
204 1 gotoxy(2,x-8);
205 1 display_LCD_int(dat/10000000%10);
206 1 gotoxy(2,x-7);
207 1 display_LCD_int(dat/1000000%10);
208 1 gotoxy(2,x-6);
209 1 display_LCD_int(dat/100000%10);
210 1 gotoxy(2,x-5);
211 1 display_LCD_int(dat/10000%10);
212 1 gotoxy(2,x-4);
213 1 display_LCD_int(dat/1000%10);
214 1 gotoxy(2,x-3);
215 1 display_LCD_int(dat/100%10);
216 1 gotoxy(2,x-2);
217 1 display_LCD_int(dat/10%10);
218 1 gotoxy(2,x-1);
219 1 display_LCD_int(dat%10);
220 1 }
221
222
223 Calculator( void )
224 {
225 1 unsigned char temp;
226 1 unsigned char key;
227 1 unsigned char i=0;
228 1 init_LCD();
229 1 clear_LCD();
230 1 gotoxy(2,6);
231 1 display_LCD_string("Calculator");
232 1 while(1)
233 1 {
234 2 key=gotkey();
C51 COMPILER V8.02 禵功能密码薩 03/05/2009 19:15:02 PAGE 5
235 2 switch(key)
236 2 {
237 3 case 0:
238 3 dat1=dat1*10+0;
239 3 gotoxy(1,i);
240 3 i++;
241 3 display_LCD_int(0);
242 3 break;
243 3 case 1:
244 3 dat1=dat1*10+1;
245 3 dat3=dat1;
246 3 gotoxy(1,i);
247 3 i++;
248 3 display_LCD_int(1);
249 3 break;
250 3 case 2:
251 3 dat1=dat1*10+2;
252 3 dat3=dat1;
253 3 gotoxy(1,i);
254 3 i++;
255 3 display_LCD_int(2);
256 3 break;
257 3 case 3:
258 3 dat1=dat1*10+3;
259 3 dat3=dat1;
260 3 gotoxy(1,i);
261 3 i++;
262 3 display_LCD_int(3);
263 3 break;
264 3 case 4:
265 3 dat1=dat1*10+4;
266 3 dat3=dat1;
267 3 gotoxy(1,i);
268 3 i++;
269 3 display_LCD_int(4);
270 3 break;
271 3 case 5:
272 3 dat1=dat1*10+5;
273 3 dat3=dat1;
274 3 gotoxy(1,i);
275 3 i++;
276 3 display_LCD_int(5);
277 3 break;
278 3 case 6:
279 3 dat1=dat1*10+6;
280 3 dat3=dat1;
281 3 gotoxy(1,i);
282 3 i++;
283 3 display_LCD_int(6);
284 3 break;
285 3 case 7:
286 3 dat1=dat1*10+7;
287 3 dat3=dat1;
288 3 gotoxy(1,i);
289 3 i++;
290 3 display_LCD_int(7);
291 3 break;
292 3 case 8:
293 3 dat1=dat1*10+8;
294 3 dat3=dat1;
295 3 gotoxy(1,i);
296 3 i++;
C51 COMPILER V8.02 禵功能密码薩 03/05/2009 19:15:02 PAGE 6
297 3 display_LCD_int(8);
298 3 break;
299 3 case 9:
300 3 dat1=dat1*10+9;
301 3 dat3=dat1;
302 3 gotoxy(1,i);
303 3 i++;
304 3 display_LCD_int(9);
305 3 break;
306 3 case 10:
307 3 i=0;
308 3 dat1=0;
309 3 dat2=0;
310 3 dat3=0;
311 3 clear_LCD();
312 3 gotoxy(1,15);
313 3 display_LCD_string("C");
314 3 break;
315 3 case 11:
316 3 i=0;
317 3 dat3=0;
318 3 gotoxy(1,15);display_LCD_string("=");
319 3 switch(temp)
320 3 {
321 4 case '+':dat3=dat2+dat1;break;
322 4 case '-':dat3=dat2-dat1;break;
323 4 case '*':dat3=dat2*dat1;break;
324 4 case '/':dat3=dat2/dat1;break;
325 4 }
326 3 print_num(dat3);
327 3 break;
328 3 case 12:
329 3 i=0;
330 3 dat3=0;
331 3 dat2=dat1;
332 3 dat1=0;temp='+';
333 3 dat3=dat2;clear_LCD();
334 3 gotoxy(1,15);
335 3 display_LCD_string("+");
336 3 break;
337 3 case 13:
338 3 i=0;
339 3 dat3=0;
340 3 dat2=dat1;
341 3 dat1=0;
342 3 temp='-';
343 3 dat3=dat2;
344 3 clear_LCD();
345 3 gotoxy(1,15);
346 3 display_LCD_string("-");
347 3 break;
348 3 case 14:
349 3 i=0;
350 3 dat3=0;
351 3 dat2=dat1;
352 3 dat1=0;
353 3 temp='*';
354 3 dat3=dat2;
355 3 clear_LCD();
356 3 gotoxy(1,15);
357 3 display_LCD_string("X");
358 3 break;
C51 COMPILER V8.02 禵功能密码薩 03/05/2009 19:15:02 PAGE 7
359 3 case 15:
360 3 i=0;
361 3 dat3=0;
362 3 dat2=dat1;
363 3 dat1=0;
364 3 temp='/';
365 3 dat3=dat2;clear_LCD();
366 3 gotoxy(1,15);
367 3 display_LCD_string("/");
368 3 break;
369 3 default:
370 3 break;
371 3 }
372 2 }
373 1 }
374 /************************************************ END **********************************
-************************/
375
376
377
378
379
380
381
382 /************************************************ 主函数及菜单 **********************************
-************************/
383 void main( void )
384 {
385 1 char num;
386 1 init_LCD();
387 1 clear_LCD();
388 1 num=0;
389 1 while(1)
390 1 {
391 2 Calculator();
392 2 }
393 1 }
394 /************************************************ END **********************************
-************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1841 ----
CONSTANT SIZE = 58 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 8
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 + -