📄 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
timer1s ds 1
timer1m ds 1
timer2h ds 1
timerbuf ds 1 ;用于定时处理,00~99分钟
buzfrequent ds 1 ;蜂鸣器的频率设定
loadfrequent ds 1 ;蜂鸣器的载波频率设定
ledfrequent 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
;---------------------------------------------
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
;***************************************************
;*************** 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 ;获取参数标志
largeflag equ flag5.2 ;
smallflag equ flag5.3 ;
loadfrequentflag equ flag5.4 ;蜂鸣器的载波频率
startflag equ flag5.5 ;状态标志 ledfrequentflag equ flag5.6 ;指示灯的频率标志
;----
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 00h
ADC120WvalueH equ 00h
ADC300WvalueL equ 00h
ADC300WvalueH equ 00h
ADC600WvalueL equ 00h
ADC600WvalueH equ 00h
ADC800WvalueL equ 00h
ADC800WvalueH equ 00h
ADC1000WvalueL equ 00h
ADC1000WvalueH equ 00h
ADC1200WvalueL equ 00h
ADC1200WvalueH equ 00h
ADC1400WvalueL equ 00h
ADC1400WvalueH equ 00h
ADC1600WvalueL equ 00h
ADC1600WvalueH equ 00h
ADC1900WvalueL equ 00h
ADC1900WvalueH equ 00h
;-------
;锅底温度参数
ADC120CvalueL equ 00h
ADC120CvalueH equ 00h
ADC160CvalueL equ 00h
ADC160CvalueH equ 00h
ADC200CvalueL equ 00h
ADC200CvalueH equ 00h
ADC270CvalueL equ 00h
ADC270CvalueH equ 00h
*/
;---
;IGBT温度参数
ADCIGBTvalueL equ 00h
ADCIGBTvalueH equ 00h
;-------
;参数预设值
;火力
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 00h
uppervalueh equ 00h
lowervaluel equ 00h
lowervalueh equ 00h
;----
currentvaluel equ 00h
currentvalueh equ 00h
;----
hotestvaluel equ 00h
hotestvalueh equ 00h
;----
openvaluel equ 00h
openvalueh equ 00h
shortvaluel equ 00h
shortvalueh equ 00h
;---------------------
;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 3Fh ;E0,电路故障
Errorvalue1 equ 06h ;E1,无锅具、材料不合、小物件
Errorvalue2 equ 5Bh ;E2,IGBT过热
Errorvalue3 equ 4Fh ;E3,过压故障
Errorvalue4 equ 66h ;E4,欠压故障
Errorvalue5 equ 6Dh ;E5,温度传感器开路
Errorvalue6 equ 7Dh ;E6,温度传感器短路
Errorvalue equ 79h
;*******************************************************
;**********************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
;**************************************************
;*****************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 + -