📄 ctrol_clk.lst
字号:
523 00523 016C 6EB3 mrw# @hl,data1
524 00524 016D 6EB4 mrw# @hl,data2
525 00525 016E 6EB5 mrw# @hl,data3
0526
527 00527 016F 6EF1 mrw# @hl,scan_tl
528 00528 0170 6EF2 mrw# @hl,scan_th
0529
530 00530 0171 6EC3 mrw# @hl,disp0
531 00531 0172 6EC4 mrw# @hl,disp1
532 00532 0173 6EC5 mrw# @hl,disp2
533 00533 0174 6EC6 mrw# @hl,disp3
0534
535 00535 0175 6C57 lda store_up_t
536 00536 0176 6858 sta draw_out_t
537 00537 0177 2C36 eor freq0
538 00538 0178 A17B jnz store_end
539 00539 0179 5857 lds store_up_t,00h
540 00540 017A 58DC lds mem_full,01h
00541 store_end:
542 00542 017B D0ED jmp key0
00543 ;*****************************************
00544 draw_out:
545 00545 017C 6C58 lda draw_out_t
546 00546 017D B199 jz draw_end
547 00547 017E 6875 sta 75h
548 00548 017F C19A call select_num
549 00549 0180 1C59 mvl memory0
550 00550 0181 1D5A mvh memory1
551 00551 0182 1E5B mvu memory2
0552
553 00553 0183 6FB2 mwr# data0,@hl
554 00554 0184 6FB3 mwr# data1,@hl
555 00555 0185 6FB4 mwr# data2,@hl
556 00556 0186 6FB5 mwr# data3,@hl
0557
558 00558 0187 6FF1 mwr# scan_tl,@hl
559 00559 0188 6FF2 mwr# scan_th,@hl
0560
561 00561 0189 6FC3 mwr# disp0,@hl
562 00562 018A 6FC4 mwr# disp1,@hl
563 00563 018B 6FC5 mwr# disp2,@hl
564 00564 018C 6FC6 mwr# disp3,@hl
0565
566 00566 018D C04B call clk_ini
567 00567 018E C055 call latch_ram
568 00568 018F C05B call data_clk
569 00569 0190 C210 call display
0570
571 00571 0191 4158 dec* draw_out_t
572 00572 0192 A199 jnz draw_end
573 00573 0193 6C5C lda mem_full
574 00574 0194 B197 jz draw_out0
575 00575 0195 5B58 lds draw_out_t,06h
576 00576 0196 D199 jmp draw_end
00577 draw_out0:
578 00578 0197 6C57 lda store_up_t
579 00579 0198 6858 sta draw_out_t
00580 draw_end:
581 00581 0199 D0ED jmp key0
00582 ;*****************************************
00583 select_num:
584 00584 019A 4175 dec* 75h
585 00585 019B B1A7 jz sele_num0
586 00586 019C 4175 dec* 75h
587 00587 019D B1AA jz sele_num1
588 00588 019E 4175 dec* 75h
589 00589 019F B1AD jz sele_num2
590 00590 01A0 4175 dec* 75h
591 00591 01A1 B1B0 jz sele_num3
592 00592 01A2 4175 dec* 75h
593 00593 01A3 B1B3 jz sele_num4
594 00594 01A4 5959 lds memory0,02h
595 00595 01A5 5DDA lds memory1,0bh
596 00596 01A6 D1B5 jmp sele_end
00597 sele_num0:
598 00598 01A7 5859 lds memory0,00h
599 00599 01A8 5C5A lds memory1,08h
600 00600 01A9 D1B5 jmp sele_end
00601 sele_num1:
602 00602 01AA 5D59 lds memory0,0ah
603 00603 01AB 5C5A lds memory1,08h
604 00604 01AC D1B5 jmp sele_end
00605 sele_num2:
606 00606 01AD 5A59 lds memory0,04h
607 00607 01AE 5CDA lds memory1,09h
608 00608 01AF D1B5 jmp sele_end
00609 sele_num3:
610 00610 01B0 5F59 lds memory0,0eh
611 00611 01B1 5CDA lds memory1,09h
612 00612 01B2 D1B5 jmp sele_end
00613 sele_num4:
614 00614 01B3 5C59 lds memory0,08h
615 00615 01B4 5D5A lds memory1,0ah
00616 sele_end:
617 00617 01B5 F400 rts
0618
00619 ;*****************************************
00620 time_key:
621 00621 01B6 58DF lds dis_time_f0,01h
622 00622 01B7 C0E3 call clear_lcd
623 00623 01B8 C27F call disp_time
00624 t_key0:
625 00625 01B9 58CA lds key_signal,01h
00626 t_key1:
00627 ;call disp_time
628 00628 01BA EE80 slow
629 00629 01BB 0C4A opb key_signal
00630 ;mrw 74h,key_signal
00631 ;lcp 07h,04h
632 00632 01BC 4774 ipc 74h
633 00633 01BD 91C8 jb2 ioc1_t_keys
634 00634 01BE 89C2 jb1 ioc0_t_keys
635 00635 01BF 524A sl0 key_signal
636 00636 01C0 99B9 jb3 t_key0
637 00637 01C1 D1BA jmp t_key1
00638 ;*****************************************
00639 ioc0_t_keys:
640 00640 01C2 C2CA call delay4
641 00641 01C3 6C4A lda key_signal
642 00642 01C4 81CD jb0 fback_dts
643 00643 01C5 89D3 jb1 update_up
644 00644 01C6 91EE jb2 update_dn
645 00645 01C7 D1BA jmp t_key1
00646 ioc1_t_keys:
647 00647 01C8 C2CA call delay4
648 00648 01C9 6C4A lda key_signal
649 00649 01CA 8204 jb0 modify_time
650 00650 01CB 8A07 jb1 modify_ok
651 00651 01CC D1BA jmp t_key1
00652 ;*****************************************
00653 fback_dts:
0654
655 00655 01CD 6C51 lda set_time0
656 00656 01CE A1D2 jnz dts_end
00657 ;call clk_ini
00658 ;call latch_ram
00659 ;call data_clk
660 00660 01CF C0E3 call clear_lcd
661 00661 01D0 C210 call display
662 00662 01D1 D0EB jmp keyscan
00663 dts_end:
664 00664 01D2 D1B9 jmp t_key0
00665 ;*****************************************
00666 update_up:
00667 ; lds dis_time_f1,01h
668 00668 01D3 6C51 lda set_time0
669 00669 01D4 B1DF jz update_up_end
670 00670 01D5 6C52 lda set_time1
671 00671 01D6 81E1 jb0 up_hour
0672
673 00673 01D7 404C inc* t_minute0
674 00674 01D8 554C daa* t_minute0
675 00675 01D9 A9DF jnc update_up_end
676 00676 01DA 404D inc* t_minute1
677 00677 01DB 5B74 lds 74h,06h
678 00678 01DC 2C4D eor t_minute1
679 00679 01DD A1DF jnz update_up_end
680 00680 01DE 584D lds t_minute1,00h
00681 update_up_end:
682 00682 01DF C27F call disp_time
683 00683 01E0 D1BA jmp t_key1
00684 up_hour:
685 00685 01E1 404E inc* t_hour0
686 00686 01E2 554E daa* t_hour0
687 00687 01E3 A9E5 jnc up_hour0
688 00688 01E4 404F inc* t_hour1
00689 up_hour0:
690 00690 01E5 5A74 lds 74h,04h
691 00691 01E6 2C4E eor t_hour0
692 00692 01E7 A1DF jnz update_up_end
693 00693 01E8 5974 lds 74h,02h
694 00694 01E9 2C4F eor t_hour1
695 00695 01EA A1DF jnz update_up_end
696 00696 01EB 584E lds t_hour0,00h
697 00697 01EC 584F lds t_hour1,00h
698 00698 01ED D1DF jmp update_up_end
00699 ;*****************************************
00700 update_dn:
00701 ;lds dis_time_f1,01h
702 00702 01EE 6C51 lda set_time0
703 00703 01EF B1F8 jz update_dn_end
704 00704 01F0 6C52 lda set_time1
705 00705 01F1 81FA jb0 dn_hour
0706
707 00707 01F2 414C dec* t_minute0
708 00708 01F3 B9F8 jc update_dn_end
709 00709 01F4 5CCC lds t_minute0,09h
710 00710 01F5 414D dec* t_minute1
711 00711 01F6 B9F8 jc update_dn_end
712 00712 01F7 5ACD lds t_minute1,05h
00713 update_dn_end:
714 00714 01F8 C27F call disp_time
715 00715 01F9 D1BA jmp t_key1
00716 dn_hour:
717 00717 01FA 414E dec* t_hour0
718 00718 01FB B9F8 jc update_dn_end
719 00719 01FC 6C4F lda t_hour1
720 00720 01FD B201 jz dn_hour0
721 00721 01FE 5CCE lds t_hour0,09h
722 00722 01FF 414F dec* t_hour1
723 00723 0200 D1F8 jmp update_dn_end
00724 dn_hour0:
725 00725 0201 59CE lds t_hour0,03h
726 00726 0202 594F lds t_hour1,02h
727 00727 0203 D1F8 jmp update_dn_end
00728 ;*****************************************
00729 modify_time:
0730
731 00731 0204 58D1 lds set_time0,01h
732 00732 0205 4052 inc* set_time1
733 00733 0206 D1B9 jmp t_key0
00734 ;*****************************************
00735 modify_ok:
736 00736 0207 6C51 lda set_time0
737 00737 0208 B20F jz modify_end
00738 ;plc 08h
00739 ;sie* 08h
740 00740 0209 5860 lds dis_time_f1,00h
741 00741 020A 5853 lds half_sec,00h
742 00742 020B 5851 lds set_time0,00h
743 00743 020C 5852 lds set_time1,00h
744 00744 020D 584B lds t_sec0,00h
745 00745 020E 5850 lds t_sec1,00h
00746 modify_end:
747 00747 020F D1B9 jmp t_key0
00748 ;*****************************************
00749 ;*************lcd display ****************
00750 display: ;1.83ms
751 00751 0210 5874 lds 74h,00h
752 00752 0211 060C lcp 01h,04h
753 00753 0212 1D30 mvh addr_l
754 00754 0213 1E30 mvu addr_l
755 00755 0214 1C43 mvl disp0
756 00756 0215 0810 lcd 02h,@hl
757 00757 0216 1C44 mvl disp1
758 00758 0217 0818 lcd 03h,@hl
759 00759 0218 1C45 mvl disp2
760 00760 0219 0820 lcd 04h,@hl
761 00761 021A 6C46 lda disp3
762 00762 021B A21F jnz dis0
763 00763 021C 58F4 lds 74h,01h
764 00764 021D 062C lcp 05h,04h
765 00765 021E D222 jmp dis_end
00766 dis0:
767 00767 021F 59F4 lds 74h,03h
768 00768 0220 062C lcp 05h,04h
769 00769 0221 0000 nop
00770 dis_end:
771 00771 0222 58C8 lds dis_d_flag,01h
772 00772 0223 F400 rts
0773
00774 ;*****************************************
00775 dis_ad: ;1.83ms
776 00776 0224 6C47 lda dis_ad_flag
777 00777 0225 B232 jz dis1
778 00778 0226 6C48 lda dis_d_flag
779 00779 0227 2743 sub* disp0
780 00780 0228 BA3E jc dis_ad_end
781 00781 0229 5CC3 lds disp0,09h
782 00782 022A 4144 dec* disp1
783 00783 022B BA3E jc dis_ad_end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -