⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cooker_head.asm

📁 中颖SH69P44开发的电磁炉原程序和线路图
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

AD_STATUS	EQU	55H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;AD采样状态寄存器:
;	0001B=锅底温度采样标志
;	0010B=IGBT温度采样标志
;	0100B=电罔电压采样标志
;	1000B=电流采样标志
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

NO_BOIL_COUNTER	EQU	56H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;无锅故障计数器:
;	纪录连续出现无锅的次数,如果连续4次出现无锅,那么
;	认为出现无锅
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

COUNTER_HEAT	EQU	57H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;断续加热加热定时计数器:
;	纪录断续加热定时的时间,以1秒为最小单位
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_STOP	EQU	58H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;断续加热停止定时计数器:
;	纪录断续加热停止的时间,以1秒为最小单位
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
DELTA_H		EQU	59H
DELTA_M		EQU	5AH
DELTA_L		EQU	5BH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;差值寄存器:
;	用于纪录在计算功率时候,采样值和设定值之间的差
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

BOIL_STATUS	EQU	5CH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;无锅寄存器:
;	0001B=无锅定时开始
;	0010B=无锅5秒已到标志
;	0100B=无锅2分钟定时已到
;	1000B=
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

AD_STA1		EQU	5DH
AD_STA2		EQU	5EH
AD_STA3		EQU	5FH
AD_STA4		EQU	60H

COUNTER_HIGH	EQU	5FH
COUNTER_LOW	EQU	60H

HAVE_BOIL_CNT	EQU	61H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;有锅寄存器:
;	纪录探锅脉冲各数连续低于设定值的次数,只有当连续
;	2次探测到的脉冲各数小于这个值的时候才能清除无锅
;	故障标志
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

RUT_0		EQU	62H
RUT_1		EQU	63H
RUT_2		EQU	64H
RUT_3		EQU	65H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;乘法结果寄存器:
;	两个8位数相乘,结果存放在这几个RAM里面
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
OVER_CURRENT_CN	EQU	66H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;过流计数器:
;	档计算得到连续4次出现过流的时候认定过流应该降低
;	PWM参数
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

SHOW_POINT	EQU	67H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;LED显示寄存器:
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

FUNCTION_STATUS	EQU	68H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;自动状态寄存器:
;	用于清零使用
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
WATER_STEP	EQU	68H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;自动烧水状态寄存器:
;	01H=烧水2分钟,1600W
;	02H=检测2分钟内是否水温温差大于4?或者水温大于30H
;	03H=保温85度,500W,蜂鸣器鸣叫,显示闪烁
;	04H=保温85度,500W,显示闪烁
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

RICE_STEP	EQU	68H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;	褒粥步骤寄存器
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
MF_STEP		EQU	68H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;	米饭步骤寄存器
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
CC_STEP		EQU	68H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;	炒菜步骤寄存器
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_WATER	EQU	69H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;自动烧水定时寄存器:
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_RICE	EQU	69H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;自动褒粥定时寄存器:
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_MF	EQU	69H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;自动米饭定时寄存器:
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
TIME_AUTO	EQU	6AH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;自动功能定时寄存器:
;	0001B=1秒定时已到标志
;	0010B=1分钟定时已到标志
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_1M_B	EQU	6BH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;1M定时计数器:
;	它等于12个5S,因此初始值是0CH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

FILTER_CNT_1	EQU	6CH
FILTER_CNT_2	EQU	6DH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;1M定时计数器:
;	它等于12个5S,因此初始值是0CH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

COUNTER_160MS	EQU	70H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;160MS定时计数器:
;	这个主要是用于蜂鸣器鸣叫定时,蜂鸣器每一次鸣叫时
;	间是160MS.它等于8个20MS,因此初始值是=8
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_100MS	EQU	71H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;100MS定时计数器:
;	它等于5个20MS,因此初始值是=5
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_500MS	EQU	72H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;500MS定时计数器:
;	主要用于500MS探测有过定时它等于5个100MS,因此初
;	始值是=5
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_1S	EQU	73H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;1S定时计数器:
;	它等于10个100MS,因此初始值是=A
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_3S_L	EQU	74H
COUNTER_3S_H	EQU	75H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;3S定时计数器:
;	它等于5*6个100MS,因此初始值是COUNTER_3S_L=05H
;	COUNTER_3S_H=06H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_5S	EQU	76H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;5S定时计数器:
;	它等于5个1S,因此初始值是05H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_30S	EQU	77H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;30S定时计数器:
;	它等于6个5S,因此初始值是06H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_1M	EQU	78H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;1M定时计数器:
;	它等于12个5S,因此初始值是0CH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_2M_L	EQU	79H
COUNTER_2M_H	EQU	7AH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;2M定时计数器:
;	它等于24个5S,因此初始值是COUNTER_2M_L=04H,
;	COUNTER_2M_H=06H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_2H_L	EQU	7BH
COUNTER_2H_H	EQU	7CH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;2H定时计数器:
;	它等于120个1M,因此初始值是COUNTER_2H_L=0FH,
;	COUNTER_2H_H=08H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

COUNTER_5S_B	EQU	7DH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;5S定时备份计数器:
;	它等于5个1S,因此初始值是05H,5秒复位的时候适用这
;	个
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

COUNTER_D_ON	EQU	7EH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;断续加热加热定时计数器:
;	每当1秒定时到的时候执行减1,当需要断续加热的时候
;	只要根据实际情况设置这个值就可以了.
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

COUNTER_D_OFF 	EQU	7FH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;断续加热停止定时计数器:
;	每当1秒定时到的时候执行减1,当需要断续加热的时候
;	只要根据实际情况设置这个值就可以了.
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

;;*****************************************************
;用户寄存器表,BANK 1
;;*****************************************************

IO_INT_BAK	EQU	00H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;IO中断保护寄存器
;	当出现IO中断的时候备份ACC的值,当退出IO中断程序
;	的时候,把值还给ACC
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
T0_INI_BAK	EQU	01H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;TIMER0中断保护寄存器
;	当出现TIMER0中断的时候备份ACC的值,当退出TIMER0
;	中断程序的时候,把值还给ACC
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
TPER0A		EQU	02H
TPER0B		EQU	03H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;锅底平均温度寄存器:
;	存储经过256次求平均得到的锅底温度平均值
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
EVEN_T0		EQU	04H
EVEN_T1		EQU	05H
EVEN_T2		EQU	06H
EVEN_T3		EQU	07H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;锅底温度寄存器:
;	这四个寄存器存储了256次锅底温度之和
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
MAX_A		EQU	08H
MAX_B		EQU	09H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;锅底最高温度寄存器:
;	这个寄存器存储了锅底的最大温度值
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

TPER1A		EQU	0AH
TPER1B		EQU	0BH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;IGBT平均温度寄存器:
;	存储经过256次求平均得到的IGBT温度平均值
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
EVEN_I0		EQU	0CH
EVEN_I1		EQU	0DH
EVEN_I2		EQU	0EH
EVEN_I3		EQU	0FH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;IGBT温度寄存器:
;	这四个寄存器存储了256次IGBT温度之和
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
ACVOLA		EQU	10H
ACVOLB		EQU	11H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;电罔平均电压寄存器:
;	存储经过256次求平均得到的电罔电压平均值
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
ACVOL_0		EQU	12H
ACVOL_1		EQU	13H
ACVOL_2		EQU	14H
ACVOL_3		EQU	15H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;电罔电压寄存器:
;	这四个寄存器存储了256次电罔电压之和
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

NOWCURREA	EQU	16H
NOWCURREB	EQU	17H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;瞬态电流寄存器:
;	实时存储了采集到的电流值
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
CURREA		EQU	18H
CURREB		EQU	19H
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;平均电流寄存器:
;	存储了采集到的电流的平均值
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
CURRE_0		EQU	1AH
CURRE_1		EQU	1BH
CURRE_2		EQU	1CH
CURRE_3		EQU	1DH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;电流寄存器:
;	这四个寄存器存储了256次电流之和
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

COUNTER_HEAT_B	EQU	1EH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;备份断续加热加热定时计数器:
;	纪录断续加热定时的时间,以1秒为最小单位
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
COUNTER_STOP_B	EQU	1FH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++
;备份断续加热停止定时计数器:
;	纪录断续加热停止的时间,以1秒为最小单位
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

TPER0A_B	EQU	20H
TPER0B_B	EQU	21H
TPER1A_B	EQU	22H
TPER1B_B	EQU	23H



ACCOMP1		EQU	3CH
ACCOMP2		EQU	3DH
ACCOMP3		EQU	3EH
ACCOMP4		EQU	3FH
;+++++++++++++++++++++++++++++++++++++++++++++++++++++

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -