?? password clock.lst
字號:
329 00B7 28BF JMP SET_VALIDFG
330 00B8
331 00B8 VALID_SEND_KEY:
332 00B8 0700 R mov a,KEY_CODE0 ;;Check Change Key
333 00B9 0CFF XOR A,0FFH ;;Check Debounce END
334 00BA 390A SNZ z
335 00BB 28C1 JMP CHANG_KEY
336 00BC
337 00BC ;;--- NEW KEY Initiate
338 00BC 3400 R CLR fg_REPEAT
339 00BD 0700 R mov a,KEY_CODE
340 00BE 0080 R mov KEY_CODE0,a
341 00BF
342 00BF ;;--- SET VALIDITY KEY
343 00BF SET_VALIDFG:
344 00BF 3000 R SET fg_SendActive
345 00C0 0003 ret
346 00C1
347 00C1 CHANG_KEY:
348 00C1 1F00 R CLR KD_TEMP
349 00C2 28C4 JMP RKEY_PRO
350 00C3
351 00C3 ;@----------------------------
352 00C3 INVALID_KEY_CHK:
353 00C3 1F00 R CLR KD_TEMP
354 00C4
355 00C4 RKEY_PRO: ;Release Key Confirm
文件:PASSWORD CLOCK.ASM 盛群編譯器版本 2.86 頁次7
356 00C4 1480 R INC NKD_TEMP
357 00C5 0700 R MOV A,NKD_TEMP
358 00C6 0C0D XOR A,13
359 00C7 390A SNZ z
360 00C8 2867 JMP SCAN_KEY_PROC
361 00C9 1580 R DEC NKD_TEMP
362 00CA
363 00CA NO_KEY_PROC:
364 00CA 3400 R clr fg_SendActive
365 00CB 28CC jmp $+1
366 00CC 28CD jmp $+1
367 00CD 0000 NOP
368 00CE EXIT_INVALID_KEY:
369 00CE 0700 R mov a,KEY_CODE ;Clear KEY_CODE0
370 00CF 0080 R mov KEY_CODE0,a
371 00D0 28D1 jmp $+1
372 00D1 0003 ret
373 00D2
374 00D2 KEY_DEB:
375 00D2 ;Check Key Debounce
376 00D2 1480 R INC KD_TEMP
377 00D3 0700 R MOV A,KD_TEMP
378 00D4 0C10 XOR A,debounce_num
379 00D5 390A SNZ z
380 00D6 2867 JMP SCAN_KEY_PROC
381 00D7
382 00D7 0FFF MOV A,0FFH ;SAVE KEY Debounce Check END
383 00D8 0080 R MOV KEY_CODE0,A ;0FFH to KEY_CODE0
384 00D9 2867 JMP SCAN_KEY_PROC
385 00DA
386 00DA ;****************read personal clock******************
387 00DA personal_code:
388 00DA 0700 R mov a,key_code
389 00DB 0080 mov r0, a
390 00DC 1481 inc mp0
391 00DD 1880 R rl release_num
392 00DE 0701 mov a,mp0
393 00DF 0E7F and a,7fh
394 00E0 0C00 R xor a,offset array_data+8
395 00E1 1085 sz acc ;;input 8 bit personal password
396 00E2 282A jmp main_proc
397 00E3 read_code1:
398 00E3 0F7F mov a,07fh
399 00E4 0080 R mov release_num,a
400 00E5 0F08 mov a, 8
401 00E6 0080 R mov temp_num, a
402 00E7 0F00 mov a,0
403 00E8 00BE mov word_address, a
404 00E9 0F00 R mov a, offset array_data
405 00EA 0081 mov mp0, a
406 00EB read_n1:
407 00EB 220A call ht24_read
408 00EC 0700 mov a, r0
409 00ED 043C xor a, read_out ;;compare 8 bit personal password
410 00EE 1085 sz acc
411 00EF 2AFE jmp fail_out ;;error password
412 00F0 1481 inc mp0
413 00F1 14BE inc word_address
414 00F2 1780 R sdz temp_num
415 00F3 28EB jmp read_n1
文件:PASSWORD CLOCK.ASM 盛群編譯器版本 2.86 頁次8
416 00F4 2B47 jmp ok_end ;;right password
417 00F5 ;--------------------
418 00F5 chang_personal_proc:
419 00F5 0700 R mov a,key_code
420 00F6 0080 mov r0, a
421 00F7 1481 inc mp0
422 00F8 1880 R rl release_num
423 00F9 0701 mov a,mp0
424 00FA 0E7F and a,7fh
425 00FB 0C00 R xor a,offset array_data+8
426 00FC 1085 sz acc ;;input 8 bit manage password
427 00FD 282A jmp main_proc
428 00FE
429 00FE 0F7F mov a,07fh
430 00FF 0080 R mov release_num,a
431 0100 0F08 mov a, 8
432 0101 0080 R mov temp_num, a
433 0102 0F00 mov a,0
434 0103 00BE mov word_address, a
435 0104 0F00 R mov a, offset array_data
436 0105 0081 mov mp0, a
437 0106 personal_1:
438 0106 0700 mov a,r0
439 0107 00BD mov write_in,a
440 0108 216F call ht24_write ;;input 8 bit to ht24
441 0109 1481 inc mp0
442 010A 14BE inc word_address
443 010B 1780 R sdz temp_num
444 010C 2906 jmp personal_1
445 010D 3400 R clr flg_chang_key
446 010E 3400 R clr flg_chang_personal
447 010F 233B call chang_end
448 0110 0F00 R mov a, offset array_data
449 0111 0081 mov mp0, a
450 0112 282A jmp main_proc
451 0113 ;---------read manage clock----------------
452 0113 manage_code:
453 0113 0700 R mov a,key_code
454 0114 0080 mov r0, a
455 0115 1481 inc mp0
456 0116 1880 R rl release_num
457 0117 0701 mov a,mp0
458 0118 0E7F and a,7fh
459 0119 0C00 R xor a,offset array_data+8
460 011A 1085 sz acc
461 011B 282A jmp main_proc
462 011C read_code2:
463 011C 0F7F mov a,07fh
464 011D 0080 R mov release_num,a
465 011E 0F08 mov a, 8
466 011F 0080 R mov temp_num, a
467 0120 0F10 mov a,010h
468 0121 00BE mov word_address, a
469 0122 0F00 R mov a, offset array_data
470 0123 0081 mov mp0, a
471 0124 read_n2:
472 0124 220A call ht24_read
473 0125 0700 mov a, r0
474 0126 043C xor a, read_out
475 0127 1085 sz acc
文件:PASSWORD CLOCK.ASM 盛群編譯器版本 2.86 頁次9
476 0128 2AFE jmp fail_out
477 0129 1481 inc mp0
478 012A 14BE inc word_address
479 012B 1780 R sdz temp_num
480 012C 2924 jmp read_n2
481 012D 3400 R clr flg_chang_key
482 012E 231C call chang_proc
483 012F 0F00 R mov a, offset array_data
484 0130 0081 mov mp0, a
485 0131 282A jmp main_proc
486 0132
487 0132 ;---------------------------------------------
488 0132 chang_manage_proc:
489 0132 ;call chang_proc
490 0132 0700 R mov a,key_code
491 0133 0080 mov r0, a
492 0134 1481 inc mp0
493 0135 1880 R rl release_num
494 0136 0701 mov a,mp0
495 0137 0E7F and a,7fh
496 0138 0C00 R xor a,offset array_data+8
497 0139 1085 sz acc
498 013A 282A jmp main_proc
499 013B
500 013B 0F7F mov a,07fh
501 013C 0080 R mov release_num,a
502 013D 0F08 mov a, 8
503 013E 0080 R mov temp_num, a
504 013F 0F10 mov a,010h
505 0140 00BE mov word_address, a
506 0141 0F00 R mov a, offset array_data
507 0142 0081 mov mp0, a
508 0143 manage_0:
509 0143 0700 mov a,r0
510 0144 00BD mov write_in,a
511 0145 216F call ht24_write
512 0146 1481 inc mp0
513 0147 14BE inc word_address
514 0148 1780 R sdz temp_num
515 0149 2943 jmp manage_0
516 014A 3400 R clr flg_chang_key
517 014B 3400 R clr flg_chang
518 014C 3400 R clr flg_chang_manage
519 014D 233B call chang_end
520 014E 0F00 R mov a, offset array_data
521 014F 0081 mov mp0, a
522 0150 282A jmp main_proc
523 0151 ;---------------------------------------------
524 0151 release_proc:
525 0151 3800 R snz fg_repeat
526 0152 295A jmp release_1
527 0153 2360 CALL delay30ms
528 0154 1480 R inc delay0
529 0155 0F0D mov a,13
530 0156 0400 R xor a,delay0
531 0157 1085 sz acc
532 0158 282A jmp main_proc
533 0159 2B12 jmp release_end
534 015A
535 015A release_1: ;;which key will be clear
文件:PASSWORD CLOCK.ASM 盛群編譯器版本 2.86 頁次10
536 015A 3800 R snz release_num.0
537 015B 0F00 R mov a, offset array_data
538 015C 3800 R snz release_num.1
539 015D 0F00 R mov a, offset array_data+1
540 015E 3800 R snz release_num.2
541 015F 0F00 R mov a, offset array_data+2
542 0160 3800 R snz release_num.3
543 0161 0F00 R mov a, offset array_data+3
544 0162 3800 R snz release_num.4
545 0163 0F00 R mov a, offset array_data+4
546 0164 3800 R snz release_num.5
547 0165 0F00 R mov a, offset array_data+5
548 0166 3800 R snz release_num.6
549 0167 0F00 R mov a, offset array_data+6
550 0168 3800 R snz release_num.7
551 0169 0F00 R mov a, offset array_data+7
552 016A
553 016A 0081 mov mp0, a
554 016B 1F00 clr r0 ;;if pressed 2s,clear all
555 016C 3400 R clr release_flg
556 016D 1980 R rr release_num
557 016E 282A jmp main_proc
558 016F ;*****************寫***********************
559 016F ht24_write:
560 016F 3014 set sda
561 0170 d_1
562 0174 3094 set scl
563 0175 d_1
564 0179 3414 clr sda ;start signal
565 017A
566 017A 3494 clr scl
567 017B 3014 set sda ;1
568 017C d_1
569 0180 3094 set scl
570 0181 d_1
571 0185
572 0185 3494 clr scl
573 0186 3414 clr sda ;0
574 0187 3094 set scl
575 0188 d_1
576 018C
577 018C 3494 clr scl
578 018D 3014 set sda ;1
579 018E d_1
580 0192 3094 set scl
581 0193 d_1
582 0197
583 0197 3494 clr scl
584 0198 3414 clr sda ;0
585 0199 3094 set scl
586 019A d_1
587 019E
588 019E 3494 clr scl
589 019F 3414 clr sda ;a2,a1,a0=0
590 01A0 3094 set scl
591 01A1 d_1
592 01A5
593 01A5 3494 clr scl
594 01A6 3094 set scl
595 01A7 d_1
文件:PASSWORD CLOCK.ASM 盛群編譯器版本 2.86 頁次11
596 01AB
597 01AB 3494 clr scl
598 01AC 3094 set scl
599 01AD d_1
600 01B1
601 01B1 3494 clr scl
602 01B2 3414 clr sda ;0 write mode
603 01B3 3094 set scl
604 01B4 d_1
605 01B8
606 01B8 3494 clr scl
607 01B9 3014 set sda ;1 for ack,設(shè)為輸入口,接收應(yīng)答信號
608 01BA d_1
609 01BE 3094 set scl ;read_modify_write
610 01BF d_1
611 01C3
612 01C3 skch:
613 01C3 3C14 sz sda ;respond signal
614 01C4 29C3 jmp skch
615 01C5 3494 clr scl
616 01C6 0F08 mov a,08h
617 01C7 00BF mov data_8,a ;8 bit
618 01C8 write_address_in:
619 01C8 3414 clr sda
620 01C9 3FBE sz word_address.7
621 01CA 3014 set sda
622 01CB d_1
623 01CF 3094 set scl
624 01D0 d_1
625 01D4
626 01D4 3494 clr scl
627 01D5 18BE rl word_address
628 01D6 17BF sdz data_8
629 01D7 29C8 jmp write_address_in
630 01D8 3014 set sda
631 01D9 d_1
632 01DD 3094 set scl
633 01DE d_1
634 01E2
635 01E2 wdow:
636 01E2 3C14 sz sda
637 01E3 29E2 jmp wdow
638 01E4 3494 clr scl
639 01E5 0F08 mov a,08h
640 01E6 00BF mov data_8,a
641 01E7 write_data_in:
642 01E7 3414 clr sda
643 01E8 3FBD sz write_in.7
644 01E9 3014 set sda
645 01EA d_1
646 01EE 3094 set scl
647 01EF d_1
648 01F3
649 01F3 3494 clr scl
650 01F4 18BD rl write_in
651 01F5 17BF sdz data_8
652 01F6 29E7 jmp write_data_in
653 01F7
654 01F7 3414 clr sda
655 01F8 3094 set scl
文件:PASSWORD CLOCK.ASM 盛群編譯器版本 2.86 頁次12
656 01F9 d_1
657 01FD 3494 clr scl
658 01FE 3094 set scl
659 01FF d_1
660 0203 3014 set sda ;stop signal
661 0204 d_1
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -