📄 define.asm
字号:
;********************************************************
; COMPANY : CHOMP *
; PROJECT NAME : *
; Author : carman *
; Original : *
; VERSION : V0.0 *
; START DATE : 2005.04.13 *
; COMPLISH DATE: 2005. *
; Modify : 2005. *
; BODY : SN8P2708 *
; COMPILER : ICE2k *
; CRYSTAL : 4MHz *
; Modify function: *
; *******************************************************
;//Set ICE emulation mode.Pay attention to it be reset after emulation.
;//ICE_MODE EQU 1
;// Please set ICE_MODE equ 0 and recompiler before write the code into IC body
ICE_MODE EQU 0
chip sn8p2715
//{{SONIX_CODE_OPTION
.Code_Option LVD LVD_M ; 2.0V Reset Enable LVD24 bit of PFLAG for 2.4V Low Voltage Indicator
.Code_Option RST_P0.3 P0.3
.Code_Option Watch_Dog Enable ; Normal mode: Enable Watchdog Green and Sleep mode: Stop Watchdog
.Code_Option High_Clk 4M_X'tal ; Crystal/Resonator: 2Mhz~10Mhz
.Code_Option Fcpu #2 ; Fcpu = Fosc/4
.Code_Option Security Enable
.Code_Option Noise_Filter Enable
//}}SONIX_CODE_OPTION
.nolist ; do not list the macro file
INCLUDESTD MACRO1.H
INCLUDESTD MACRO2.H
INCLUDESTD MACRO3.H
INCLUDESTD SN8P2X_ICE.H
;*******************************************
.list
;-----------------------------------------------
.DATA
;bank0
org 0h ;Bank 0 data section start from RAM address 0x000
AccBuf ds 1 ;Accumulater buffer
PflagBuf ds 1 ;PFLAG buffer
timer10ms ds 1
timer1s ds 1
timer1m ds 1
timer1h ds 1
timer2h ds 1
timerbuf ds 1 ;用于定时处理,00~99分钟
timerbuf1 ds 1
;-----
buzfrequent ds 1 ;蜂鸣器的频率设定
loadfrequent ds 1 ;蜂鸣器的载波频率设定
ledfrequent ds 1 ;指示灯的闪烁频率设定
frequentbuf1 ds 1 ;=buzfrequent
frequentbuf2 ds 1 ;=loadfrequent
frequentbuf3 ds 1 ;=ledfrequent
buzzercnt ds 1 ;蜂鸣器鸣叫次数
keyinbuf ds 1
keychkbuf ds 1
keycvtbuf ds 1
keyoldbuf ds 1
Keychat ds 1
aplcode ds 1
;----
ADCvolbufl ds 1
ADCvolbufh ds 1 ;火力控制值
ADCcurbufl ds 1
ADCcurbufh ds 1 ;电流控制值
ADCtempbufl ds 1
ADCtempbufh ds 1 ;温度控制值
ADCvaluel ds 1
ADCvalueh ds 1 ;A/D转换结果值
ADCtemp ds 1
;----
pwmpulsebuf ds 1
pwmpulsetemp ds 1
;----
stepbuf ds 1 ;档位控制
;----
seg1buf ds 1
seg2buf ds 1
seg3buf ds 1
seg4buf ds 1
combuf ds 1
Flag1 ds 1
flag2 ds 1
flag3 ds 1
flag4 ds 1
flag5 ds 1
flag6 ds 1
flag7 ds 1
;---------------------------------------------
temp0 ds 1
temp1 ds 1
temp2 ds 1
temp3 ds 1
temp4 ds 1
;-----
temp5 ds 1
temp6 ds 1
temp7 ds 1
;-----
var1 ds 1
var2 ds 1
var3 ds 1
var4 ds 1
;-----
loopi = temp5
loopj = temp6
;***************************************************
;*************** Define flag ***********************
t10msflag equ Flag1.0
t1sflag equ Flag1.1
t1mflag equ flag1.2
t2hflag equ Flag1.3
keystatflag equ Flag1.4
refurbishflag equ flag1.5 ;刷新数码管显示标志
overtempflag equ flag1.6 ;超温标志
stoprunflag equ flag1.7 ;停止工作标志
;----
volADCflag equ flag2.0 ;过压、欠压检测
curADCflag equ flag2.1 ;过流检测
IgbtADCflag equ flag2.2 ;IGBT过温检测
cookerADCflag equ flag2.3 ;锅底温度检测
cookerflag equ flag2.4 ;无锅、尺寸不合、小物件检测
operateflag equ flag2.5 ;开始工作标志
buzzerflag equ flag2.6 ;蜂鸣器响标志
fanrunflag equ flag2.7 ;风扇运转标志
;----
frieddishflag equ flag3.0 ;炒菜标志
chaffydishflag equ flag3.1 ;火锅标志
barbecueflag equ flag3.2 ;烧烤标志
cookingflag equ flag3.3 ;煮饭标志
soupingflag equ flag3.4 ;煲汤标志
warmmilkflag equ flag3.5 ;热奶标志
boilwaterflag equ flag3.6 ;煮水标志
keepwarmflag equ flag3.7 ;保温标志
;----
malfunctionflag equ flag4.0 ;故障标志
poweronflag equ flag4.1 ;初始通电标志
ADCstartflag equ flag4.2 ;A/D转换开始标志
ADCendflag equ flag4.3 ;A/D转换结束标志
changestaflag equ flag4.4 ;状态切换标志
settimeflag equ flag4.5 ;定时标志
timecomeflag equ flag4.6 ;定时到标志
Igbtstartupflag equ flag4.7 ;IGBT启动标志
;----
buzfrequentflag equ flag5.0 ;蜂鸣器的频率标志
parameterflag equ flag5.1 ;获取参数标志
tempcomeflag equ flag5.2 ;温度点之间切换
t1hflag equ flag5.3
loadfrequentflag equ flag5.4 ;蜂鸣器的载波频率
startflag equ flag5.5 ;状态标志
ledfrequentflag equ flag5.6 ;指示灯的频率标志
checkcookerflag equ flag5.7 ;用于有锅无锅检测
;----
timekeyflag equ flag6.0 ;按下定时键,开始定时标志
keyokflag equ flag6.1
firststepflag equ flag6.2 ;1~4步骤切换
secondstepflag equ flag6.3
thirdstepflag equ flag6.4
fourthstepflag equ flag6.5
firstsettimeflag equ flag6.6 ;初次定时标志
alarmendfalg equ flag6.7 ;报警结束标志
;----
tempkeyflag equ flag7.0 ;设定温度键
intermissionflag equ flag7.1 ;间歇加热控制
statechangeflag equ flag7.2
heatflag equ flag7.3
havecookerflag equ flag7.4 ;=1:锅符合,=0:锅不符合
;----
lineflag equ keycvtbuf.7 ;=0:line0 上按键,=1:line1 上按键
;----
com1flag equ combuf.4
com2flag equ combuf.5
com3flag equ combuf.6
com4flag equ combuf.7
;****************************************************
;*******************constant define******************
;-------
;火力参数
;电压参数
ADC120WvalueL equ 0e3h
ADC120WvalueH equ 09h
ADC200WvalueL equ 0e3h
ADC200WvalueH equ 09h
ADC300WvalueL equ 0e3h
ADC300WvalueH equ 09h
ADC600WvalueL equ 0e3h
ADC600WvalueH equ 09h
ADC800WvalueL equ 0e3h
ADC800WvalueH equ 09h
ADC900WvalueL equ 0e3h
ADC900WvalueH equ 09h
ADC1000WvalueL equ 0e3h
ADC1000WvalueH equ 09h
ADC1200WvalueL equ 0e3h
ADC1200WvalueH equ 09h
ADC1400WvalueL equ 0e3h
ADC1400WvalueH equ 09h
ADC1600WvalueL equ 0e3h
ADC1600WvalueH equ 09h
ADC1900WvalueL equ 0e3h
ADC1900WvalueH equ 09h
;---
ADCvoltvaluel equ 0e3h
ADCvoltvalueh equ 09h ;220V电压点
;-------
;电流参数
ADCcurvalue1L equ 4fh
ADCcurvalue1H equ 01h ;200w
ADCcurvalue2L equ 0f3h
ADCcurvalue2H equ 01h ;300w
ADCcurvalue3L equ 0e3h
ADCcurvalue3H equ 05h ;900w
ADCcurvalue4L equ 8fh
ADCcurvalue4H equ 06h ;1000w
ADCcurvalue5L equ 26h
ADCcurvalue5H equ 09h ;1400w
ADCcurvalue6L equ 72h
ADCcurvalue6H equ 0ch ;1900w
;-------
;锅底温度参数
ADC40CvalueL equ 47h
ADC40CvalueH equ 01h
ADC50CvalueL equ 0dbh
ADC50CvalueH equ 01h
ADC60CvalueL equ 87h
ADC60CvalueH equ 02h
ADC70CvalueL equ 53h
ADC70CvalueH equ 03h
ADC80CvalueL equ 49h
ADC80CvalueH equ 04h
ADC90CvalueL equ 58h
ADC90CvalueH equ 05h
ADC100CvalueL equ 76h
ADC100CvalueH equ 06h
ADC104CvalueL equ 0e9h
ADC104CvalueH equ 06h
ADC107CvalueL equ 3bh
ADC107CvalueH equ 07h
;---
;IGBT温度参数
ADCIGBTvalueL equ 87h
ADCIGBTvalueH equ 02h ;IGBT过热温度点60℃
;-------
;参数预设值
;火力
Preset120W equ 00h
Preset600W equ 00h
Preset1000W equ 00h
Preset1400W equ 00h
Preset1900W equ 00h
;----
;温度
Preset120C equ 00h
Preset160C equ 00h
Preset200C equ 00h
Preset270C equ 00h
;----
uppervaluel equ 33h
uppervalueh equ 0bh ;过压值250v/3.5v
lowervaluel equ 00h
lowervalueh equ 08h ;欠压值180v/2.5v
;----
currentvaluel equ 66h
currentvalueh equ 0eh ;过流值10A(1000:1~450Ω)
;----
hotestvaluel equ 00h
hotestvalueh equ 00h ;锅底温度过热值300℃
;----
openvaluel equ 10h
openvalueh equ 00h ;传感器开路值
shortvaluel equ 0eeh
shortvalueh equ 0fh ;传感器短路值
;---------------------
;segment dot
frieddishled equ seg3buf.0
chaffydishled equ seg3buf.1
barbecueled equ seg3buf.2
cookingled equ seg3buf.3
soupingled equ seg3buf.4
warmmilkled equ seg3buf.5
boilwaterled equ seg3buf.6
;----
keepwarmled equ seg4buf.0 ;120w
temp120Cled equ seg4buf.1 ;600w
temp160Cled equ seg4buf.2 ;1000w
temp200Cled equ seg4buf.3 ;1400w
temp270Cled equ seg4buf.4 ;1900w
;------------------------
;故障信息
Errorvalue0 equ 01000000b ;E0,电路故障
Errorvalue1 equ 01111001b ;E1,无锅具、材料不合、小物件
Errorvalue2 equ 00100100b ;E2,IGBT过热
Errorvalue3 equ 00110000b ;E3,过压故障
Errorvalue4 equ 00011001b ;E4,欠压故障
Errorvalue5 equ 00010010b ;E5,温度传感器开路
Errorvalue6 equ 00000010b ;E6,温度传感器短路
Errorvalue equ 00000110b
;*******************************************************
;**********************Port define**********************
;key input port row6~row0 is port2.6~port2.0
;key output port line3~lin0 is port1.6~port1.3
;-----
line0 equ p5.0
line1 equ p5.1
;-----
ptfan equ p5.2
ptpwm equ p5.3
ptbuzzer equ p5.4
ptcout equ p5.5
ptcom1 equ p4.4
ptcom2 equ p4.5
ptcom3 equ p4.6
ptcom4 equ p4.7
ptcom5 equ p5.0
ptcom6 equ p5.1
;**************************************************
;*****************LCD字符表*************************
;**************************************************
;*********Micro define as following****************
;-----
;bank select:
bank0 macro
b0bclr frbnks0
endm
bank1 macro
b0bset frbnks0
endm
wdtc macro
mov a,#0x5a
mov wdtr,a ; Clear the watchdog timer counter.
endm
notbit macro bit
b0bts0 bit
jmp $+3
b0bset bit
jmp $+2
b0bclr bit
endm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -