电磁炉程序(SN8P1706芯片的)(sonix)
电磁炉程序(SN8P1706芯片的)(sonix)
点击数:7807 次 录入时间:03-04 11:49:30 整理:http://www.55dianzi.com 松翰单片机
decms Z
jmp DataVerify01
add a,@YZ
ret
;******************
TimeDisplay:
clr data0
clr data1
b0 MOV a,Minute
b0bts0 FZ
ret
sub a,#11
b0bts1 FC
jmp D10
b0 MOV a,Minute
sub a,#21
b0bts1 FC
jmp D20
b0 MOV a,Minute
sub a,#31
b0bts1 FC
jmp D30
b0 MOV a,Minute
sub a,#41
b0bts1 FC
jmp D40
b0 MOV a,Minute
sub a,#51
b0bts1 FC
jmp D50
D60:
b0bset DisplayTime60
ret
D50:
b0bset DisplayTime50
ret
D40:
b0bset DisplayTime40
ret
D30:
b0bset DisplayTime30
ret
D20:
b0bset DisplayTime20
ret
D10:
b0bset DisplayTime10
ret
;***************
;Main program
;****************
Reset:
b0bclr FGIE
InitPort
call DataVerify
cmprs a,sumbuffer
jmp Init02
b0 MOV Z,#0eh
Init01:
b0 MOV a,@YZ
b0bts1 FZ
jmp Init06
decms Z
jmp Init01
Init02:
ClearRam
clr flag0
b0bset BUZZER
b0bclr DRV
call BuzShort_3
;******
;******
Init06:
b0 MOV a,port1copy
b0 MOV P1,a
b0 MOV a,port2copy
b0 MOV P2,a
b0 MOV a,port4copy
b0 MOV P4,a
b0 MOV a,port5copy
b0 MOV P5,a
b0bset FGIE
clr INTRQ
Main:
b0bset FWDRST
call DataVerify
b0 MOV sumbuffer,a
b0 MOV a,P1
b0 MOV port1copy,a
b0 MOV a,P2
b0 MOV port2copy,a
b0 MOV a,P4
b0 MOV port4copy,a
b0 MOV a,P5
b0 MOV port5copy,a
BuzzerActive
b0bts0 F4mS
call SystemTimerEnd
b0bts0 CurrentError
jmp $+10
b0bts0 TempError
jmp $+8
b0bts1 Timering
jmp $+8
b0 MOV a,Minute
b0bts1 FZ
jmp $+5
call BuzLong_5
jmp $+2
call BuzShort_10
jmp OnOff01
b0bts1 KeyScanEnable
jmp NotKeyScan
b0bclr KeyScanEnable
call KeyScan
NotKeyScan:
b0bts0 KeyActive
jmp ReadKey
b0bts1 On
jmp Main
b0bts1 TestTemperatureEnable
jmp NotTestTemperature
call TestTemperature
b0bclr TestTemperatureEnable
b0 MOV a,resultH
sub a,TemperatureH
b0bts1 FZ
jmp $+3
b0 MOV a,resultL
sub a,TemperatureL
b0bts1 FC
jmp $+6
b0bclr DRV
b0bset Off
b0bclr FP02IEN
b0bclr FP02IRQ
jmp Main
b0bts1 Off
jmp NotTestTemperature
b0bclr Off
b0bset FP02IEN
MOV a,#0x40
b0 MOV TimerDrvH,a
jmp Main
NotTestTemperature:
; b0bts1 On
; jmp Main
b0bts1 TestCurrentEnable
jmp Main
call TestCurrent
b0bclr TestCurrentEnable
call TestVoltage
call CalculatePower
NotTestCurrent:
jmp Main
;************
ReadKey:
b0bclr KeyActive
b0bts0 Konoff
jmp OnOff
b0bts1 On
jmp Main
call BuzShort_1
b0bts0 Kmode
jmp Mode
b0bts0 Kpower
jmp Power
;*******************
Time:
incms TimeBuffer
nop
b0 MOV a,TimeBuffer
sub a,#7
b0bts1 FC
jmp Time01
clr TimeBuffer
Time01:
MOV a,TimeBuffer
b0 MOV Y,#TimeTable$m
b0 MOV Z,#TimeTable$l
add Z,a
MOV c
b0 MOV Minute,a
clr Second
b0bset Timering
b0 MOV a,TimeBuffer
b0bts0 FZ
b0bclr Timering
jmp Main
;****************************
OnOff:
call BuzShort_1
b0bts1 On
jmp OnOff02
OnOff01:
b0bclr On
b0bclr Timering
call Close
clr data0
clr data1
clr data2
clr data3
clr data4
clr ModeBuffer
clr PowerBuffer
clr TimeBuffer
clr Minute
clr errorcounter
b0bclr TempError
b0bclr CurrentError
clr errorcounter1
b0bclr FP02IEN
b0bclr FP01IEN
jmp Main
OnOff02:
b0bset On
call Open
b0bset DisplayOnOff
b0bset DisplayMode1
b0bset DisplayPower3
MOV a,#3
b0 MOV ModeBuffer,a
b0 MOV PowerBuffer,a
clr TimeBuffer
b0bset FP02IEN
b0bset FP01IEN
MOV a,#0x80
b0 MOV TimerDrvH,a
; MOV a,#100
; b0 MOV TimerDrv,a
jmp Mode01
;****************************
Mode:
incms ModeBuffer
nop
b0 MOV a,ModeBuffer
sub a,#6
b0bts1 FC
jmp Mode01
MOV a,#1
b0 MOV ModeBuffer,a
Mode01:
b0bclr DisplayMode1
b0bclr DisplayMode2
b0bclr DisplayMode3
b0bclr DisplayMode4
b0bclr DisplayMode5
MOV a,ModeBuffer
cmprs a,#1
jmp $+2
jmp Mode1
cmprs a,#2
jmp $+2
jmp Mode2
cmprs a,#3
jmp $+2
jmp Mode3
cmprs a,#4
jmp $+2
jmp Mode4
Mode5:
b0bset DisplayMode5
MOV a,#5
jmp ModeEnd
Mode1:
b0bset DisplayMode1
MOV a,#3
jmp ModeEnd
Mode2:
b0bset DisplayMode2
MOV a,#3
jmp ModeEnd
Mode3:
b0bset DisplayMode3
MOV a,#3
jmp ModeEnd
Mode4:
b0bset DisplayMode4
MOV a,#4
ModeEnd:
b0 MOV PowerBuffer,a
jmp Power01
;****************************
Power:
上一页 [1] [2] [3] [4] [5] 下一页
本文关键字:程序 电磁炉 松翰单片机,单片机-工控设备 - 松翰单片机