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_HYST = 8 ; 1.2 градуса гистерезис
.EQU DEFAULT_TEMP = 300 ; 30 градусов
.EQU DEFAULT_HYST = 5 ; 0.5 градусов гистерезис
.EQU HEAT_MODE = 1
.EQU COOLING_MODE = 0

View File

@ -7,22 +7,22 @@
:10004A000F931F935FB74091670045300CF403C0CC
:10005A00442740936700403081F493989498959888
:10006A000EF002C00BE002C000916500002311F0FF
:10007A00929A01C09298F0D16BD1413081F4929852
:10007A00929A01C09298F8D173D1413081F4929842
:10008A00949895980091640030916500032B11F0C3
:10009A00939A01C0939800916400DED159D14230FD
:1000AA0059F4929893989598949A00916300D4D1B0
:1000BA00002D0F77002E4CD1433041F4929893983B
:1000CA009498959A00916B00C7D142D14395409379
:10009A00939A01C0939800916400E6D161D14230ED
:1000AA0059F4929893989598949A00916300DCD1A8
:1000BA00002D0F77002E54D1433041F49298939833
:1000CA009498959A00916B00CFD14AD14395409369
:1000DA0067005FBF1F910F915F914F9118950FEDC8
:1000EA000DBF0FE701BB01EE07BB0CE108BB02E045
:1000FA0000BF05E003BF09E106BF00E20BBF0CE148
:10010A0000BD11241092670000E00093600006E928
:10011A0000936D0000E000936C0008E000936E000D
:10010A0000BD11241092670000E0009360000CE229
:10011A0000936D0001E000936C0005E000936E000F
:10012A0001E000936F0000270093690000936A00C2
:10013A0000EF00936B00AED000917000083209F412
:10014A0005C012E01093600096D101C090D180E002
:10015A0090E000916000003031F4969863D187D026
:10016A0001E009BF39D0013019F496985BD1FCD06F
:10013A0000EF00936B00B6D000917000083209F40A
:10014A0005C012E0109360009ED101C098D180E0F2
:10015A0090E000916000003031F496986BD18FD016
:10016A0001E009BF39D0013019F4969863D104D15E
:10017A00023079F7969AEDCFEE24FF1841E1001F7D
:10018A00111F4A9509F40895EE1CFF1CE21AF30A9E
:10019A0020F4E20EF31E8894F2CF0894F0CFFF18F1
@ -36,47 +36,48 @@
:10021A0050916C0060916E004F935F937727461B55
:10022A00570BB42EA52E5F914F917727460F571F74
:10023A00D42EC52E0EF004C0009510950F5F1F4FE7
:10024A0040916F00442301F4B016A10624F40D1561
:10025A001C051CF403C0909A01C090987F916F917D
:10026A005F914F913F912F911F910F9108951F9385
:10027A0065D05CE034E34DEF19D15CE034E34DEF37
:10028A0015D112D010916900812F10916A00912F17
:10029A001F9108950F9376D003E3802E88D0A0E7AC
:1002AA00B0E0A6D00F9108950F931F932F933F9319
:1002BA004F9368D00CEC802E7AD00EEB802E77D03C
:1002CA00A9E6B0E095D0AAE6B0E092D01091690014
:1002DA0020916A002F93287F283F11F0E89409C0E3
:1002EA002F9168941095209531E0130F30E0231F69
:1002FA0001C02F912695179526951795269517953E
:10030A0026951795309169000EF43195432F3F7069
:10031A00432F330F330F330F440F340F369536956F
:10032A00369536951093690020936A0030936B00D6
:10033A004F913F912F911F910F9108950F9322D0C2
:10034A000CEC802E34D004E4802E31D00F91089525
:10035A000F930FB800E40EB90BE10DB9769BFDCFF0
:10036A00C09AC0980F9108950F938CD0B29B0196B2
:10037A00B39B0197B49B01C003C000E000936000E7
:10038A000F910895F894B99A33E04EEB8BD0B9984F
:10039A0030E04AE887D005D033E042E383D078944E
:1003AA000895B19B716002C0B1997E7F08950F9341
:1003BA001F93082D18E0069508F458F0F894B99A96
:1003CA0030E046E76FD0B99830E042E16BD07894DC
:1003DA000AC0F894B99A30E04AE064D0B99830E09B
:1003EA004EE760D078941A9531F71F910F910895CE
:1003FA000F931F93002718E0F8940695B99A30E0F6
:10040A004AE050D0B99830E040E14CD0B199006848
:10041A0030E04CE647D01A9581F70C9378941F91F7
:10042A000F910895F8945F9354E0A3E6B0E08093A7
:10043A0061009093620000916100109162002AE0CD
:10044A0030E09ADEED9200936100109362005A95B3
:10045A0091F75F91789408950F931F93E0EEF4E07B
:10046A001127E00FF11F04901F910F910895C59A6B
:10047A0022D0C5980895C59A1ED01DD01CD01BD075
:10048A00C59808950F931F932F932AE01FEF0FEF3C
:10049A000A95F1F71A95D9F72A95C1F72F911F9165
:1004AA000F91089541503040E8F708954150304087
:1004BA005040E0F708950F931F932F9326E00FEF14
:1004CA001FEF1A95F1F70A95D9F72A95C1F72F91D7
:1004DA001F910F910895C0F9A4B0999282F8809063
:0204EA009CBFB5
:10024A00B016A10624F40D151C054CF40FC04091FC
:10025A006F00442311F4909801C0909A07C040910E
:10026A006F00442311F4909A01C090987F916F9186
:10027A005F914F913F912F911F910F9108951F9375
:10028A0065D05CE034E34DEF19D15CE034E34DEF27
:10029A0015D112D010916900812F10916A00912F07
:1002AA001F9108950F9376D003E3802E88D0A0E79C
:1002BA00B0E0A6D00F9108950F931F932F933F9309
:1002CA004F9368D00CEC802E7AD00EEB802E77D02C
:1002DA00A9E6B0E095D0AAE6B0E092D01091690004
:1002EA0020916A002F93287F283F11F0E89409C0D3
:1002FA002F9168941095209531E0130F30E0231F59
:10030A0001C02F912695179526951795269517952D
:10031A0026951795309169000EF43195432F3F7059
:10032A00432F330F330F330F440F340F369536955F
:10033A00369536951093690020936A0030936B00C6
:10034A004F913F912F911F910F9108950F9322D0B2
:10035A000CEC802E34D004E4802E31D00F91089515
:10036A000F930FB800E40EB90BE10DB9769BFDCFE0
:10037A00C09AC0980F9108950F938CD0B29B0196A2
:10038A00B39B0197B49B01C003C000E000936000D7
:10039A000F910895F894B99A33E04EEB8BD0B9983F
:1003AA0030E04AE887D005D033E042E383D078943E
:1003BA000895B19B716002C0B1997E7F08950F9331
:1003CA001F93082D18E0069508F458F0F894B99A86
:1003DA0030E046E76FD0B99830E042E16BD07894CC
:1003EA000AC0F894B99A30E04AE064D0B99830E08B
:1003FA004EE760D078941A9531F71F910F910895BE
:10040A000F931F93002718E0F8940695B99A30E0E5
:10041A004AE050D0B99830E040E14CD0B199006838
:10042A0030E04CE647D01A9581F70C9378941F91E7
:10043A000F910895F8945F9354E0A3E6B0E0809397
:10044A0061009093620000916100109162002AE0BD
:10045A0030E092DEED9200936100109362005A95AB
:10046A0091F75F91789408950F931F93E0EFF4E06A
:10047A001127E00FF11F04901F910F910895C59A5B
:10048A0022D0C5980895C59A1ED01DD01CD01BD065
:10049A00C59808950F931F932F932AE01FEF0FEF2C
:1004AA000A95F1F71A95D9F72A95C1F72F911F9155
:1004BA000F91089541503040E8F708954150304077
:1004CA005040E0F708950F931F932F9326E00FEF04
:1004DA001FEF1A95F1F70A95D9F72A95C1F72F91C7
:1004EA001F910F910895C0F9A4B0999282F8809053
:0204FA009CBFA5
: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
@ -526,14 +526,14 @@ EQU UART_TX_PIN 00000001
EQU MCU_STATE_DEFAULT 00000000
EQU MCU_STATE_PROGRAM 00000001
EQU MCU_STATE_ERROR 00000002
EQU DEFAULT_TEMP 00000096
EQU DEFAULT_HYST 00000008
EQU DEFAULT_TEMP 0000012c
EQU DEFAULT_HYST 00000005
EQU HEAT_MODE 00000001
EQU COOLING_MODE 00000000
EQU DEFAULT_MODE 00000001
EQU DEFAULT_SETTING_TEMP_L 00000096
EQU DEFAULT_SETTING_TEMP_H 00000000
EQU DEFAULT_SETTING_HYST 00000008
EQU DEFAULT_SETTING_TEMP_L 0000002c
EQU DEFAULT_SETTING_TEMP_H 00000001
EQU DEFAULT_SETTING_HYST 00000005
EQU DEFAULT_SETTING_MODE 00000001
DSEG MCU_STATE 00000060
DSEG SRAM_TEMP_1 00000061
@ -558,25 +558,25 @@ CSEG _INTO_PROGRAM_STATE 0000001a
CSEG _CLR_CURRENT_DIGIT 0000002d
CSEG _indicate_1 00000030
CSEG _indicate_2 00000042
CSEG DISPLAY_DECODER 00000231
CSEG USI_TRANSMIT 000001ad
CSEG DISPLAY_DECODER 00000239
CSEG USI_TRANSMIT 000001b5
CSEG _indicate_3 00000054
CSEG _indicate_4 00000061
CSEG _indicate_exit 0000006b
CSEG MCU_INIT 00000076
CSEG RD_F_CODE 0000014f
CSEG RD_F_CODE 00000157
CSEG ERR_FAMILY_CODE 000000a6
CSEG START_PROGRAM 000000ab
CSEG BEEP_LONG 00000240
CSEG BEEP_SHORT 0000023c
CSEG BEEP_LONG 00000248
CSEG BEEP_SHORT 00000244
CSEG LOOP 000000ae
CSEG _STATE_DEFAULT 000000b0
CSEG _STATE_PROGRAM 000000b8
CSEG DISPLAY_UPD_DIGITS 00000217
CSEG TEMP_UPD 0000013c
CSEG DISPLAY_UPD_DIGITS 0000021f
CSEG TEMP_UPD 00000144
CSEG TEMP_COMPARSION 000000f1
CSEG _STATE_ERROR 000000bd
CSEG SW_CHECK_PROCESS 000001b9
CSEG SW_CHECK_PROCESS 000001c1
DEF drem16uL r14
DEF drem16uH r15
DEF dres16uL r16
@ -618,42 +618,41 @@ DEF min_r_trhd_h r10
DEF max_r_trhd_l r13
DEF max_r_trhd_h r12
CSEG _NEGATE_TEMP 00000121
CSEG _CHECK_MODE 00000125
CSEG _HEATING_MODE 00000129
CSEG _HEATING_ON 00000130
CSEG _HEATING_OFF 00000132
CSEG _COMPARSION_EXIT 00000133
CSEG TEMP_CONV 000001a3
CSEG DELAY_LOOP_24 0000025b
CSEG TEMP_RD 00000159
CSEG OW_PRESENCE 000001c7
CSEG OW_SEND_BYTE 000001dc
CSEG OW_RD_BYTE 000001fd
CSEG _TEMP_RD_TO_UNSIGNED 00000175
CSEG _TEMP_RD_CONTINUE 0000017e
CSEG _TEMP_RD_END 00000187
CSEG _USI_TRANSMIT_LOOP 000001b2
CSEG DEBOUNCE_SW 00000247
CSEG _INTO_DEFAULT_STATE 000001c2
CSEG _SW_CHECK_PROCESS_END 000001c5
CSEG DELAY_LOOP_16 00000257
CSEG OW_CHECK_PRESENCE 000001d6
CSEG _EXIT 000001db
CSEG _OW_SEND_BYTE_LOOP 000001e0
CSEG _OW_SEND_0 000001e3
CSEG _OW_SEND_1 000001ee
CSEG _OW_SEND_BYTE_END 000001f8
CSEG _OW_RD_BYTE_LP 00000202
CSEG _COMPARE 00000125
CSEG _MIN_THRESHOLD 0000012c
CSEG _MAX_THRESHOLD 00000134
CSEG _COMPARSION_EXIT 0000013b
CSEG TEMP_CONV 000001ab
CSEG DELAY_LOOP_24 00000263
CSEG TEMP_RD 00000161
CSEG OW_PRESENCE 000001cf
CSEG OW_SEND_BYTE 000001e4
CSEG OW_RD_BYTE 00000205
CSEG _TEMP_RD_TO_UNSIGNED 0000017d
CSEG _TEMP_RD_CONTINUE 00000186
CSEG _TEMP_RD_END 0000018f
CSEG _USI_TRANSMIT_LOOP 000001ba
CSEG DEBOUNCE_SW 0000024f
CSEG _INTO_DEFAULT_STATE 000001ca
CSEG _SW_CHECK_PROCESS_END 000001cd
CSEG DELAY_LOOP_16 0000025f
CSEG OW_CHECK_PRESENCE 000001de
CSEG _EXIT 000001e3
CSEG _OW_SEND_BYTE_LOOP 000001e8
CSEG _OW_SEND_0 000001eb
CSEG _OW_SEND_1 000001f6
CSEG _OW_SEND_BYTE_END 00000200
CSEG _OW_RD_BYTE_LP 0000020a
EQU dividend 00000061
EQU divisor 0000000a
CSEG DIV_LOOP 00000220
CSEG DISPLAY_SYMBOLS 00000270
CSEG DELAY 00000260
CSEG _loop_2 0000024b
CSEG _loop_0 0000024c
CSEG _dec_0 0000024d
CSEG _loop_1 0000024f
CSEG _loop_3 00000251
CSEG _DELAY_0 00000264
CSEG _DELAY_1 00000265
CSEG _DELAY_2 00000266
CSEG DIV_LOOP 00000228
CSEG DISPLAY_SYMBOLS 00000278
CSEG DELAY 00000268
CSEG _loop_2 00000253
CSEG _loop_0 00000254
CSEG _dec_0 00000255
CSEG _loop_1 00000257
CSEG _loop_3 00000259
CSEG _DELAY_0 0000026c
CSEG _DELAY_1 0000026d
CSEG _DELAY_2 0000026e

View File

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

View File

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

View File

@ -3,7 +3,10 @@
<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">
<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/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/definitions.asm</file>
</group>