cooling & heating modes compare

This commit is contained in:
Sergey Yarkov 2023-06-26 09:44:05 +03:00
parent cced58c312
commit 54571b0e23
No known key found for this signature in database
GPG Key ID: E91CE1FABC619B6F
8 changed files with 534 additions and 526 deletions

View File

@ -63,8 +63,8 @@
; **** СТАНДАРТНЫЕ ПАРАМЕТРЫ *********************************** ; **** СТАНДАРТНЫЕ ПАРАМЕТРЫ ***********************************
; Отдельно задается целая и дробная часть в точности до десятых ; Отдельно задается целая и дробная часть в точности до десятых
.EQU DEFAULT_TEMP = 150 ; 30.5 градусов .EQU DEFAULT_TEMP = 300 ; 30 градусов
.EQU DEFAULT_HYST = 8 ; 1.2 градуса гистерезис .EQU DEFAULT_HYST = 5 ; 0.5 градусов гистерезис
.EQU HEAT_MODE = 1 .EQU HEAT_MODE = 1
.EQU COOLING_MODE = 0 .EQU COOLING_MODE = 0

View File

@ -7,22 +7,22 @@
:10004A000F931F935FB74091670045300CF403C0CC :10004A000F931F935FB74091670045300CF403C0CC
:10005A00442740936700403081F493989498959888 :10005A00442740936700403081F493989498959888
:10006A000EF002C00BE002C000916500002311F0FF :10006A000EF002C00BE002C000916500002311F0FF
:10007A00929A01C09298F0D16BD1413081F4929852 :10007A00929A01C09298F8D173D1413081F4929842
:10008A00949895980091640030916500032B11F0C3 :10008A00949895980091640030916500032B11F0C3
:10009A00939A01C0939800916400DED159D14230FD :10009A00939A01C0939800916400E6D161D14230ED
:1000AA0059F4929893989598949A00916300D4D1B0 :1000AA0059F4929893989598949A00916300DCD1A8
:1000BA00002D0F77002E4CD1433041F4929893983B :1000BA00002D0F77002E54D1433041F49298939833
:1000CA009498959A00916B00C7D142D14395409379 :1000CA009498959A00916B00CFD14AD14395409369
:1000DA0067005FBF1F910F915F914F9118950FEDC8 :1000DA0067005FBF1F910F915F914F9118950FEDC8
:1000EA000DBF0FE701BB01EE07BB0CE108BB02E045 :1000EA000DBF0FE701BB01EE07BB0CE108BB02E045
:1000FA0000BF05E003BF09E106BF00E20BBF0CE148 :1000FA0000BF05E003BF09E106BF00E20BBF0CE148
:10010A0000BD11241092670000E00093600006E928 :10010A0000BD11241092670000E0009360000CE229
:10011A0000936D0000E000936C0008E000936E000D :10011A0000936D0001E000936C0005E000936E000F
:10012A0001E000936F0000270093690000936A00C2 :10012A0001E000936F0000270093690000936A00C2
:10013A0000EF00936B00AED000917000083209F412 :10013A0000EF00936B00B6D000917000083209F40A
:10014A0005C012E01093600096D101C090D180E002 :10014A0005C012E0109360009ED101C098D180E0F2
:10015A0090E000916000003031F4969863D187D026 :10015A0090E000916000003031F496986BD18FD016
:10016A0001E009BF39D0013019F496985BD1FCD06F :10016A0001E009BF39D0013019F4969863D104D15E
:10017A00023079F7969AEDCFEE24FF1841E1001F7D :10017A00023079F7969AEDCFEE24FF1841E1001F7D
:10018A00111F4A9509F40895EE1CFF1CE21AF30A9E :10018A00111F4A9509F40895EE1CFF1CE21AF30A9E
:10019A0020F4E20EF31E8894F2CF0894F0CFFF18F1 :10019A0020F4E20EF31E8894F2CF0894F0CFFF18F1
@ -36,47 +36,48 @@
:10021A0050916C0060916E004F935F937727461B55 :10021A0050916C0060916E004F935F937727461B55
:10022A00570BB42EA52E5F914F917727460F571F74 :10022A00570BB42EA52E5F914F917727460F571F74
:10023A00D42EC52E0EF004C0009510950F5F1F4FE7 :10023A00D42EC52E0EF004C0009510950F5F1F4FE7
:10024A0040916F00442301F4B016A10624F40D1561 :10024A00B016A10624F40D151C054CF40FC04091FC
:10025A001C051CF403C0909A01C090987F916F917D :10025A006F00442311F4909801C0909A07C040910E
:10026A005F914F913F912F911F910F9108951F9385 :10026A006F00442311F4909A01C090987F916F9186
:10027A0065D05CE034E34DEF19D15CE034E34DEF37 :10027A005F914F913F912F911F910F9108951F9375
:10028A0015D112D010916900812F10916A00912F17 :10028A0065D05CE034E34DEF19D15CE034E34DEF27
:10029A001F9108950F9376D003E3802E88D0A0E7AC :10029A0015D112D010916900812F10916A00912F07
:1002AA00B0E0A6D00F9108950F931F932F933F9319 :1002AA001F9108950F9376D003E3802E88D0A0E79C
:1002BA004F9368D00CEC802E7AD00EEB802E77D03C :1002BA00B0E0A6D00F9108950F931F932F933F9309
:1002CA00A9E6B0E095D0AAE6B0E092D01091690014 :1002CA004F9368D00CEC802E7AD00EEB802E77D02C
:1002DA0020916A002F93287F283F11F0E89409C0E3 :1002DA00A9E6B0E095D0AAE6B0E092D01091690004
:1002EA002F9168941095209531E0130F30E0231F69 :1002EA0020916A002F93287F283F11F0E89409C0D3
:1002FA0001C02F912695179526951795269517953E :1002FA002F9168941095209531E0130F30E0231F59
:10030A0026951795309169000EF43195432F3F7069 :10030A0001C02F912695179526951795269517952D
:10031A00432F330F330F330F440F340F369536956F :10031A0026951795309169000EF43195432F3F7059
:10032A00369536951093690020936A0030936B00D6 :10032A00432F330F330F330F440F340F369536955F
:10033A004F913F912F911F910F9108950F9322D0C2 :10033A00369536951093690020936A0030936B00C6
:10034A000CEC802E34D004E4802E31D00F91089525 :10034A004F913F912F911F910F9108950F9322D0B2
:10035A000F930FB800E40EB90BE10DB9769BFDCFF0 :10035A000CEC802E34D004E4802E31D00F91089515
:10036A00C09AC0980F9108950F938CD0B29B0196B2 :10036A000F930FB800E40EB90BE10DB9769BFDCFE0
:10037A00B39B0197B49B01C003C000E000936000E7 :10037A00C09AC0980F9108950F938CD0B29B0196A2
:10038A000F910895F894B99A33E04EEB8BD0B9984F :10038A00B39B0197B49B01C003C000E000936000D7
:10039A0030E04AE887D005D033E042E383D078944E :10039A000F910895F894B99A33E04EEB8BD0B9983F
:1003AA000895B19B716002C0B1997E7F08950F9341 :1003AA0030E04AE887D005D033E042E383D078943E
:1003BA001F93082D18E0069508F458F0F894B99A96 :1003BA000895B19B716002C0B1997E7F08950F9331
:1003CA0030E046E76FD0B99830E042E16BD07894DC :1003CA001F93082D18E0069508F458F0F894B99A86
:1003DA000AC0F894B99A30E04AE064D0B99830E09B :1003DA0030E046E76FD0B99830E042E16BD07894CC
:1003EA004EE760D078941A9531F71F910F910895CE :1003EA000AC0F894B99A30E04AE064D0B99830E08B
:1003FA000F931F93002718E0F8940695B99A30E0F6 :1003FA004EE760D078941A9531F71F910F910895BE
:10040A004AE050D0B99830E040E14CD0B199006848 :10040A000F931F93002718E0F8940695B99A30E0E5
:10041A0030E04CE647D01A9581F70C9378941F91F7 :10041A004AE050D0B99830E040E14CD0B199006838
:10042A000F910895F8945F9354E0A3E6B0E08093A7 :10042A0030E04CE647D01A9581F70C9378941F91E7
:10043A0061009093620000916100109162002AE0CD :10043A000F910895F8945F9354E0A3E6B0E0809397
:10044A0030E09ADEED9200936100109362005A95B3 :10044A0061009093620000916100109162002AE0BD
:10045A0091F75F91789408950F931F93E0EEF4E07B :10045A0030E092DEED9200936100109362005A95AB
:10046A001127E00FF11F04901F910F910895C59A6B :10046A0091F75F91789408950F931F93E0EFF4E06A
:10047A0022D0C5980895C59A1ED01DD01CD01BD075 :10047A001127E00FF11F04901F910F910895C59A5B
:10048A00C59808950F931F932F932AE01FEF0FEF3C :10048A0022D0C5980895C59A1ED01DD01CD01BD065
:10049A000A95F1F71A95D9F72A95C1F72F911F9165 :10049A00C59808950F931F932F932AE01FEF0FEF2C
:1004AA000F91089541503040E8F708954150304087 :1004AA000A95F1F71A95D9F72A95C1F72F911F9155
:1004BA005040E0F708950F931F932F9326E00FEF14 :1004BA000F91089541503040E8F708954150304077
:1004CA001FEF1A95F1F70A95D9F72A95C1F72F91D7 :1004CA005040E0F708950F931F932F9326E00FEF04
:1004DA001F910F910895C0F9A4B0999282F8809063 :1004DA001FEF1A95F1F70A95D9F72A95C1F72F91C7
:0204EA009CBFB5 :1004EA001F910F910895C0F9A4B0999282F8809053
:0204FA009CBFA5
:00000001FF :00000001FF

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
AVRASM ver. 2.2.7 main.asm Sun Jun 25 23:20:09 2023 AVRASM ver. 2.2.7 main.asm Mon Jun 26 09:43:03 2023
EQU SIGNATURE_000 0000001e EQU SIGNATURE_000 0000001e
@ -526,14 +526,14 @@ EQU UART_TX_PIN 00000001
EQU MCU_STATE_DEFAULT 00000000 EQU MCU_STATE_DEFAULT 00000000
EQU MCU_STATE_PROGRAM 00000001 EQU MCU_STATE_PROGRAM 00000001
EQU MCU_STATE_ERROR 00000002 EQU MCU_STATE_ERROR 00000002
EQU DEFAULT_TEMP 00000096 EQU DEFAULT_TEMP 0000012c
EQU DEFAULT_HYST 00000008 EQU DEFAULT_HYST 00000005
EQU HEAT_MODE 00000001 EQU HEAT_MODE 00000001
EQU COOLING_MODE 00000000 EQU COOLING_MODE 00000000
EQU DEFAULT_MODE 00000001 EQU DEFAULT_MODE 00000001
EQU DEFAULT_SETTING_TEMP_L 00000096 EQU DEFAULT_SETTING_TEMP_L 0000002c
EQU DEFAULT_SETTING_TEMP_H 00000000 EQU DEFAULT_SETTING_TEMP_H 00000001
EQU DEFAULT_SETTING_HYST 00000008 EQU DEFAULT_SETTING_HYST 00000005
EQU DEFAULT_SETTING_MODE 00000001 EQU DEFAULT_SETTING_MODE 00000001
DSEG MCU_STATE 00000060 DSEG MCU_STATE 00000060
DSEG SRAM_TEMP_1 00000061 DSEG SRAM_TEMP_1 00000061
@ -558,25 +558,25 @@ CSEG _INTO_PROGRAM_STATE 0000001a
CSEG _CLR_CURRENT_DIGIT 0000002d CSEG _CLR_CURRENT_DIGIT 0000002d
CSEG _indicate_1 00000030 CSEG _indicate_1 00000030
CSEG _indicate_2 00000042 CSEG _indicate_2 00000042
CSEG DISPLAY_DECODER 00000231 CSEG DISPLAY_DECODER 00000239
CSEG USI_TRANSMIT 000001ad CSEG USI_TRANSMIT 000001b5
CSEG _indicate_3 00000054 CSEG _indicate_3 00000054
CSEG _indicate_4 00000061 CSEG _indicate_4 00000061
CSEG _indicate_exit 0000006b CSEG _indicate_exit 0000006b
CSEG MCU_INIT 00000076 CSEG MCU_INIT 00000076
CSEG RD_F_CODE 0000014f CSEG RD_F_CODE 00000157
CSEG ERR_FAMILY_CODE 000000a6 CSEG ERR_FAMILY_CODE 000000a6
CSEG START_PROGRAM 000000ab CSEG START_PROGRAM 000000ab
CSEG BEEP_LONG 00000240 CSEG BEEP_LONG 00000248
CSEG BEEP_SHORT 0000023c CSEG BEEP_SHORT 00000244
CSEG LOOP 000000ae CSEG LOOP 000000ae
CSEG _STATE_DEFAULT 000000b0 CSEG _STATE_DEFAULT 000000b0
CSEG _STATE_PROGRAM 000000b8 CSEG _STATE_PROGRAM 000000b8
CSEG DISPLAY_UPD_DIGITS 00000217 CSEG DISPLAY_UPD_DIGITS 0000021f
CSEG TEMP_UPD 0000013c CSEG TEMP_UPD 00000144
CSEG TEMP_COMPARSION 000000f1 CSEG TEMP_COMPARSION 000000f1
CSEG _STATE_ERROR 000000bd CSEG _STATE_ERROR 000000bd
CSEG SW_CHECK_PROCESS 000001b9 CSEG SW_CHECK_PROCESS 000001c1
DEF drem16uL r14 DEF drem16uL r14
DEF drem16uH r15 DEF drem16uH r15
DEF dres16uL r16 DEF dres16uL r16
@ -618,42 +618,41 @@ DEF min_r_trhd_h r10
DEF max_r_trhd_l r13 DEF max_r_trhd_l r13
DEF max_r_trhd_h r12 DEF max_r_trhd_h r12
CSEG _NEGATE_TEMP 00000121 CSEG _NEGATE_TEMP 00000121
CSEG _CHECK_MODE 00000125 CSEG _COMPARE 00000125
CSEG _HEATING_MODE 00000129 CSEG _MIN_THRESHOLD 0000012c
CSEG _HEATING_ON 00000130 CSEG _MAX_THRESHOLD 00000134
CSEG _HEATING_OFF 00000132 CSEG _COMPARSION_EXIT 0000013b
CSEG _COMPARSION_EXIT 00000133 CSEG TEMP_CONV 000001ab
CSEG TEMP_CONV 000001a3 CSEG DELAY_LOOP_24 00000263
CSEG DELAY_LOOP_24 0000025b CSEG TEMP_RD 00000161
CSEG TEMP_RD 00000159 CSEG OW_PRESENCE 000001cf
CSEG OW_PRESENCE 000001c7 CSEG OW_SEND_BYTE 000001e4
CSEG OW_SEND_BYTE 000001dc CSEG OW_RD_BYTE 00000205
CSEG OW_RD_BYTE 000001fd CSEG _TEMP_RD_TO_UNSIGNED 0000017d
CSEG _TEMP_RD_TO_UNSIGNED 00000175 CSEG _TEMP_RD_CONTINUE 00000186
CSEG _TEMP_RD_CONTINUE 0000017e CSEG _TEMP_RD_END 0000018f
CSEG _TEMP_RD_END 00000187 CSEG _USI_TRANSMIT_LOOP 000001ba
CSEG _USI_TRANSMIT_LOOP 000001b2 CSEG DEBOUNCE_SW 0000024f
CSEG DEBOUNCE_SW 00000247 CSEG _INTO_DEFAULT_STATE 000001ca
CSEG _INTO_DEFAULT_STATE 000001c2 CSEG _SW_CHECK_PROCESS_END 000001cd
CSEG _SW_CHECK_PROCESS_END 000001c5 CSEG DELAY_LOOP_16 0000025f
CSEG DELAY_LOOP_16 00000257 CSEG OW_CHECK_PRESENCE 000001de
CSEG OW_CHECK_PRESENCE 000001d6 CSEG _EXIT 000001e3
CSEG _EXIT 000001db CSEG _OW_SEND_BYTE_LOOP 000001e8
CSEG _OW_SEND_BYTE_LOOP 000001e0 CSEG _OW_SEND_0 000001eb
CSEG _OW_SEND_0 000001e3 CSEG _OW_SEND_1 000001f6
CSEG _OW_SEND_1 000001ee CSEG _OW_SEND_BYTE_END 00000200
CSEG _OW_SEND_BYTE_END 000001f8 CSEG _OW_RD_BYTE_LP 0000020a
CSEG _OW_RD_BYTE_LP 00000202
EQU dividend 00000061 EQU dividend 00000061
EQU divisor 0000000a EQU divisor 0000000a
CSEG DIV_LOOP 00000220 CSEG DIV_LOOP 00000228
CSEG DISPLAY_SYMBOLS 00000270 CSEG DISPLAY_SYMBOLS 00000278
CSEG DELAY 00000260 CSEG DELAY 00000268
CSEG _loop_2 0000024b CSEG _loop_2 00000253
CSEG _loop_0 0000024c CSEG _loop_0 00000254
CSEG _dec_0 0000024d CSEG _dec_0 00000255
CSEG _loop_1 0000024f CSEG _loop_1 00000257
CSEG _loop_3 00000251 CSEG _loop_3 00000259
CSEG _DELAY_0 00000264 CSEG _DELAY_0 0000026c
CSEG _DELAY_1 00000265 CSEG _DELAY_1 0000026d
CSEG _DELAY_2 00000266 CSEG _DELAY_2 0000026e

View File

@ -49,25 +49,25 @@
<_CLR_CURRENT_DIGIT><FILE>main.asm</FILE><LINE>108</LINE></_CLR_CURRENT_DIGIT> <_CLR_CURRENT_DIGIT><FILE>main.asm</FILE><LINE>108</LINE></_CLR_CURRENT_DIGIT>
<_indicate_1><FILE>main.asm</FILE><LINE>112</LINE></_indicate_1> <_indicate_1><FILE>main.asm</FILE><LINE>112</LINE></_indicate_1>
<_indicate_2><FILE>main.asm</FILE><LINE>132</LINE></_indicate_2> <_indicate_2><FILE>main.asm</FILE><LINE>132</LINE></_indicate_2>
<DISPLAY_DECODER><FILE>main.asm</FILE><LINE>740</LINE></DISPLAY_DECODER> <DISPLAY_DECODER><FILE>main.asm</FILE><LINE>741</LINE></DISPLAY_DECODER>
<USI_TRANSMIT><FILE>main.asm</FILE><LINE>553</LINE></USI_TRANSMIT> <USI_TRANSMIT><FILE>main.asm</FILE><LINE>554</LINE></USI_TRANSMIT>
<_indicate_3><FILE>main.asm</FILE><LINE>150</LINE></_indicate_3> <_indicate_3><FILE>main.asm</FILE><LINE>150</LINE></_indicate_3>
<_indicate_4><FILE>main.asm</FILE><LINE>166</LINE></_indicate_4> <_indicate_4><FILE>main.asm</FILE><LINE>166</LINE></_indicate_4>
<_indicate_exit><FILE>main.asm</FILE><LINE>178</LINE></_indicate_exit> <_indicate_exit><FILE>main.asm</FILE><LINE>178</LINE></_indicate_exit>
<MCU_INIT><FILE>main.asm</FILE><LINE>197</LINE></MCU_INIT> <MCU_INIT><FILE>main.asm</FILE><LINE>197</LINE></MCU_INIT>
<RD_F_CODE><FILE>main.asm</FILE><LINE>425</LINE></RD_F_CODE> <RD_F_CODE><FILE>main.asm</FILE><LINE>426</LINE></RD_F_CODE>
<ERR_FAMILY_CODE><FILE>main.asm</FILE><LINE>253</LINE></ERR_FAMILY_CODE> <ERR_FAMILY_CODE><FILE>main.asm</FILE><LINE>253</LINE></ERR_FAMILY_CODE>
<START_PROGRAM><FILE>main.asm</FILE><LINE>258</LINE></START_PROGRAM> <START_PROGRAM><FILE>main.asm</FILE><LINE>258</LINE></START_PROGRAM>
<BEEP_LONG><FILE>main.asm</FILE><LINE>764</LINE></BEEP_LONG> <BEEP_LONG><FILE>main.asm</FILE><LINE>765</LINE></BEEP_LONG>
<BEEP_SHORT><FILE>main.asm</FILE><LINE>756</LINE></BEEP_SHORT> <BEEP_SHORT><FILE>main.asm</FILE><LINE>757</LINE></BEEP_SHORT>
<LOOP><FILE>main.asm</FILE><LINE>267</LINE></LOOP> <LOOP><FILE>main.asm</FILE><LINE>267</LINE></LOOP>
<_STATE_DEFAULT><FILE>main.asm</FILE><LINE>271</LINE></_STATE_DEFAULT> <_STATE_DEFAULT><FILE>main.asm</FILE><LINE>271</LINE></_STATE_DEFAULT>
<_STATE_PROGRAM><FILE>main.asm</FILE><LINE>279</LINE></_STATE_PROGRAM> <_STATE_PROGRAM><FILE>main.asm</FILE><LINE>279</LINE></_STATE_PROGRAM>
<DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>699</LINE></DISPLAY_UPD_DIGITS> <DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>700</LINE></DISPLAY_UPD_DIGITS>
<TEMP_UPD><FILE>main.asm</FILE><LINE>408</LINE></TEMP_UPD> <TEMP_UPD><FILE>main.asm</FILE><LINE>409</LINE></TEMP_UPD>
<TEMP_COMPARSION><FILE>main.asm</FILE><LINE>298</LINE></TEMP_COMPARSION> <TEMP_COMPARSION><FILE>main.asm</FILE><LINE>298</LINE></TEMP_COMPARSION>
<_STATE_ERROR><FILE>main.asm</FILE><LINE>285</LINE></_STATE_ERROR> <_STATE_ERROR><FILE>main.asm</FILE><LINE>285</LINE></_STATE_ERROR>
<SW_CHECK_PROCESS><FILE>main.asm</FILE><LINE>584</LINE></SW_CHECK_PROCESS> <SW_CHECK_PROCESS><FILE>main.asm</FILE><LINE>585</LINE></SW_CHECK_PROCESS>
<div16u><FILE>div16u.asm</FILE><LINE>32</LINE></div16u> <div16u><FILE>div16u.asm</FILE><LINE>32</LINE></div16u>
<d16u_1><FILE>div16u.asm</FILE><LINE>36</LINE></d16u_1> <d16u_1><FILE>div16u.asm</FILE><LINE>36</LINE></d16u_1>
<d16u_2><FILE>div16u.asm</FILE><LINE>42</LINE></d16u_2> <d16u_2><FILE>div16u.asm</FILE><LINE>42</LINE></d16u_2>
@ -79,43 +79,42 @@
<mpy16u><FILE>mpy16u.asm</FILE><LINE>31</LINE></mpy16u> <mpy16u><FILE>mpy16u.asm</FILE><LINE>31</LINE></mpy16u>
<m16u_1><FILE>mpy16u.asm</FILE><LINE>37</LINE></m16u_1> <m16u_1><FILE>mpy16u.asm</FILE><LINE>37</LINE></m16u_1>
<noad8><FILE>mpy16u.asm</FILE><LINE>40</LINE></noad8> <noad8><FILE>mpy16u.asm</FILE><LINE>40</LINE></noad8>
<_NEGATE_TEMP><FILE>main.asm</FILE><LINE>364</LINE></_NEGATE_TEMP> <_NEGATE_TEMP><FILE>main.asm</FILE><LINE>365</LINE></_NEGATE_TEMP>
<_CHECK_MODE><FILE>main.asm</FILE><LINE>370</LINE></_CHECK_MODE> <_COMPARE><FILE>main.asm</FILE><LINE>371</LINE></_COMPARE>
<_HEATING_MODE><FILE>main.asm</FILE><LINE>381</LINE></_HEATING_MODE> <_MIN_THRESHOLD><FILE>main.asm</FILE><LINE>381</LINE></_MIN_THRESHOLD>
<_HEATING_ON><FILE>main.asm</FILE><LINE>391</LINE></_HEATING_ON> <_MAX_THRESHOLD><FILE>main.asm</FILE><LINE>390</LINE></_MAX_THRESHOLD>
<_HEATING_OFF><FILE>main.asm</FILE><LINE>394</LINE></_HEATING_OFF> <_COMPARSION_EXIT><FILE>main.asm</FILE><LINE>397</LINE></_COMPARSION_EXIT>
<_COMPARSION_EXIT><FILE>main.asm</FILE><LINE>396</LINE></_COMPARSION_EXIT> <TEMP_CONV><FILE>main.asm</FILE><LINE>534</LINE></TEMP_CONV>
<TEMP_CONV><FILE>main.asm</FILE><LINE>533</LINE></TEMP_CONV> <DELAY_LOOP_24><FILE>main.asm</FILE><LINE>809</LINE></DELAY_LOOP_24>
<DELAY_LOOP_24><FILE>main.asm</FILE><LINE>808</LINE></DELAY_LOOP_24> <TEMP_RD><FILE>main.asm</FILE><LINE>442</LINE></TEMP_RD>
<TEMP_RD><FILE>main.asm</FILE><LINE>441</LINE></TEMP_RD> <OW_PRESENCE><FILE>main.asm</FILE><LINE>609</LINE></OW_PRESENCE>
<OW_PRESENCE><FILE>main.asm</FILE><LINE>608</LINE></OW_PRESENCE> <OW_SEND_BYTE><FILE>main.asm</FILE><LINE>636</LINE></OW_SEND_BYTE>
<OW_SEND_BYTE><FILE>main.asm</FILE><LINE>635</LINE></OW_SEND_BYTE> <OW_RD_BYTE><FILE>main.asm</FILE><LINE>669</LINE></OW_RD_BYTE>
<OW_RD_BYTE><FILE>main.asm</FILE><LINE>668</LINE></OW_RD_BYTE> <_TEMP_RD_TO_UNSIGNED><FILE>main.asm</FILE><LINE>477</LINE></_TEMP_RD_TO_UNSIGNED>
<_TEMP_RD_TO_UNSIGNED><FILE>main.asm</FILE><LINE>476</LINE></_TEMP_RD_TO_UNSIGNED> <_TEMP_RD_CONTINUE><FILE>main.asm</FILE><LINE>488</LINE></_TEMP_RD_CONTINUE>
<_TEMP_RD_CONTINUE><FILE>main.asm</FILE><LINE>487</LINE></_TEMP_RD_CONTINUE> <_TEMP_RD_END><FILE>main.asm</FILE><LINE>498</LINE></_TEMP_RD_END>
<_TEMP_RD_END><FILE>main.asm</FILE><LINE>497</LINE></_TEMP_RD_END> <_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>572</LINE></_USI_TRANSMIT_LOOP>
<_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>571</LINE></_USI_TRANSMIT_LOOP> <DEBOUNCE_SW><FILE>main.asm</FILE><LINE>775</LINE></DEBOUNCE_SW>
<DEBOUNCE_SW><FILE>main.asm</FILE><LINE>774</LINE></DEBOUNCE_SW> <_INTO_DEFAULT_STATE><FILE>main.asm</FILE><LINE>598</LINE></_INTO_DEFAULT_STATE>
<_INTO_DEFAULT_STATE><FILE>main.asm</FILE><LINE>597</LINE></_INTO_DEFAULT_STATE> <_SW_CHECK_PROCESS_END><FILE>main.asm</FILE><LINE>601</LINE></_SW_CHECK_PROCESS_END>
<_SW_CHECK_PROCESS_END><FILE>main.asm</FILE><LINE>600</LINE></_SW_CHECK_PROCESS_END> <DELAY_LOOP_16><FILE>main.asm</FILE><LINE>801</LINE></DELAY_LOOP_16>
<DELAY_LOOP_16><FILE>main.asm</FILE><LINE>800</LINE></DELAY_LOOP_16> <OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>625</LINE></OW_CHECK_PRESENCE>
<OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>624</LINE></OW_CHECK_PRESENCE> <_EXIT><FILE>main.asm</FILE><LINE>631</LINE></_EXIT>
<_EXIT><FILE>main.asm</FILE><LINE>630</LINE></_EXIT> <_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>641</LINE></_OW_SEND_BYTE_LOOP>
<_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>640</LINE></_OW_SEND_BYTE_LOOP> <_OW_SEND_0><FILE>main.asm</FILE><LINE>645</LINE></_OW_SEND_0>
<_OW_SEND_0><FILE>main.asm</FILE><LINE>644</LINE></_OW_SEND_0> <_OW_SEND_1><FILE>main.asm</FILE><LINE>653</LINE></_OW_SEND_1>
<_OW_SEND_1><FILE>main.asm</FILE><LINE>652</LINE></_OW_SEND_1> <_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>660</LINE></_OW_SEND_BYTE_END>
<_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>659</LINE></_OW_SEND_BYTE_END> <_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>675</LINE></_OW_RD_BYTE_LP>
<_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>674</LINE></_OW_RD_BYTE_LP> <DIV_LOOP><FILE>main.asm</FILE><LINE>717</LINE></DIV_LOOP>
<DIV_LOOP><FILE>main.asm</FILE><LINE>716</LINE></DIV_LOOP> <DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>843</LINE></DISPLAY_SYMBOLS>
<DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>842</LINE></DISPLAY_SYMBOLS> <DELAY><FILE>main.asm</FILE><LINE>818</LINE></DELAY>
<DELAY><FILE>main.asm</FILE><LINE>817</LINE></DELAY> <_loop_2><FILE>main.asm</FILE><LINE>781</LINE></_loop_2>
<_loop_2><FILE>main.asm</FILE><LINE>780</LINE></_loop_2> <_loop_0><FILE>main.asm</FILE><LINE>783</LINE></_loop_0>
<_loop_0><FILE>main.asm</FILE><LINE>782</LINE></_loop_0> <_dec_0><FILE>main.asm</FILE><LINE>785</LINE></_dec_0>
<_dec_0><FILE>main.asm</FILE><LINE>784</LINE></_dec_0> <_loop_1><FILE>main.asm</FILE><LINE>788</LINE></_loop_1>
<_loop_1><FILE>main.asm</FILE><LINE>787</LINE></_loop_1> <_loop_3><FILE>main.asm</FILE><LINE>791</LINE></_loop_3>
<_loop_3><FILE>main.asm</FILE><LINE>790</LINE></_loop_3> <_DELAY_0><FILE>main.asm</FILE><LINE>824</LINE></_DELAY_0>
<_DELAY_0><FILE>main.asm</FILE><LINE>823</LINE></_DELAY_0> <_DELAY_1><FILE>main.asm</FILE><LINE>826</LINE></_DELAY_1>
<_DELAY_1><FILE>main.asm</FILE><LINE>825</LINE></_DELAY_1> <_DELAY_2><FILE>main.asm</FILE><LINE>828</LINE></_DELAY_2>
<_DELAY_2><FILE>main.asm</FILE><LINE>827</LINE></_DELAY_2>
</LABELS> </LABELS>
</ASSEMBLER_INFO> </ASSEMBLER_INFO>

View File

@ -360,7 +360,7 @@ TEMP_COMPARSION:
; определяем знак температуры ; определяем знак температуры
brts _NEGATE_TEMP brts _NEGATE_TEMP
rjmp _CHECK_MODE rjmp _COMPARE
_NEGATE_TEMP: _NEGATE_TEMP:
com temp_r_l com temp_r_l
@ -368,26 +368,31 @@ _NEGATE_TEMP:
subi temp_r_l, low(-1) subi temp_r_l, low(-1)
sbci temp_r_h, high(-1) sbci temp_r_h, high(-1)
_CHECK_MODE: _COMPARE:
; определяем режим работы
lds r20, SETTING_MODE
tst r20
brne _HEATING_MODE
_HEATING_MODE:
; проверяем нижний порог ; проверяем нижний порог
cp min_r_trhd_l, temp_r_l cp min_r_trhd_l, temp_r_l
cpc min_r_trhd_h, temp_r_h cpc min_r_trhd_h, temp_r_h
brge _HEATING_ON ; TEMP <= MIN brge _MIN_THRESHOLD ; TEMP <= MIN
; проверяем верхний порог ; проверяем верхний порог
cp temp_r_l, max_r_trhd_l cp temp_r_l, max_r_trhd_l
cpc temp_r_h, max_r_trhd_h cpc temp_r_h, max_r_trhd_h
brge _HEATING_OFF ; TEMP >= TOP brge _MAX_THRESHOLD ; TEMP >= TOP
rjmp _COMPARSION_EXIT rjmp _COMPARSION_EXIT
_HEATING_ON: _MIN_THRESHOLD:
; определяем режим работы
lds r20, SETTING_MODE
tst r20
brne PC+3
relay_off
rjmp PC+2
relay_on relay_on
rjmp _COMPARSION_EXIT rjmp _COMPARSION_EXIT
_HEATING_OFF: _MAX_THRESHOLD:
lds r20, SETTING_MODE
tst r20
brne PC+3
relay_on
rjmp PC+2
relay_off relay_off
_COMPARSION_EXIT: _COMPARSION_EXIT:
pop r23 pop r23

View File

@ -3,7 +3,10 @@
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="1"/> <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="1"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group> <group>
<file>file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny2313a_thermostat.X/mpy16u.asm</file>
<file>file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny2313a_thermostat.X/NOTES.md</file>
<file>file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny2313a_thermostat.X/main.asm</file> <file>file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny2313a_thermostat.X/main.asm</file>
<file>file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny2313a_thermostat.X/README.md</file>
<file>file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny2313a_thermostat.X/macros.asm</file> <file>file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny2313a_thermostat.X/macros.asm</file>
<file>file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny2313a_thermostat.X/definitions.asm</file> <file>file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny2313a_thermostat.X/definitions.asm</file>
</group> </group>