📄 inductioncooker050512ver2.lst
字号:
537 00005B */
538 00005B 45C9 bclr ftc0ien ;dis t0 int
539 00005C 47DA bclr ftc0enb ;stop t0 count
540 00005D 2D64 mov A,#01100100B ;//f0=fcpu/4
541 00005E ;// mov A,#01010100B ;//f0=fcpu/4
542 00005E 2FDA b0mov Tc0M,A
543 00005F 2D83 mov A,#131 ;//0.5ms constant for f0=1mips/64
544 000060 ;// mov A,#194 ;0.25ms
545 000060 2FDB b0mov Tc0C,A
546 000061 2FCD b0mov Tc0r,a
547 000062 6FDA b0bset FTc0ENB ; Enable TIMER0
548 000063 4DC9 bset FTc0IEN ; Enable T0 interrupt
549 000064 45C8 bclr ftc0irq ; CLEAR TIMER0 INTERRUPT FLAG
550 000065 ;----
551 000065 ;初始化pwm
552 000065 46C9 bclr ftc1ien ;dis t1 int
553 000066 2BDD clr tc1c
554 000067 ;// mov_ tc1r,pwmpulsebuf
555 000067 2D64 mov a,#01100100b
556 000068 1FDC mov tc1m,a ;set pwm=32 duty fpwm=62.5k
557 000069 41DC bclr ftc1out
558 00006A 40DC bclr fpwm1out
559 00006B 47DC bclr ftc1enb ;stop t1 count
560 00006C ;----
561 00006C 2BB1 clr ADM
562 00006D 6FB1 b0bset FADENB ;enable adc
563 00006E mov_ ADR,#01010000b ;select 12 bit ADC,Fcpu/2=128us
564 00006E 2D50 mov a, #01010000b
565 00006F 1FB3 mov ADR, a
566 000070 ;----
567 000070 40C8 bclr fp00irq
568 000071 mov_ pedge,#10h ;p00 falling edge
569 000071 2D10 mov a, #10h
570 000072 1FBF mov pedge, a
571 000073 48C9 bset fp00ien
572 000074
573 000074 41C8 bclr fp01irq ;p01 falling edge
574 000075 ;// bset fp01ien
575 000075 ;----
576 000075 492A bset poweronflag ;通电标志
577 000076 6FDF b0bset FGIE ;//enable Interrupt gain
578 000077 0E00 ret
579 000078
580 000078 ;**********************************************
581 000078 ;Name :Pdelay
582 000078 ;Function:
583 000078 ;Input :
584 000078 ;Output :
585 000078 ;Register Used:
586 000078 ;***********************************************
587 000078 Pdelay:
588 000078 2DFF mov a,#0ffh
589 000079 1F36 mov var1,a
590 00007A loop10:
591 00007A 2DFF mov a,#0ffh
592 00007B 1F37 mov var2,a
593 00007C loop11:
594 00007C 2637 decms var2
595 00007D 807C jmp loop11 ;power on delay
596 00007E 2636 decms var1
597 00007F 807A jmp loop10
598 000080 0E00 ret
599 000081 include intserver.asm
600 000081 ;************************************************
601 000081 ;Name :InterruptSub
602 000081 ;Function:
603 000081 ;Input :
604 000081 ;Output :
605 000081 ;Register Used:
606 000081 ;*************************************************
607 000081 InterruptSub:
608 000081 2C00 XCH A,AccBuf
609 000082 2C86 XCH A,PFLAG
610 000083 2F01 B0MOV PflagBuf,A
611 000084
612 000084 75C8 b0bts0 FTc0IRQ ;//Analyse the Interrupt resourc
613 000085 808E jmp Tc0INTR
614 000086
615 000086 70C8 b0bts0 FP00IRQ ;//P00 interrupt
616 000087 80B6 jmp P00INTR
617 000088
618 000088 71C8 b0bts0 FP01IRQ ;//P01 interrupt
619 000089 80BD jmp P01INTR
620 00008A
621 00008A Interrup90:
622 00008A
623 00008A 2C01 XCH A,PflagBuf
624 00008B 2F86 B0MOV PFLAG,A
625 00008C 2C00 XCH A,AccBuf ;//For release the Acc And Pflag
626 00008D
627 00008D 0F00 RETI
628 00008E
629 00008E ;--------------------------------------------------------
630 00008E Tc0INTR:
631 00008E ;//User can add interrupt program
632 00008E ;----
633 00008E 7E28 b0bts1 buzzerflag
634 00008F 8095 jmp TC0INTR30
635 000090 notbit ptbuzzer
636 000090 74D5 b0bts0 ptbuzzer
637 000091 8094 jmp $+3
638 000092 6CD5 b0bset ptbuzzer
639 000093 8095 jmp $+2
640 000094 64D5 b0bclr ptbuzzer
641 000095 ;----
642 000095 TC0INTR30:
643 000095 2602 decms timer10ms
644 000096 80B4 jmp TC0INTR90
645 000097 4827 bset t10msflag
646 000098 mov_ timer10ms,#20
647 000098 2D14 mov a, #20
648 000099 1F02 mov timer10ms, a
649 00009A
650 00009A 1E14 mov a,keychat
651 00009B 7086 b0bts0 fz
652 00009C 809F jmp TC0INTR10
653 00009D
654 00009D 2614 decms keychat
655 00009E 0000 nop
656 00009F ;-----
657 00009F TC0INTR10:
658 00009F 2603 decms timer1s
659 0000A0 80B4 jmp TC0INTR90
660 0000A1 4927 bset t1sflag
661 0000A2 mov_ timer1s,#100
662 0000A2 2D64 mov a, #100
663 0000A3 1F03 mov timer1s, a
664 0000A4 ;-----
665 0000A4 TC0INTR20:
666 0000A4 2604 decms timer1m
667 0000A5 80A9 jmp TC0INTR40
668 0000A6 mov_ timer1m,#60
669 0000A6 2D3C mov a, #60
670 0000A7 1F04 mov timer1m, a
671 0000A8 4A27 bset t1mflag
672 0000A9 ;-----
673 0000A9 TC0INTR40:
674 0000A9 2605 decms timer1h
675 0000AA 80B4 jmp TC0INTR90
676 0000AB mov_ timer1h,#60
677 0000AB 2D3C mov a, #60
678 0000AC 1F05 mov timer1h, a
679 0000AD 4B2B bset t1hflag
680 0000AE ;-----
681 0000AE 1E06 mov a,timer2h
682 0000AF 7086 b0bts0 fz
683 0000B0 80B4 jmp TC0INTR90
684 0000B1 2606 decms timer2h
685 0000B2 80B4 jmp TC0INTR90
686 0000B3 4B27 bset t2hflag
687 0000B4 TC0INTR90:
688 0000B4 65C8 b0bclr FTc0IRQ
689 0000B5 808A jmp Interrup90
690 0000B6
691 0000B6 ;--------------------------------------------------------
692 0000B6 P00INTR:
693 0000B6 ;//User can add interrupt program
694 0000B6 ;--------------------------------------------------------
695 0000B6
696 0000B6 7D28 b0bts1 operateflag
697 0000B7 80BB jmp P00INTR90 ;//锅检测信号
698 0000B8 ;-----
699 0000B8 772B b0bts0 checkcookerflag
700 0000B9 80BB jmp P00INTR80
701 0000BA ;-----
702 0000BA 4F2B bset checkcookerflag
703 0000BB ;-----
704 0000BB P00INTR80:
705 0000BB
706 0000BB ;-----
707 0000BB P00INTR90:
708 0000BB 60C8 b0bclr FP00IRQ
709 0000BC 808A jmp Interrup90
710 0000BD ;--------------------------------------------------------
711 0000BD P01INTR:
712 0000BD ;//User can add interrupt program,过零
713 0000BD ;--------------------------------------------------------
714 0000BD
715 0000BD 7D28 b0bts1 operateflag
716 0000BE 80C7 jmp P01INTR90 ;//启动信号
717 0000BF ;-----
718 0000BF 772A b0bts0 Igbtstartupflag
719 0000C0 80C7 jmp P01INTR90
720 0000C1 ;-----
721 0000C1 4F2A bset Igbtstartupflag
722 0000C2 4DD5 bset ptcout
723 0000C3 mov_ tc1r,pwmpulsebuf
724 0000C3 1E1F mov a, pwmpulsebuf
725 0000C4 1FDE mov tc1r, a
726 0000C5 48DC bset fpwm1out
727 0000C6 4FDC bset ftc1enb
728 0000C7
729 0000C7 P01INTR90:
730 0000C7 61C8 b0bclr FP01IRQ
731 0000C8 808A jmp Interrup90
732 0000C9 ;***********************************************
733 0000C9
734 0000C9
735 0000C9
736 0000C9 ;***********************************************
737 0000C9 ;Name :mnintgnd
738 0000C9 ;Function:interface between interrupt and main
739 0000C9 ;Input :
740 0000C9 ;Output :
741 0000C9 ;Register Used:
742 0000C9 ;***********************************************
743 0000C9 mnintgnd:
744 0000C9 7827 b0bts1 t10msflag
745 0000CA 80EC jmp mnintgnd90
746 0000CB ;-----------------------------
747 0000CB 4027 bclr t10msflag
748 0000CC ;----
749 0000CC /*
750 0000CC decms buzfrequent
751 0000CC jmp mnintgnd10
752 0000CC bset buzfrequentflag
753 0000CC mov_ buzfrequent,frequentbuf1
754 0000CC */
755 0000CC ;------------------------------
756 0000CC mnintgnd10:
757 0000CC ;----
758 0000CC 1E0A mov a,loadfrequent
759 0000CD 7086 b0bts0 fz
760 0000CE 80E4 jmp mnintgnd20
761 0000CF 260A decms loadfrequent
762 0000D0 80E4 jmp mnintgnd20
763 0000D1 notbit loadfrequentflag
764 0000D1 742B b0bts0 loadfrequentflag
765 0000D2 80D5 jmp $+3
766 0000D3 6C2B b0bset loadfrequentflag
767 0000D4 80D6 jmp $+2
768 0000D5 642B b0bclr loadfrequentflag
769 0000D6 mov_ loadfrequent,frequentbuf2
770 0000D6 1E0D mov a, frequentbuf2
771 0000D7 1F0A mov loadfrequent, a
772 0000D8 ;-----
773 0000D8 1E0F mov a,buzzercnt
774 0000D9 7086 b0bts0 fz
775 0000DA 80E4 jmp mnintgnd20
776 0000DB ;---
777 0000DB notbit buzzerflag
778 0000DB 7628 b0bts0 buzzerflag
779 0000DC 80DF jmp $+3
780 0000DD 6E28 b0bset buzzerflag
781 0000DE 80E0 jmp $+2
782 0000DF 6628 b0bclr buzzerflag
783 0000E0 260F decms buzzercnt
784 0000E1 80E4 jmp mnintgnd20
785 0000E2 4628 bclr buzzerflag
786 0000E3 4F2C bset alarmendfalg
787 0000E4 ;------------------------------
788 0000E4 mnintgnd20:
789 0000E4 ;----
790 0000E4 1E0B mov a,ledfrequent
791 0000E5 7086 b0bts0 fz
792 0000E6 80EC jmp mnintgnd30
793 0000E7 260B decms ledfrequent
794 0000E8 80EC jmp mnintgnd30
795 0000E9 4E2B bset ledfrequentflag
796 0000EA mov_ ledfrequent,frequentbuf3
797 0000EA 1E0E mov a, frequentbuf3
798 0000EB 1F0B mov ledfrequent, a
799 0000EC ;-------------------------------
800 0000EC mnintgnd30:
801 0000EC
802 0000EC mnintgnd90:
803 0000EC 0E00 ret
804 0000ED include keyscan.asm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -