📄 inductioncooker050706ver2.lst
字号:
533 000042 2D3C mov a, #60
534 000043 1F06 mov timer1m, a
535 000044 mov_ timer1h,#60 ;1h
536 000044 2D3C mov a, #60
537 000045 1F07 mov timer1h, a
538 000046 mov_ displaytimer,#2
539 000046 2D02 mov a, #2
540 000047 1F0C mov displaytimer, a
541 000048 mov_ combuf,#11111111b ;set all com high level
542 000048 2DFF mov a, #11111111b
543 000049 1F32 mov combuf, a
544 00004A 2D32 mov a,#50 ;set led frequent=0.5s
545 00004B 1F0F mov ledfrequent,a
546 00004C 1F0E mov loadfrequent,a
547 00004D 0E00 ret
548 00004E ;**********************************************
549 00004E ;Name :PortInitial
550 00004E ;Function:
551 00004E ;Input :
552 00004E ;Output :
553 00004E ;Register Used:
554 00004E ;***********************************************
555 00004E PortInitial:
556 00004E
557 00004E 2DFF mov a,#0ffh
558 00004F 1FC2 mov p2m,a ;set p2 is output port
559 000050 1FD2 mov p2,a ;set all p2 pin high level
560 000051
561 000051 2DF0 mov a,#11110000b ;set p4.7~p4.4 is output,others is input
562 000052 1FC4 mov p4m,a
563 000053 2DF0 mov a,#11110000b
564 000054 1FD4 mov p4,a
565 000055 2BE4 clr p4ur
566 000056
567 000056 2DFF mov a,#11111111b
568 000057 1FC5 mov p5m,a ;set p5 is output except p5.1
569 000058 2DCB mov a,#11001011b
570 000059 1FD5 mov p5,a
571 00005A
572 00005A 0E00 ret
573 00005B
574 00005B ;**********************************************
575 00005B ;Name :SysInitial
576 00005B ;Function:
577 00005B ;Input :
578 00005B ;Output :
579 00005B ;Register Used:
580 00005B ;***********************************************
581 00005B SysInitial:
582 00005B ;-----
583 00005B 2BD8 clr t0m ;ftc1=fcpu
584 00005C
585 00005C 45C9 bclr ftc0ien ;dis t0 int
586 00005D 47DA bclr ftc0enb ;stop t0 count
587 00005E 2D64 mov A,#01100100B ;//f0=fcpu/4
588 00005F ;// mov A,#01010100B ;//f0=fcpu/4
589 00005F 2FDA b0mov Tc0M,A
590 000060 2D83 mov A,#131 ;//0.5ms constant for f0=1mips/64
591 000061 ;// mov A,#194 ;0.25ms
592 000061 2FDB b0mov Tc0C,A
593 000062 2FCD b0mov Tc0r,a
594 000063 6FDA b0bset FTc0ENB ; Enable TIMER0
595 000064 4DC9 bset FTc0IEN ; Enable T0 interrupt
596 000065 45C8 bclr ftc0irq ; CLEAR TIMER0 INTERRUPT FLAG
597 000066 ;----
598 000066 ;初始化pwm
599 000066 46C9 bclr ftc1ien ;dis t1 int
600 000067 2BDD clr tc1c
601 000068 ;// mov a,#01100100b
602 000068 2D62 mov a,#01100010b
603 000069 2FDC b0mov tc1m,a ;set pwm=32 duty fpwm=62.5k
604 00006A 41DC bclr ftc1out
605 00006B 40DC bclr fpwm1out
606 00006C 47DC bclr ftc1enb ;stop t1 count
607 00006D 43D5 bclr ptpwm
608 00006E ;----
609 00006E 2BB1 clr ADM
610 00006F 6FB1 b0bset FADENB ;enable adc
611 000070 mov_ ADR,#01010000b ;select 12 bit ADC,Fcpu/2=128us
612 000070 2D50 mov a, #01010000b
613 000071 1FB3 mov ADR, a
614 000072 ;----
615 000072 40C8 bclr fp00irq
616 000073 mov_ pedge,#10h ;p00 falling edge
617 000073 2D10 mov a, #10h
618 000074 1FBF mov pedge, a
619 000075 48C9 bset fp00ien
620 000076
621 000076 41C8 bclr fp01irq ;p01 falling edge
622 000077 ;// bset fp01ien
623 000077 ;----
624 000077 4939 bset poweronflag ;通电标志
625 000078 6FDF b0bset FGIE ;//enable Interrupt gain
626 000079 0E00 ret
627 00007A
628 00007A ;**********************************************
629 00007A ;Name :Pdelay
630 00007A ;Function:
631 00007A ;Input :
632 00007A ;Output :
633 00007A ;Register Used:
634 00007A ;***********************************************
635 00007A Pdelay:
636 00007A 2DFF mov a,#0ffh
637 00007B 1F47 mov var1,a
638 00007C loop10:
639 00007C 2DFF mov a,#0ffh
640 00007D 1F48 mov var2,a
641 00007E loop11:
642 00007E 2648 decms var2
643 00007F 807E jmp loop11 ;power on delay
644 000080 2647 decms var1
645 000081 807C jmp loop10
646 000082 0E00 ret
647 000083 include intserver.asm
648 000083 ;************************************************
649 000083 ;Name :InterruptSub
650 000083 ;Function:
651 000083 ;Input :
652 000083 ;Output :
653 000083 ;Register Used:
654 000083 ;*************************************************
655 000083 InterruptSub:
656 000083 2C00 XCH A,AccBuf
657 000084 2C86 XCH A,PFLAG
658 000085 2F01 B0MOV PflagBuf,A
659 000086
660 000086 75C8 b0bts0 FTc0IRQ ;//Analyse the Interrupt resourc
661 000087 8090 jmp Tc0INTR
662 000088
663 000088 70C8 b0bts0 FP00IRQ ;//P00 interrupt
664 000089 80BE jmp P00INTR
665 00008A
666 00008A 71C8 b0bts0 FP01IRQ ;//P01 interrupt
667 00008B 80C0 jmp P01INTR
668 00008C
669 00008C Interrup90:
670 00008C
671 00008C 2C01 XCH A,PflagBuf
672 00008D 2F86 B0MOV PFLAG,A
673 00008E 2C00 XCH A,AccBuf ;//For release the Acc And Pflag
674 00008F
675 00008F 0F00 RETI
676 000090
677 000090 ;--------------------------------------------------------
678 000090 Tc0INTR:
679 000090 ;//User can add interrupt program
680 000090 ;----
681 000090 7E37 b0bts1 buzzerflag
682 000091 8097 jmp TC0INTR60
683 000092 notbit ptbuzzer ;buzzer frequent=1k~2khz
684 000092 74D5 b0bts0 ptbuzzer
685 000093 8096 jmp $+3
686 000094 6CD5 b0bset ptbuzzer
687 000095 8097 jmp $+2
688 000096 64D5 b0bclr ptbuzzer
689 000097 ;-----
690 000097 TC0INTR60:
691 000097
692 000097 ;----
693 000097 TC0INTR30:
694 000097 2602 decms timer10ms
695 000098 80BC jmp TC0INTR90
696 000099 4836 bset t10msflag
697 00009A mov_ timer10ms,#20
698 00009A 2D14 mov a, #20
699 00009B 1F02 mov timer10ms, a
700 00009C
701 00009C 1E03 mov a,timer20ms
702 00009D 7086 b0bts0 fz
703 00009E 80A1 jmp TC0INTR50
704 00009F 2603 decms timer20ms
705 0000A0 0000 nop
706 0000A1 ;-----
707 0000A1 TC0INTR50:
708 0000A1 1E18 mov a,keychat
709 0000A2 7086 b0bts0 fz
710 0000A3 80A6 jmp TC0INTR10
711 0000A4
712 0000A4 2618 decms keychat
713 0000A5 0000 nop
714 0000A6 ;-----
715 0000A6 TC0INTR10:
716 0000A6 2605 decms timer1s
717 0000A7 80BC jmp TC0INTR90
718 0000A8 4936 bset t1sflag
719 0000A9 mov_ timer1s,#100
720 0000A9 2D64 mov a, #100
721 0000AA 1F05 mov timer1s, a
722 0000AB ;-----
723 0000AB TC0INTR20:
724 0000AB 2606 decms timer1m
725 0000AC 80BC jmp TC0INTR90
726 0000AD mov_ timer1m,#60
727 0000AD 2D3C mov a, #60
728 0000AE 1F06 mov timer1m, a
729 0000AF 4A36 bset t1mflag
730 0000B0 4F3B bset oneminuteflag
731 0000B1 ;-----
732 0000B1 TC0INTR40:
733 0000B1 2607 decms timer1h
734 0000B2 80BC jmp TC0INTR90
735 0000B3 mov_ timer1h,#60
736 0000B3 2D3C mov a, #60
737 0000B4 1F07 mov timer1h, a
738 0000B5 4B3A bset t1hflag
739 0000B6 ;-----
740 0000B6 1E08 mov a,timer2h
741 0000B7 7086 b0bts0 fz
742 0000B8 80BC jmp TC0INTR90
743 0000B9 2608 decms timer2h
744 0000BA 80BC jmp TC0INTR90
745 0000BB 4B36 bset t2hflag
746 0000BC ;-----
747 0000BC TC0INTR90:
748 0000BC 65C8 b0bclr FTc0IRQ
749 0000BD 808C jmp Interrup90
750 0000BE
751 0000BE ;--------------------------------------------------------
752 0000BE P00INTR:
753 0000BE ;//User can add interrupt program
754 0000BE ;--------------------------------------------------------
755 0000BE ;-----
756 0000BE P00INTR90:
757 0000BE 60C8 b0bclr FP00IRQ
758 0000BF 808C jmp Interrup90
759 0000C0 ;--------------------------------------------------------
760 0000C0 P01INTR:
761 0000C0 ;//User can add interrupt program,过零
762 0000C0 ;--------------------------------------------------------
763 0000C0
764 0000C0 7D37 b0bts1 operateflag
765 0000C1 80D9 jmp P01INTR90 ;//启动信号
766 0000C2 ;-----
767 0000C2 7C3C b0bts1 havecookerflag
768 0000C3 80CE jmp P01INTR80
769 0000C4 7739 b0bts0 Igbtstartupflag
770 0000C5 80D9 jmp P01INTR90
771 0000C6 ;-----
772 0000C6 4F39 bset Igbtstartupflag
773 0000C7 4DD5 bset ptcout
774 0000C8 48DC bset fpwm1out
775 0000C9 49DC bset ftc1out
776 0000CA 4FDC bset ftc1enb
777 0000CB mov_ tc1r,pwmpulsebuf
778 0000CB 1E2C mov a, pwmpulsebuf
779 0000CC 1FDE mov tc1r, a
780 0000CD 80D9 jmp P01INTR90
781 0000CE ;------------------------
782 0000CE P01INTR80:
783 0000CE 733E b0bts0 noneedflag
784 0000CF 80D9 jmp P01INTR90 ;检测到有锅开始加热后,不在需要发送PWM试探信号
785 0000D0 753C b0bts0 checkingflag
786 0000D1 80D9 jmp P01INTR90
787 0000D2 ;-----
788 0000D2 4D3C bset checkingflag
789 0000D3 4DD5 bset ptcout
790 0000D4 48DC bset fpwm1out
791 0000D5 49DC bset ftc1out
792 0000D6 4FDC bset ftc1enb
793 0000D7 mov_ tc1r,#cookerpwmvalue
794 0000D7 2D23 mov a, #cookerpwmvalue
795 0000D8 1FDE mov tc1r, a
796 0000D9 ;-----
797 0000D9 P01INTR90:
798 0000D9 61C8 b0bclr FP01IRQ
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -