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

📄 inductioncooker050706ver2.lst

📁 应用松翰母体写的一款电磁炉
💻 LST
📖 第 1 页 / 共 5 页
字号:
   267  00004B             	
   268  E 00000080         	ADCvalue5L	equ	80h
   269  E 000000A3         	ADCvalue5M	equ	0a3h	
   270  E 0000004F         	ADCvalue5H	equ	4fh	;1400w
   271  00004B             	
   272  E 000000C0         	ADCvalue6L	equ	0c0h
   273  E 00000014         	ADCvalue6M	equ	14h	    
   274  E 0000006C         	ADCvalue6H    	equ	6ch	;1900w
   275  00004B             
   276  00004B             /*	
   277  00004B             	ADCvalue5L	equ	80h
   278  00004B             	ADCvalue5M	equ	0a3h	
   279  00004B             	ADCvalue5H	equ	4fh	;1400w
   280  00004B             	
   281  00004B             	ADCvalue6L	equ	0a0h
   282  00004B             	ADCvalue6M	equ	3ch	    
   283  00004B             	ADCvalue6H    	equ	69h	;1900w
   284  00004B             */
   285  00004B             ;-----
   286  00004B             ;无锅时的电流参数
   287  00004B             ;//	ADCnocookerl	equ	0c2h
   288  00004B             ;//	ADCnocookerh	equ	01h	;0.55v
   289  00004B             
   290  E 000000EB         	ADCnocookerl	equ	0ebh
   291  E 00000001         	ADCnocookerh	equ	01h	;>=0.60v,认为有锅
   292  00004B             	
   293  E 00000070         	ADCnocooker1	equ	70h
   294  E 00000001         	ADCnocooker2	equ	01h	;当检测到有锅后,只有电流小于此点电压时,才认为无锅
   295  00004B             ;-------                        
   296  00004B             ;锅底温度参数   
   297  E 00000047         	ADC40CvalueL	equ	47h
   298  E 00000001         	ADC40CvalueH	equ     01h
   299  00004B             	
   300  E 000000DB         	ADC50CvalueL	equ	0dbh
   301  E 00000001         	ADC50CvalueH	equ     01h
   302  00004B             	                
   303  E 00000087         	ADC60CvalueL	equ	87h
   304  E 00000002         	ADC60CvalueH	equ     02h
   305  00004B             	
   306  E 00000053         	ADC70CvalueL	equ	53h
   307  E 00000003         	ADC70CvalueH	equ     03h
   308  00004B             	
   309  E 00000049         	ADC80CvalueL	equ	49h
   310  E 00000004         	ADC80CvalueH	equ     04h
   311  00004B             	
   312  E 00000058         	ADC90CvalueL	equ	58h
   313  E 00000005         	ADC90CvalueH	equ     05h
   314  00004B             	
   315  E 00000076         	ADC100CvalueL	equ	76h
   316  E 00000006         	ADC100CvalueH	equ     06h
   317  00004B             	
   318  E 000000E9         	ADC104CvalueL	equ	0e9h
   319  E 00000006         	ADC104CvalueH	equ     06h
   320  00004B             	
   321  E 0000003B         	ADC107CvalueL	equ	3bh
   322  E 00000007         	ADC107CvalueH	equ     07h
   323  00004B             ;---                            
   324  00004B             ;IGBT温度参数                   
   325  00004B             ;//	ADCIGBTvalueL	equ	87h
   326  00004B             ;//	ADCIGBTvalueH	equ     02h	;IGBT过热温度点60℃
   327  00004B             ;//	ADCIGBTvalueL	equ	53h
   328  00004B             ;//	ADCIGBTvalueH	equ     03h	;IGBT过热温度点70℃
   329  E 00000049         	ADCIGBTvalueL	equ	49h
   330  E 00000004         	ADCIGBTvalueH	equ     04h	;IGBT过热温度点80℃
   331  00004B             ;----
   332  E 00000033         	uppervaluel	equ	33h
   333  E 0000000B         	uppervalueh	equ	0bh	;过压值250v/3.5v
   334  00004B             	
   335  E 0000008F         	uppervalue1	equ	8fh
   336  E 0000000A         	uppervalue2	equ	0ah	;过压后,只有电压回落到此点时,才认为正常
   337  00004B             	
   338  E 00000000         	lowervaluel	equ	00h
   339  E 00000008         	lowervalueh	equ	08h	;欠压值180v/2.5v
   340  00004B             	
   341  E 000000A3         	lowervalue1	equ	0a3h
   342  E 00000008         	lowervalue2	equ	08h	;欠压后,只有电压回落到此点时,才认为正常
   343  00004B             ;----
   344  E 00000093         	currentvaluel	equ	93h
   345  E 0000000C         	currentvalueh	equ	0ch	;过流值10A(1000:1~350Ω)
   346  00004B             ;----
   347  E 00000080         	hotestvaluel	equ	80h
   348  E 0000000F         	hotestvalueh	equ	0fh	;锅底温度过热值300℃
   349  00004B             ;----
   350  E 00000010         	openvaluel	equ	10h
   351  E 00000000         	openvalueh	equ	00h	;传感器开路值
   352  00004B             	
   353  E 000000EE         	shortvaluel	equ	0eeh
   354  E 0000000F         	shortvalueh	equ	0fh	;传感器短路值
   355  00004B             ;----
   356  E 00000023         	cookerpwmvalue	equ	35
   357  E 0000000F         	initpwmvalue	equ	15	
   358  00004B             ;---------------------
   359  00004B             ;segment dot
   360  E 00000030         	frieddishled	equ	seg3buf.0
   361  E 00010030         	chaffydishled	equ	seg3buf.1
   362  E 00020030         	barbecueled	equ	seg3buf.2
   363  E 00030030         	cookingled	equ	seg3buf.3
   364  E 00040030         	soupingled	equ	seg3buf.4
   365  E 00050030         	warmmilkled	equ	seg3buf.5
   366  E 00060030         	boilwaterled	equ	seg3buf.6
   367  00004B             ;----
   368  E 00000031         	keepwarmled	equ	seg4buf.0 ;120w
   369  E 00010031         	temp120Cled	equ	seg4buf.1 ;600w
   370  E 00020031         	temp160Cled	equ	seg4buf.2 ;1000w
   371  E 00030031         	temp200Cled	equ	seg4buf.3 ;1400w
   372  E 00040031         	temp270Cled	equ	seg4buf.4 ;1900w
   373  00004B             ;------------------------
   374  00004B             ;故障信息
   375  E 00000040         	Errorvalue0	equ	01000000b	;E0,电路故障
   376  E 00000079         	Errorvalue1	equ	01111001b	;E1,无锅具、材料不合、小物件
   377  E 00000024         	Errorvalue2	equ	00100100b	;E2,IGBT过热
   378  E 00000030         	Errorvalue3	equ	00110000b	;E3,过压故障 
   379  E 00000019         	Errorvalue4	equ	00011001b	;E4,欠压故障
   380  E 00000012         	Errorvalue5	equ	00010010b	;E5,温度传感器开路
   381  E 00000002         	Errorvalue6	equ	00000010b	;E6,温度传感器短路
   382  00004B             
   383  E 00000006         	Errorvalue	equ	00000110b	
   384  00004B             ;*******************************************************	
   385  00004B             ;**********************Port define**********************
   386  00004B             ;key input port row6~row0 is port2.6~port2.0
   387  00004B             ;key output port line3~lin0 is port1.6~port1.3
   388  00004B             ;-----
   389  E 000000D5         	line0		equ	p5.0
   390  E 000100D5         	line1		equ	p5.1
   391  00004B             ;-----
   392  E 000200D5         	ptfan		equ	p5.2
   393  E 000300D5         	ptpwm		equ	p5.3
   394  E 000400D5         	ptbuzzer	equ	p5.4
   395  E 000500D5         	ptcout		equ	p5.5
   396  00004B             	
   397  E 000400D4         	ptcom1		equ	p4.4
   398  E 000500D4         	ptcom2		equ	p4.5
   399  E 000600D4         	ptcom3		equ	p4.6
   400  E 000700D4         	ptcom4		equ	p4.7
   401  E 000000D5         	ptcom5		equ	p5.0
   402  E 000100D5         	ptcom6		equ	p5.1
   403  00004B             ;**************************************************
   404  00004B             ;*****************LCD字符表*************************
   405  00004B             ;**************************************************
   406  00004B             
   407  00004B             
   408  00004B             ;*********Micro define as following****************
   409  00004B             ;-----
   410  00004B             ;bank select:
   411  00004B             	bank0	macro
   412  00004B             		b0bclr	frbnks0
   413  00004B             		endm
   414  00004B             	bank1	macro
   415  00004B             		b0bset	frbnks0
   416  00004B             		endm
   417  00004B             	wdtc	macro
   418  00004B             		mov a,#0x5a
   419  00004B             		mov wdtr,a ; Clear the watchdog timer counter.
   420  00004B             		endm
   421  00004B             	notbit	macro bit
   422  00004B             		b0bts0 bit
   423  00004B             		jmp $+3
   424  00004B             		b0bset bit
   425  00004B             		jmp $+2
   426  00004B             		b0bclr bit
   427  00004B             		endm
   428  00004B             	
   429  00004B             		
   430  00004B             		
   431  00004B             		
   432  00004B             	include	main.asm
   433  00004B             ;-----------------------------------------------
   434  00004B             ;******************Program code segment*********
   435  00004B             ;-----------------------------------------------
   436  000000             .CODE
   437  000000             
   438  000000             	ORG	000h				;Code section start
   439  000000   8010      	jmp	Start				;Reset vector
   440  000001             						;Address 4 to 7 are reserved
   441  000008             	ORG	008h
   442  000008   8083      	jmp	InterruptSub			;Interrupt vector
   443  000009             
   444  000010             	ORG	010h
   445  000010             ;**************************************************
   446  000010             ;***************************************************
   447  000010             Start:
   448  000010   0000      	nop
   449  000011   0000      	nop
   450  000012   C07A      	call	Pdelay		;//Power on delay
   451  000013             ;-----	
   452  000013   7F86      	b0bts1	fnt0
   453  000014   8016      	jmp	wdtresetsub	;//watch dog reset way,no need initialize
   454  000015             ;-----	
   455  000015             TurnOnInitial:
   456  000015   C035      	call	RAMInitial
   457  000016             ;-----
   458  000016             wdtresetsub:
   459  000016   C04E      	call	PortInitial	
   460  000017   C05B      	call	SysInitial
   461  000018             ;**********************************************
   462  000018             MainLoop:
   463  000018             ;//User need write the main routine Program.
   464  000018             	@RST_WDT		;//User can use Macro instrution  REST_WATCHDOG
   465  000018   2D5A       		   MOV  A, #0x5A
   466  000019   2FCC      		   B0MOV  WDTR, A		   
   467  00001A   C0DB      	call	mnintgnd	;//interface between interrupt and main
   468  00001B   C0FC      	call	mnkey		;//Interface between machine and human
   469  00001C   C482      	call	mntwinkle	;//闪烁控制
   470  00001D   C16B      	call	mnapp		;//按键、功能控制
   471  00001E   C395      	call	poweronsub	;//上电控制
   472  00001F   C4C9      	call	mngetdata	;//显示数据控制
   473  000020   C459      	call	mndisplay	;//显示控制
   474  000021   C41A      	call	mncontroll	;//单片机工作控制
   475  000022   C3FA      	call	mcustate	;//单片机的工作状态判定
   476  000023   C50E      	call	mndetect	;//各种参数检测
   477  000024   C028      	call	mnchecktime	;//两小时无键操作控制
   478  000025   C5D3      	call	cookercheck	;//锅具检测
   479  000026   C3D7      	call	mnintermission	;//功率在600W以下采用间歇加热控制
   480  000027   8018      	jmp	MainLoop
   481  000028             ;*****************************************************
   482  000028             ;*****************************************************
   483  000028             ;*****************************************************
   484  000028             mnchecktime:
   485  000028   7736      	b0bts0	stoprunflag
   486  000029   8034      	jmp	mnchecktime90
   487  00002A             ;----
   488  00002A   1E38      	mov	a,flag3
   489  00002B   2A67      	and	a,#01100111b
   490  00002C   7086      	b0bts0	fz		;在煮米饭、煲汤功能下无效
   491  00002D   8034      	jmp	mnchecktime90
   492  00002E   7B36      	b0bts1	t2hflag
   493  00002F   8034      	jmp	mnchecktime90
   494  000030             ;----
   495  000030   4F36      	bset	stoprunflag	;两小时无操作,自动关机
   496  000031   4E37      	bset	buzzerflag
   497  000032             	mov_	buzzercnt,#10	;叫5声
   498  000032   2D0A      	mov	a, #10
   499  000033   1F13      	mov	buzzercnt, a
   500  000034             ;-----
   501  000034             mnchecktime90:
   502  000034   0E00      	ret
   503  000035             	include	initialize.asm
   504  000035             ;**********************************************
   505  000035             ;Name	:RAMInitial
   506  000035             ;Function:clr bank0~bank1
   507  000035             ;Input  :
   508  000035             ;Output	:
   509  000035             ;Register Used:
   510  000035             ;***********************************************
   511  000035             RAMInitial:
   512  000035   2B84      	clr	y
   513  000036   2D7F      	mov	a,#7fh
   514  000037   2F83      	b0mov	z,a
   515  000038             Clrbank0:
   516  000038   2BE7      	clr	@YZ			;Clear @YZ content
   517  000039   2683      	decms	Z  			;z = z - 1 , skip next if z=0
   518  00003A   8038      	jmp	Clrbank0
   519  00003B   2BE7      	clr 	@YZ			;Clear address 0x00
   520  00003C             ;-----
   521  00003C             ;preset some constant
   522  00003C             
   523  00003C             	mov_	timer10ms,#20		;10ms
   524  00003C   2D14      	mov	a, #20
   525  00003D   1F02      	mov	timer10ms, a
   526  00003E             	mov_	timer200ms,#20		;200ms
   527  00003E   2D14      	mov	a, #20
   528  00003F   1F04      	mov	timer200ms, a
   529  000040             	mov_	timer1s,#100		;1s
   530  000040   2D64      	mov	a, #100
   531  000041   1F05      	mov	timer1s, a
   532  000042             	mov_	timer1m,#60		;1m

⌨️ 快捷键说明

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