您当前的位置:五五电子网电子知识单片机-工控设备松翰单片机电磁炉程序(SN8P1706芯片的)(sonix) 正文
电磁炉程序(SN8P1706芯片的)(sonix)

电磁炉程序(SN8P1706芯片的)(sonix)

点击数:7807 次   录入时间:03-04 11:49:30   整理:http://www.55dianzi.com   松翰单片机
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 
 b0 MOV  P4M,a
 
  MOV  a,#00111111b
 b0 MOV  P5M,a 
 
  MOV  a,#0xff
 b0 MOV  P2M,a
  MOV  a,#11000000b
 b0 MOV  P1M,a
 @set_pur 0x23
 clr P1 
 clr P2
 clr P4
 clr P5 
  MOV  a,#0x44
 b0 MOV  TC1M,a
  MOV  a,#225  ;225
 b0 MOV  TC1R,a
 b0bset FTC1OUT  ;buzzer on
 b0bset FTC1ENB
 
  MOV  a,#11110101b  ;1:16 16uS
 b0 MOV  TC0M,a
  MOV  a,#0xff
 b0 MOV  TC0R,a
  MOV  a,#11110000b  ;1:2 1uS
 b0 MOV  T0M,a
  MOV  a,#00010000b
 b0 MOV  INTEN,a
 clr INTRQ
 endm
;\\\\\\\\\\\\\\\\\\\\\\\\\\\\
;*****************************
;clear ram (00h-->7fh)
;*****************************
 ClearRam macro
 clr Y
 b0 MOV  Z,#0x7f
Clear_Ram01: 
 clr @YZ
 decms Z
 jmp Clear_Ram01
 endm
;\\\\\\\\\\\\\\\\\\\\\\
 BuzzerActive macro
 b0bts1 BuzzerEnable
 jmp BuzzerStop
        b0 MOV  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
        b0bclr BuzzerIsOn  ;buzzer on
        b0bset BUZZER
        jmp BuzzerTimeOver02
BuzzerTimeOver01:
 b0bclr BUZZER   ;buzzer off
        b0bset BuzzerIsOn               
BuzzerTimeOver02:
 b0bts0 BuzzerIsOn
 jmp BuzzerRet
        decms  BuzNumber
 jmp BuzzerRet                
BuzzerStop:
 b0bclr BuzzerEnable
        b0bclr BuzzerIsOn
BuzzerRet:
 endm
;***************************** 
 include define.asm
.CODE 
 org 0x00
 jmp Reset
 org 0x08
 jmp Interrupt

 org 0x10
;*******************
MultiplICation:
; b0 MOV  a,CurrentL
 b0 MOV  a,VoltageL
 mul a,VoltageL
 b0 MOV  ELO,a
 b0 MOV  a,R
 b0 MOV  ALO,a
; b0 MOV  a,CurrentH
 b0 MOV  a,VoltageH
 mul a,VoltageL
 add a,ALO
 b0 MOV  EHI,a
 b0 MOV  a,R
 b0 MOV  DLO,a
 b0bts0 FC
 incms DLO
 nop
 clr DHI

; b0 MOV  a,CurrentL
 b0 MOV  a,VoltageL
 mul a,VoltageH
 b0 MOV  CLO,a
 b0 MOV  a,R
 b0 MOV  ALO,a
; b0 MOV  a,CurrentH
 b0 MOV  a,VoltageH
 mul a,VoltageH
 add a,ALO
 b0 MOV  CHI,a
 b0 MOV  a,R
 b0 MOV  BLO,a
 b0bts0 FC
 incms BLO
 nop
 
 b0bclr FC
 b0 MOV  a,CLO
 adc EHI,a
 b0 MOV  a,CHI
 adc DLO,a
 b0 MOV  a,BLO
 adc DHI,a 
 
 b0 MOV  a,ELO
 mul a,CurrentH
 b0 MOV  CLO,a
 b0 MOV  a,R
 b0 MOV  ALO,a
 b0 MOV  a,EHI
 mul a,CurrentH
 add a,ALO
 b0 MOV  CHI,a
 b0 MOV  a,R
 b0 MOV  ALO,a
 b0 MOV  a,DLO
 mul a,CurrentH
 add a,ALO
 b0 MOV  BLO,a
 b0 MOV  a,R
 b0 MOV  BHI,a

 b0 MOV  a,ELO
 mul a,CurrentL
 b0 MOV  ELO,a
 b0 MOV  a,R
 b0 MOV  ALO,a
 b0 MOV  a,EHI
 mul a,CurrentL
 add a,ALO
 b0 MOV  EHI,a
 b0 MOV  a,R
 b0 MOV  ALO,a
 b0 MOV  a,DLO
 mul a,CurrentL
 add a,ALO
 b0 MOV  DLO,a
 b0 MOV  a,R
 b0 MOV  DHI,a
 
 b0bclr FC
 b0 MOV  a,CLO
 adc EHI,a
 b0 MOV  a,CHI
 adc DLO,a
 b0 MOV  a,BLO
 adc DHI,a
 b0bts0 FC
 incms BHI
 nop
 ret
 ;;;;;====================================
Mpy16: ;;;INPUT (BY MULTIPLIER)AHI,ALO;(MULTIPLIER)BHI,BLO
 ;;;OUT  DHI,DLO,EHI,ELO
 ;;;======================================
         MOV  a,#10h
        b0 MOV  counter,a
        clr DHI
        clr DLO
        b0bclr FC
 ;;;;;
Mpyloop:
        rrcm     BHI
        rrcm     BLO
       b0bts1 FC
        jmp Notadd
 ;;;;
         MOV  a,ALO

[1] [2] [3] [4] [5]  下一页


本文关键字:程序  电磁炉  松翰单片机单片机-工控设备 - 松翰单片机

《电磁炉程序(SN8P1706芯片的)(sonix)》相关文章>>>