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

📄 m128_alky_touch_con1.lst

📁 m8做的电压检测
💻 LST
📖 第 1 页 / 共 5 页
字号:
    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 + -