📄 lock.lst
字号:
272 4 if((key>=0) && (key<10))
273 4 {
274 5 if(keycount<6)
275 5 {
276 6 getps[keycount]=key;
277 6 dispbuf[keycount+2]=19;
278 6 }
279 5 keycount++;
280 5 if(keycount==6)
281 5 {
282 6 keycount=6;
283 6 }
284 5 else if(keycount>6)
285 5 {
286 6 keycount=6;
287 6 keyoverflag=1;//key overflow
288 6 }
289 5 }
290 4 else if(key==12)//delete key
291 4 {
292 5 if(keycount>0)
293 5 {
294 6 keycount--;
295 6 getps[keycount]=0;
296 6 dispbuf[keycount+2]=16;
297 6 }
298 5 else
299 5 {
300 6 keyoverflag=1;
301 6 }
302 5 }
303 4 else if(key==15)//enter key
C51 COMPILER V8.02 LOCK 08/22/2007 22:27:56 PAGE 6
304 4 {
305 5 if(keycount!=pslen)
306 5 {
307 6 errorflag=1;
308 6 rightflag=0;
309 6 second3=0;
310 6 }
311 5 else
312 5 {
313 6 for(i=0;i<keycount;i++)
314 6 {
315 7 if(getps[i]!=ps[i])
316 7 {
317 8 i=keycount;
318 8 errorflag=1;
319 8 rightflag=0;
320 8 second3=0;
321 8 goto a3;
322 8 }
323 7 }
324 6 errorflag=0;
325 6 rightflag=1;
326 6 a3: i=keycount;
327 6 }
328 5 }
329 4 temp=temp & 0x0f;
330 4 while(temp!=0x0f)
331 4 {
332 5 temp=P3;
333 5 temp=temp & 0x0f;
334 5 }
335 4 keyoverflag=0;
336 4 }
337 3 }
338 2
339 2 P3=0xff;
340 2 P3_7=0;
341 2 temp=P3;
342 2 temp=temp & 0x0f;
343 2 if (temp!=0x0f)
344 2 {
345 3 for(i=10;i>0;i--)
346 3 for(j=248;j>0;j--);
347 3 temp=P3;
348 3 temp=temp & 0x0f;
349 3 if (temp!=0x0f)
350 3 {
351 4 temp=P3;
352 4 temp=temp & 0x0f;
353 4 switch(temp)
354 4 {
355 5 case 0x0e:
356 5 key=0;
357 5 break;
358 5 case 0x0d:
359 5 key=13;
360 5 break;
361 5 case 0x0b:
362 5 key=14;
363 5 break;
364 5 case 0x07:
365 5 key=15;
C51 COMPILER V8.02 LOCK 08/22/2007 22:27:56 PAGE 7
366 5 break;
367 5 }
368 4 temp=P3;
369 4 P1_1=~P1_1;
370 4 if((key>=0) && (key<10))
371 4 {
372 5 if(keycount<6)
373 5 {
374 6 getps[keycount]=key;
375 6 dispbuf[keycount+2]=19;
376 6 }
377 5 keycount++;
378 5 if(keycount==6)
379 5 {
380 6 keycount=6;
381 6 }
382 5 else if(keycount>6)
383 5 {
384 6 keycount=6;
385 6 keyoverflag=1;//key overflow
386 6 }
387 5 }
388 4 else if(key==12)//delete key
389 4 {
390 5 if(keycount>0)
391 5 {
392 6 keycount--;
393 6 getps[keycount]=0;
394 6 dispbuf[keycount+2]=16;
395 6 }
396 5 else
397 5 {
398 6 keyoverflag=1;
399 6 }
400 5 }
401 4 else if(key==15)//enter key
402 4 {
403 5 if(keycount!=pslen)
404 5 {
405 6 errorflag=1;
406 6 rightflag=0;
407 6 second3=0;
408 6 }
409 5 else
410 5 {
411 6 for(i=0;i<keycount;i++)
412 6 {
413 7 if(getps[i]!=ps[i])
414 7 {
415 8 i=keycount;
416 8 errorflag=1;
417 8 rightflag=0;
418 8 second3=0;
419 8 goto a2;
420 8 }
421 7 }
422 6 errorflag=0;
423 6 rightflag=1;
424 6 a2: i=keycount;
425 6 }
426 5 }
427 4 temp=temp & 0x0f;
C51 COMPILER V8.02 LOCK 08/22/2007 22:27:56 PAGE 8
428 4 while(temp!=0x0f)
429 4 {
430 5 temp=P3;
431 5 temp=temp & 0x0f;
432 5 }
433 4 keyoverflag=0;
434 4 }
435 3 }
436 2
437 2 }
438 1 }
439 void t0(void) interrupt 1 using 0
440 {
441 1 TH0=(65536-500)/256;
442 1 TL0=(65536-500)%256;
443 1
444 1 flashcount++;
445 1 if(flashcount==8)
446 1 {
447 2 flashcount=0;
448 2 P0=dispcode[dispbuf[dispcount]];
449 2 P2=dispbit[dispcount];
450 2 dispcount++;
451 2 if(dispcount==8)
452 2 {
453 3 dispcount=0;
454 3 }
455 2 }
456 1
457 1 if((errorflag==1) && (rightflag==0))
458 1 {
459 2 bb++;
460 2 if(bb==800)
461 2 {
462 3 bb=0;
463 3 alarmflag=~alarmflag;
464 3 }
465 2 if(alarmflag==1)//sound alarm signal
466 2 {
467 3 P1_7=~P1_7;
468 3 }
469 2
470 2 aa++;
471 2 if(aa==800)//light alarm signal
472 2 {
473 3 aa=0;
474 3 P1_0=~P1_0;
475 3 }
476 2 second3++;
477 2 if(second3==6400)
478 2 {
479 3 second3=0;
480 3 errorflag=0;
481 3 rightflag=0;
482 3 alarmflag=0;
483 3 bb=0;
484 3 aa=0;
485 3 }
486 2 }
487 1 else if((errorflag==0) && (rightflag==1))
488 1 {
489 2 P1_0=0;
C51 COMPILER V8.02 LOCK 08/22/2007 22:27:56 PAGE 9
490 2 cc++;
491 2 if(cc<1000)
492 2 {
493 3 okflag=1;
494 3 }
495 2 else if(cc<2000)
496 2 {
497 3 okflag=0;
498 3 }
499 2 else
500 2 {
501 3 errorflag=0;
502 3 rightflag=0;
503 3 P1_7=1;
504 3 cc=0;
505 3 oka=0;
506 3 okb=0;
507 3 okflag=0;
508 3 P1_0=1;
509 3 }
510 2 if(okflag==1)
511 2 {
512 3 oka++;
513 3 if(oka==2)
514 3 {
515 4 oka=0;
516 4 P1_7=~P1_7;
517 4 }
518 3 }
519 2 else
520 2 {
521 3 okb++;
522 3 if(okb==3)
523 3 {
524 4 okb=0;
525 4 P1_7=~P1_7;
526 4 }
527 3 }
528 2 }
529 1
530 1 if(keyoverflag==1)
531 1 {
532 2 P1_7=~P1_7;
533 2 }
534 1 }
535
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1343 ----
CONSTANT SIZE = 28 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 35 ----
IDATA SIZE = ---- ----
BIT SIZE = 6 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -