📄 m128_alky_touch_con1.lst
字号:
64B1 9020 0100 LDS R2,FLAG
64B3 FE27 SBRS R2,7
64B4 C001 RJMP 0x64B6
64B5 C002 RJMP 0x64B8
64B6 940C 6CB0 JMP 0x6CB0
(0783) {
(0784) if(k<10)
64B8 300A CPI R16,0xA
64B9 F4C0 BCC 0x64D2
(0785) {
(0786) KEY_TEMP[5]=KEY_TEMP[4];
64BA 9020 014A LDS R2,0x014A
64BC 9220 014B STS 0x014B,R2
(0787) KEY_TEMP[4]=KEY_TEMP[3];
64BE 9020 0149 LDS R2,KEY_TEMP+3
64C0 9220 014A STS 0x014A,R2
(0788) KEY_TEMP[3]=KEY_TEMP[2];
64C2 9020 0148 LDS R2,KEY_TEMP+2
64C4 9220 0149 STS KEY_TEMP+3,R2
(0789) KEY_TEMP[2]=KEY_TEMP[1];
64C6 9020 0147 LDS R2,KEY_TEMP+1
64C8 9220 0148 STS KEY_TEMP+2,R2
(0790) KEY_TEMP[1]=KEY_TEMP[0];
64CA 9020 0146 LDS R2,KEY_TEMP
64CC 9220 0147 STS KEY_TEMP+1,R2
(0791) KEY_TEMP[0]=k;
64CE 9340 0146 STS KEY_TEMP,R20
(0792) }
64D0 940C 7020 JMP 0x7020
(0793) else
(0794) if(k==10) //确定
64D2 304A CPI R20,0xA
64D3 F009 BEQ 0x64D5
64D4 C2E7 RJMP 0x67BC
(0795) {
(0796) delay_nms(20);
64D5 E104 LDI R16,0x14
64D6 E010 LDI R17,0
64D7 940E 8236 CALL _delay_nms
(0797) if(keyboard()==10)
64D9 940E 8FE4 CALL _keyboard
64DB 2F60 MOV R22,R16
64DC 300A CPI R16,0xA
64DD F009 BEQ 0x64DF
64DE C2DA RJMP 0x67B9
(0798) switch(MENU_NUM)
64DF 9160 016A LDS R22,MENU_NUM
64E1 2777 CLR R23
64E2 3060 CPI R22,0
64E3 E0E0 LDI R30,0
64E4 077E CPC R23,R30
64E5 F414 BGE 0x64E8
64E6 940C 7020 JMP 0x7020
64E8 E08F LDI R24,0xF
64E9 E090 LDI R25,0
64EA 1786 CP R24,R22
64EB 0797 CPC R25,R23
64EC F414 BGE 0x64EF
64ED 940C 7020 JMP 0x7020
64EF E88C LDI R24,0x8C
64F0 E090 LDI R25,0
64F1 01FB MOVW R30,R22
64F2 0FEE LSL R30
64F3 1FFF ROL R31
64F4 0FE8 ADD R30,R24
64F5 1FF9 ADC R31,R25
64F6 9025 LPM R2,Z+
64F7 9034 LPM R3,0(Z)
64F8 01F1 MOVW R30,R2
64F9 9409 IJMP
(0799) {
(0800) case 0: //浓度修改
(0801) CLI();
64FA 94F8 BCLR 7
(0802) Set_LD_Value= KEY_TEMP[2] * 100 +KEY_TEMP[1] * 10 + KEY_TEMP[0];
64FB 9020 0147 LDS R2,KEY_TEMP+1
64FD E08A LDI R24,0xA
64FE 9D82 MUL R24,R2
64FF 0110 MOVW R2,R0
6500 9040 0148 LDS R4,KEY_TEMP+2
6502 E684 LDI R24,0x64
6503 9D84 MUL R24,R4
6504 0120 MOVW R4,R0
6505 0C42 ADD R4,R2
6506 1C53 ADC R5,R3
6507 9020 0146 LDS R2,KEY_TEMP
6509 2433 CLR R3
650A 0C42 ADD R4,R2
650B 1C53 ADC R5,R3
650C 9250 0140 STS Set_LD_Value+1,R5
650E 9240 013F STS Set_LD_Value,R4
(0803) LD_PID.SetPoint = Set_LD_Value;
6510 0112 MOVW R2,R4
6511 9230 018D STS LD_PID+1,R3
6513 9220 018C STS LD_PID,R2
(0804) EEPROM_write(EE_Set_LD_AddrL, Set_LD_Value%256);
6515 2D24 MOV R18,R4
6516 7030 ANDI R19,0
6517 E300 LDI R16,0x30
6518 E010 LDI R17,0
6519 940E 831B CALL _EEPROM_write
(0805) EEPROM_write(EE_Set_LD_AddrH, Set_LD_Value/256);
651B 9120 013F LDS R18,Set_LD_Value
651D 9130 0140 LDS R19,Set_LD_Value+1
651F 2F23 MOV R18,R19
6520 2733 CLR R19
6521 E301 LDI R16,0x31
6522 E010 LDI R17,0
6523 940E 831B CALL _EEPROM_write
(0806) Display_TOUCH_MENU();
6525 940E 9710 CALL _Display_TOUCH_MENU
(0807) Display_TOUCH_Message(15);
6527 E00F LDI R16,0xF
6528 940E 97E6 CALL _Display_TOUCH_Message
(0808) Clr_TOUCH_KEY_DISP_F();
652A 9180 0100 LDS R24,FLAG
652C 778F ANDI R24,0x7F
652D 9380 0100 STS FLAG,R24
(0809) SEI();
652F 9478 BSET 7
(0810) break;
6530 940C 7020 JMP 0x7020
(0811) case 1: //浓度周期修改
(0812) CLI();
6532 94F8 BCLR 7
(0813) F_LDZQ_Value= KEY_TEMP[3] * 1000 + KEY_TEMP[2] * 100 +KEY_TEMP[1] * 10 + KEY_TEMP[0];
6533 9020 0148 LDS R2,KEY_TEMP+2
6535 E684 LDI R24,0x64
6536 9D82 MUL R24,R2
6537 0110 MOVW R2,R0
6538 9120 0149 LDS R18,KEY_TEMP+3
653A 2733 CLR R19
653B EE08 LDI R16,0xE8
653C E013 LDI R17,3
653D 940E 9BA2 CALL empy16s
653F 0128 MOVW R4,R16
6540 0C42 ADD R4,R2
6541 1C53 ADC R5,R3
6542 9020 0147 LDS R2,KEY_TEMP+1
6544 E08A LDI R24,0xA
6545 9D82 MUL R24,R2
6546 0C40 ADD R4,R0
6547 1C51 ADC R5,R1
6548 9020 0146 LDS R2,KEY_TEMP
654A 2433 CLR R3
654B 0C42 ADD R4,R2
654C 1C53 ADC R5,R3
654D 9250 0124 STS F_LDZQ_Value+1,R5
654F 9240 0123 STS F_LDZQ_Value,R4
(0814) if(F_LDZQ_Value>4000) F_LDZQ_Value=4000;
6551 EA80 LDI R24,0xA0
6552 E09F LDI R25,0xF
6553 1584 CP R24,R4
6554 0595 CPC R25,R5
6555 F420 BCC 0x655A
6556 9390 0124 STS F_LDZQ_Value+1,R25
6558 9380 0123 STS F_LDZQ_Value,R24
(0815) EEPROM_write(EE_F_LDZQ_AddrL, F_LDZQ_Value%256);
655A 9120 0123 LDS R18,F_LDZQ_Value
655C 7030 ANDI R19,0
655D E308 LDI R16,0x38
655E E010 LDI R17,0
655F 940E 831B CALL _EEPROM_write
(0816) EEPROM_write(EE_F_LDZQ_AddrH, F_LDZQ_Value/256);
6561 9120 0123 LDS R18,F_LDZQ_Value
6563 9130 0124 LDS R19,F_LDZQ_Value+1
6565 2F23 MOV R18,R19
6566 2733 CLR R19
6567 E309 LDI R16,0x39
6568 E010 LDI R17,0
6569 940E 831B CALL _EEPROM_write
(0817) ICR1_TEMP = (unsigned int)(F_LDZQ_Value*16);
656B 9120 0123 LDS R18,F_LDZQ_Value
656D 9130 0124 LDS R19,F_LDZQ_Value+1
656F E100 LDI R16,0x10
6570 E010 LDI R17,0
6571 940E 9BA2 CALL empy16s
6573 9310 010E STS ICR1_TEMP+1,R17
6575 9300 010D STS ICR1_TEMP,R16
(0818) TCNT1 = 0x0000;
6577 2422 CLR R2
6578 2433 CLR R3
6579 BC3D OUT 0x2D,R3
657A BC2C OUT 0x2C,R2
(0819) OCR1A = 0xFFFF;
657B EF8F LDI R24,0xFF
657C EF9F LDI R25,0xFF
657D BD9B OUT 0x2B,R25
657E BD8A OUT 0x2A,R24
(0820) ICR1 = ICR1_TEMP;
657F BD17 OUT 0x27,R17
6580 BD06 OUT 0x26,R16
(0821) Clr_BENG_CON();
6581 98C5 CBI 0x18,5
(0822) TCCR1A = 0xC2;
6582 EC82 LDI R24,0xC2
6583 BD8F OUT 0x2F,R24
(0823) TCCR1B = 0x1C;
6584 E18C LDI R24,0x1C
6585 BD8E OUT 0x2E,R24
(0824) Display_TOUCH_MENU();
6586 940E 9710 CALL _Display_TOUCH_MENU
(0825) Display_TOUCH_Message(15);
6588 E00F LDI R16,0xF
6589 940E 97E6 CALL _Display_TOUCH_Message
(0826) Clr_TOUCH_KEY_DISP_F();
658B 9180 0100 LDS R24,FLAG
658D 778F ANDI R24,0x7F
658E 9380 0100 STS FLAG,R24
(0827) SEI();
6590 9478 BSET 7
(0828) break;
6591 940C 7020 JMP 0x7020
(0829) case 2: //温度周期修改
(0830) CLI();
6593 94F8 BCLR 7
(0831) F_WDZQ_Value= KEY_TEMP[1] * 10 + KEY_TEMP[0];
6594 9020 0147 LDS R2,KEY_TEMP+1
6596 E08A LDI R24,0xA
6597 9D82 MUL R24,R2
6598 9020 0146 LDS R2,KEY_TEMP
659A 2C30 MOV R3,R0
659B 0C32 ADD R3,R2
659C 9230 0125 STS F_WDZQ_Value,R3
(0832) if(F_WDZQ_Value>16) F_LDZQ_Value=16;
659E E180 LDI R24,0x10
659F 1583 CP R24,R3
65A0 F428 BCC 0x65A6
65A1 2799 CLR R25
65A2 9390 0124 STS F_LDZQ_Value+1,R25
65A4 9380 0123 STS F_LDZQ_Value,R24
(0833) EEPROM_write(EE_F_WDZQ_Addr, F_WDZQ_Value);
65A6 9120 0125 LDS R18,F_WDZQ_Value
65A8 E307 LDI R16,0x37
65A9 E010 LDI R17,0
65AA 940E 831B CALL _EEPROM_write
(0834) ICR3_TEMP = (unsigned int)(F_WDZQ_Value*3906);
65AC 9120 0125 LDS R18,F_WDZQ_Value
65AE 2733 CLR R19
65AF E402 LDI R16,0x42
65B0 E01F LDI R17,0xF
65B1 940E 9BA2 CALL empy16s
65B3 9310 010C STS ICR3_TEMP+1,R17
65B5 9300 010B STS ICR3_TEMP,R16
(0835)
(0836) TCNT3 = 0x0000;
65B7 2422 CLR R2
65B8 2433 CLR R3
65B9 9230 0089 STS 0x0089,R3
65BB 9220 0088 STS 0x0088,R2
(0837) OCR3B = 0xFFFF;
65BD EF8F LDI R24,0xFF
65BE EF9F LDI R25,0xFF
65BF 9390 0085 STS 0x0085,R25
65C1 9380 0084 STS 0x0084,R24
(0838) ICR3 = ICR3_TEMP;
65C3 0118 MOVW R2,R16
65C4 9230 0081 STS 0x0081,R3
65C6 9220 0080 STS 0x0080,R2
(0839) TCCR3A = 0x32;
65C8 E382 LDI R24,0x32
65C9 9380 008B STS 0x008B,R24
(0840) TCCR3B = 0x1D;
65CB E18D LDI R24,0x1D
65CC 9380 008A STS 0x008A,R24
(0841) ZhuQi_WenDu_Value = 30;
65CE EB0A LDI R16,0xBA
65CF EC13 LDI R17,0xC3
65D0 940E 9C75 CALL lpm32
65D2 9310 0132 STS ZhuQi_WenDu_Value+1,R17
65D4 9300 0131 STS ZhuQi_WenDu_Value,R16
65D6 9330 0134 STS ZhuQi_WenDu_Value+3,R19
65D8 9320 0133 STS ZhuQi_WenDu_Value+2,R18
(0842) ZhuQi_WenDu_TOT = 0;
65DA 2422 CLR R2
65DB 2433 CLR R3
65DC 9230 0118 STS ZhuQi_WenDu_TOT+1,R3
65DE 9220 0117 STS ZhuQi_WenDu_TOT,R2
(0843)
(0844) Display_TOUCH_MENU();
65E0 940E 9710 CALL _Display_TOUCH_MENU
(0845) Display_TOUCH_Message(15);
65E2 E00F LDI R16,0xF
65E3 940E 97E6 CALL _Display_TOUCH_Message
(0846) Clr_TOUCH_KEY_DISP_F();
65E5 9180 0100 LDS R24,FLAG
65E7 778F ANDI R24,0x7F
65E8 9380 0100 STS FLAG,R24
(0847) SEI();
65EA 9478 BSET 7
(0848) break;
65EB 940C 7020 JMP 0x7020
(0849) case 3: //时间修改
(0850) DS1302_Write(DS1302_CONTROL_Reg,0x00);//关闭写保护
65ED 2722 CLR R18
65EE E80E LDI R16,0x8E
65EF 940E 921F CALL _DS1302_Write
(0851) Hour = (KEY_TEMP[3]<<4) | KEY_TEMP[2];
65F1 9020 0148 LDS R2,KEY_TEMP+2
65F3 9180 0149 LDS R24,KEY_TEMP+3
65F5 708F ANDI R24,0xF
65F6 9582 SWAP R24
65F7 2982 OR R24,R2
65F8 9380 017E STS DataTime+3,R24
(0852) if(Hour>0x23) Hour=0x23;
65FA E283 LDI R24,0x23
65FB 9020 017E LDS R2,DataTime+3
65FD 1582 CP R24,R2
65FE F410 BCC 0x6601
65FF 9380 017E STS DataTime+3,R24
(0853) DS1302_Write(DS1302_HR_Reg,Hour); //时
6601 9120 017E LDS R18,DataTime+3
6603 E804 LDI R16,0x84
6604 940E 921F CALL _DS1302_Write
(0854)
(0855) Minute = (KEY_TEMP[1]<<4) | KEY_TEMP[0];
6606 9020 0146 LDS R2,KEY_TEMP
6608 9180 0147 LDS R24,KEY_TEMP+1
660A 708F ANDI R24,0xF
660B 9582 SWAP R24
660C 2982 OR R24,R2
660D 9380 017F STS 0x017F,R24
(0856) if(Minute>0x59) Minute=0x59;
660F E589 LDI R24,0x59
6610 9020 017F LDS R2,0x017F
6612 1582 CP R24,R2
6613 F410 BCC 0x6616
6614 9380 017F STS 0x017F,R24
(0857) DS1302_Write(DS1302_MIN_Reg,Minute); //分
6616 9120 017F LDS R18,0x017F
6618 E802 LDI R16,0x82
6619 940E 921F CALL _DS1302_Write
(0858) DS1302_Write(DS1302_CONTROL_Reg,0x80);//打开写保护
661B E820 LDI R18,0x80
661C E80E LDI R16,0x8E
661D 940E 921F CALL _DS1302_Write
(0859) Display_TOUCH_MENU();
661F 940E 9710 CALL _Display_TOUCH_MENU
(0860) Display_TOUCH_Message(15);
6621 E00F LDI R16,0xF
6622 940E 97E6 CALL _Display_TOUCH_Message
(0861) Clr_TOUCH_KEY_DISP_F();
6624 9180 0100 LDS R24,FLAG
6626 778F ANDI R24,0x7F
6627 9380 0100 STS FLAG,R24
(0862) break;
6629 940C 7020 JMP 0x7020
(0863) case 4: //浓度PID修改
(0864) CLI();
662B 94F8 BCLR 7
(0865) LD_PID.Proportion = KEY_TEMP[5] * 10 + KEY_TEMP[4];
662C 9020 014B LDS R2,0x014B
662E E08A LDI R24,0xA
662F 9D82 MUL R24,R2
6630 9020 014A LDS R2,0x014A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -