Title induction cooker controller ;OSC:16.000MHz chip SN8P1706 //{{SONIX_CODE_OPTION .Code_Option OSG Enable .Code_Option High_Clk 12M_X''tal .Code_Option High_Clk/2 Disable .Code_Option Security Enable .Code_Option LVD Enable .Code_Option Watch_Dog Enable //}}SONIX_CODE_OPTION ;\\\\\\\\\\\\\\\\\\\\\\\\\\\\ InitPort macro mov a,#01110000b ;p4.7,p4.3 as A/D input b0mov P4M,a mov a,#00111111b b0mov P5M,a mov a,#0xff b0mov P2M,a mov a,#11000000b b0mov P1M,a @set_pur 0x23 clr P1 clr P2 clr P4 clr P5 mov a,#0x44 b0mov TC1M,a mov a,#225 ;225 b0mov TC1R,a b0bset FTC1OUT ;buzzer on b0bset FTC1ENB mov a,#11110101b ;1:16 16uS b0mov TC0M,a mov a,#0xff b0mov TC0R,a mov a,#11110000b ;1:2 1uS b0mov T0M,a mov a,#00010000b b0mov INTEN,a clr INTRQ endm ;\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ;***************************** ;clear ram (00h-->7fh) ;***************************** ClearRam macro clr Y b0mov Z,#0x7f Clear_Ram01: clr @YZ decms Z jmp Clear_Ram01 endm ;\\\\\\\\\\\\\\\\\\\\\\ BuzzerActive macro b0bts1 BuzzerEnable jmp BuzzerStop b0mov a,BuzNumber b0bts0 FZ jmp BuzzerStop b0bts1 BuzzerShort jmp BuzNormal01 mov a,#50 jmp BuzNormal02 BuzNormal01: mov a,#100 BuzNormal02: sub a,TimerBuz b0bts0 FC jmp BuzzerRet ;else buzzer time over BuzzerTimeOver: clr TimerBuz b0bts1 BuzzerIsOn jmp BuzzerTimeOver01 |