📄 nt02.lst
字号:
504 2000 reset:
505 2000 A2 0F ldx #0fh
506 2002 9A txs ; Set stack point = FFh
507 2003 78 sei ; disable all interrupt
508 2004 20 0F 37 jsr delay_1ms ; delay for osc
509 2007 20 0F 37 jsr delay_1ms ; delay for osc
510 200A
511 ;---------------------------------------------
512 ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
513 ;----------------------------------------------test program
514 ; zhong guang chao add for test program 2006-1-10
515
516 200A 20 0F 37 jsr delay_1ms
517 ;PB--------------------------------------
518 200D A9 00 lda #00h
519 200F 85 15 sta PBR ;
520 2011 A9 FF lda #ffh ;
521 2013 85 17 sta PBPH ;
522 ;----------------------------------------
523 2015 20 0F 37 jsr delay_1ms
524 2018 A9 00 lda #00h
525 201A 85 05 sta T0C
526 201C 85 08 sta T1C
527 201E EA nop
528 201F EA nop
529 2020 EA nop
530 2021 A5 14 lda PB
531 2023 29 01 and #01h ;check pb0 if low then enter test progr
am
532 2025 F0 06 beq test_program1
533 2027 4C 30 20 jmp test_program_back
534 202A 4C 30 20 jmp test_program_back
535 202D test_program1:
536 202D 4C 30 37 jmp test_program
537 2030
538 2030 test_program_back:
539 ;---------------------------------------------
540 ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
541 2030
542 2030
543 2030
544 2030
Fri Mar 3 11:18:09 2006 Page 7
545 2030
546 ;-----------port initialization
547 ;PA---------------------------------------------
548 2030 A9 0F lda #0fh
549 2032 85 11 sta PAIO ;set PA7~4 output,PA3~0 input
550 2034 A9 FF lda #ffh
551 2036 85 12 sta PACN ;coms level output
552 2038 A9 04 lda #04h
553 203A 85 13 sta PAPH ;set pa2 pull up
554 203C A9 00 lda #00h
555 203E 85 10 sta PA ;clear pa
556 ;PB---------------------------------------------
557 2040 A9 FF lda #ffh
558 2042 85 15 sta PBR ;enable wake up from HALT and STOP mode
559 2044 85 17 sta PBPH ;set pb3~0 pull up
560 ;PC---------------------------------------------
561 2046 A9 00 lda #00h
562 2048 85 19 sta PCIO ;set output mode
563 204A A9 FF lda #ffh
564 204C 85 1A sta PCCN ;set cmos level
565 204E A9 00 lda #00h
566 2050 85 18 sta PC ; clear
567 ;-----------------------------------------------
568 ;--timer0
569 2052 A9 01 lda #1 ; settting t0c 60us intrrupt
570 2054 85 04 sta T0BF ; 60/31=2
571 2056 A9 A0 lda #10100000b ; F32k=32768hz 1/32768=31us
572 2058 85 05 sta T0C ;
573 ;--timer1
574 205A A9 00 lda #00h
575 205C 85 08 sta T1C
576 ;--rtc &base time
577 205E A9 08 lda #00001000b ; select 32.768khz ,RTC1=0 RTC0=1 --->
2Hz/0.5sec
578 2060 85 03 sta UCCLK ;
579 2062 A9 22 lda #00100010b ; Enable RTCEN,enable watch dog
580 2064 85 01 sta TMRC
581 2066 A9 09 lda #00001001b ; Enable RTC,T0C int
582 2068 85 00 sta INTEN
583 206A
584 206A 20 1C 21 jsr ram_clear
585 206D 20 89 21 jsr ram_default_set
586 2070
587 ;timer------------------------------------------
588 2070 58 cli ; enable interrupt
589 ;-----------------------------------------------
590
591
592 ;=======================================================;
593 ;========= Main: ==========;
594 ;=======================================================;
595
596 2071 main:
597 2071 A5 91 lda timeflag
598 2073 29 01 and #t5msf
599 2075 F0 3C beq main1
600 2077
601 ;----5 msec subroutine start
602
603 2077 20 DE 26 jsr time_manager
604
605 ;----5 msec subroutine end
606
607 207A A5 91 lda timeflag
608 207C 29 02 and #t10msf
609 207E F0 33 beq main1
610 ;----10 msec subroutine start
611
612 2080 20 B2 2D jsr key_scan
613 ;----10 msec subroutine end
614 2083 A5 91 lda timeflag
615 2085 29 04 and #t20msf
616 2087 F0 2A beq main1
617 ;-----20 msec subroutine start
618
619 2089 EA nop
620
621 ;-----20 msec subroutine end
622 208A A5 91 lda timeflag
623 208C 29 08 and #t40msf
624 208E F0 23 beq main1
625 ;----40 msec subroutine start
626
627 2090 20 0D 2F jsr key_function
628 ;----40 msec subroutine end
629 2093 A5 91 lda timeflag
630 2095 29 10 and #t80msf
631 2097 F0 1A beq main1
632 ;-----80 msec subroutine start
633
634 2099 EA nop
635 209A EA nop
636
637 ;-----80 msec subroutine end
Fri Mar 3 11:18:09 2006 Page 8
638 209B A5 91 lda timeflag
639 209D 29 20 and #t160msf
640 209F F0 12 beq main1
641 ;------160 msec subroutine start
642
643 20A1 EA nop
644 20A2 EA nop
645 20A3 EA nop
646
647 ;-------160 msec subroutine end
648 20A4 A5 91 lda timeflag
649 20A6 29 40 and #t320msf
650 20A8 F0 09 beq main1
651 ;------320 msec subroutine start
652
653
654
655 ;------320 msec subroutine end
656 20AA A5 91 lda timeflag
657 20AC 29 80 and #t640msf
658 20AE F0 03 beq main1
659 ;------640 msec subroutine start
660
661 20B0 20 EF 21 jsr rt_check_adj
662
663 ;------640 msec subroutine end
664
665 20B3 main1:
666
667 20B3 20 B8 36 jsr auto_power_on_off
668 20B6 20 B8 27 jsr remote_action
669 20B9 20 7D 23 jsr really_action
670 20BC 20 29 37 jsr clear_dog
671 20BF 20 C0 26 jsr lcd_backlight
672 20C2 20 88 26 jsr buzzer_action
673 20C5 20 39 33 jsr lcd_display
674 20C8 20 29 37 jsr clear_dog
675
676 ;///////////////////////////////////////////////;
677 ; ;
678 ; UPS server ;
679 ; ;
680 ;///////////////////////////////////////////////;
681 20CB supper_ups:
682 20CB A9 92 lda #10010010b ; select AD channel --PA.1
683 20CD 85 0A sta rADCC
684 20CF EA nop
685 20D0 EA nop
686 20D1 A9 D2 lda #11010010b ; start AD convert
687 20D3 85 0A sta rADCC
688 20D5 EA nop
689 20D6 EA nop
690 20D7 EA nop
691 20D8 EA nop
692 20D9 EA nop
693 20DA EA nop
694 20DB EA nop
695 20DC EA nop
696 20DD EA nop
697 20DE EA nop
698 20DF EA nop
699 20E0 EA nop
700 20E1 EA nop
701 20E2 EA nop
702 20E3 EA nop
703 20E4 EA nop
704 20E5 EA nop
705 20E6 EA nop
706 20E7 EA nop
707 20E8 EA nop
708 20E9 EA nop
709 20EA EA nop
710 20EB EA nop
711 20EC EA nop
712 20ED EA nop
713 20EE EA nop
714 20EF EA nop
715 20F0 EA nop
716 20F1 EA nop
717 20F2 EA nop
718 20F3 EA nop
719 20F4 A5 0C lda rADCH
720 20F6 85 B7 sta temp ; back up AD convert result
721 20F8 A5 0A lda rADCC
722 20FA 29 40 and #40h
723 20FC D0 17 bne ad_faill ; AD convert faill
724 20FE A9 00 lda #00h
725 2100 85 0A sta rADCC ; stop AD convert
726 2102
727 2102 A5 B7 lda temp
728 2104 C9 00 cmp #0 ; check if PA.1< 0.1v then enter HALT m
ode
729 2106 B0 0A bcs supper_ups_exit
730 2108
731 2108 EA nop
Fri Mar 3 11:18:09 2006 Page 9
732 2109 85 0E sta HALT ; enter ups mode
733 210B EA nop
734 210C EA nop
735 210D EA nop
736 210E EA nop
737 210F 20 E5 2F jsr power_k
738 2112 supper_ups_exit:
739
740 2112 4C 71 20 jmp main
741 2115 ad_faill:
742 2115 A9 00 lda #00h
743 2117 85 0A sta rADCC ; stop AD convert
744 2119 4C 71 20 jmp main
745 211C
746 ;///////////////////////////////////////////////;
747 ; ;
748 ; user ram clear ;
749 ; ;
750 ;///////////////////////////////////////////////;
751 211C ram_clear:
752 211C 64 90 stz keyflag
753 211E 64 91 stz timeflag
754 2120 64 92 stz newkey
755 2122 64 93 stz oldkey
756 2124 64 94 stz keycount
757 2126 64 95 stz keyval
758 2128 64 96 stz key_buzzer_t
759 212A 64 97 stz t100msec
760 212C 64 98 stz t800msec
761 212E 64 99 stz t5msec
762 2130 64 9A stz clk_hour
763 2132 64 9B stz clk_min
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -