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

📄 define.asm

📁 应用松翰母体写的一款电磁炉
💻 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 + -