📄 inductioncooker050706ver2.lst
字号:
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 + -