This commit is contained in:
Sergey Yarkov 2023-07-01 14:47:18 +03:00
parent 82795afc13
commit 8ab7e43d8c
No known key found for this signature in database
GPG Key ID: E91CE1FABC619B6F
8 changed files with 1319 additions and 1298 deletions

View File

@ -1,127 +1,128 @@
:020000020000FC :020000020000FC
:020000006CC0D2 :0200000071C0CD
:02000800189549 :02000800189549
:0200160002C026 :0200160002C026
:10001A000DC00F931F930FB716B31C7019F411E09C :10001A0012C00F931F930FB716B31C7041F41091BF
:10002A00109360000FBF1F910F9118950F931F93A4 :10002A006000103009F003C011E0109360000FBFA8
:10003A002F933F934F935F935FB74091670045308B :10003A001F910F9118950F931F932F933F934F93EF
:10004A000CF403C0442740936700403081F493982E :10004A005F935FB74091670045300CF403C04427C3
:10005A00949895980EF002C00BE002C000916500DA :10005A0040936700403081F49398949895980EF0F5
:10006A00002311F0929A01C0929856D302D24130DD :10006A0002C00BE002C000916500002311F0929AD1
:10007A0081F4929894989598009164003091650063 :10007A0001C0929856D302D2413081F49298949852
:10008A00032B11F0939A01C093980091640044D312 :10008A0095980091640030916500032B11F0939AC2
:10009A00F0D1423041F4929893989598949A0091AD :10009A0001C093980091640044D3F0D1423041F4F6
:1000AA0063003AD3E6D1433041F4929893989498F6 :1000AA00929893989598949A009163003AD3E6D1DE
:1000BA00959A0091660030D3DCD14395409367004E :1000BA00433041F4929893989498959A00916600E7
:1000CA005FBF5F914F913F912F911F910F911895AB :1000CA0030D3DCD14395409367005FBF5F914F9176
:1000DA000FED0DBF0FE701BB01EE07BB0CE108BB3B :1000DA003F912F911F910F9118950FED0DBF0FE7CB
:1000EA0002E000BF05E003BF03E206BF00E20BBF68 :1000EA0001BB01EE07BB0CE108BB02E000BF05E063
:1000FA000CE100BD03E309B900E002B908E00AB95E :1000FA0003BF03E206BF00E20BBF0CE100BD03E34E
:10010A0006E003B911241092670000E00093600032 :10010A0009B900E002B908E00AB906E003B9112406
:10011A0004E0302EEAD0042D003111F09CD014C036 :10011A001092670000E00093600004E0302EEAD0FD
:10012A0000E0302EE2D040926B0001E0302EDDD0AC :10012A00042D003111F09CD014C000E0302EE2D032
:10013A0040926C0002E0302ED8D040926D0003E06D :10013A0040926B0001E0302EDDD040926C0002E06C
:10014A00302ED3D040926E000027009368000093AF :10014A00302ED8D040926D0003E0302ED3D04092AA
:10015A00690000EF00936A000FEF009371006624B4 :10015A006E000027009368000093690000EF009387
:10016A0028D100916F00083209F405C012E01093FB :10016A006A000FEF00937100662428D100916F0096
:10017A006000F3D201C0EAD280E090E00091600012 :10017A00083209F405C012E010936000F9D201C0F8
:10018A00003051F420916A002093660003D1AAD26C :10018A00F0D280E090E000916000003051F42091BC
:10019A00B4D011E019BF41D0013009F4A6D1023020 :10019A006A002093660003D1AAD2B4D011E019BF35
:1001AA0069F71BE0109363001093640010936500D5 :1001AA0041D0013009F4A6D1023069F71BE010935F
:1001BA001093660011E019BFE1CFEE24FF1841E168 :1001BA00630010936400109365001093660011E0C9
:1001CA00001F111F4A9509F40895EE1CFF1CE21A3C :1001CA0019BFE1CFEE24FF1841E1001F111F4A9524
:1001DA00F30A20F4E20EF31E8894F2CF0894F0CFCB :1001DA0009F40895EE1CFF1CE21AF30A20F4E20E59
:1001EA00FF1829E0001F2A9509F40895FF1CF11A47 :1001EA00F31E8894F2CF0894F0CFFF1829E0001F7D
:1001FA0018F4F10E8894F6CF0894F4CF55274427C3 :1001FA002A9509F40895FF1CF11A18F4F10E88944F
:10020A0060E13695279510F4400F511F5795479591 :10020A00F6CF0894F4CF5527442760E13695279511
:10021A00379527956A95B9F708950F931F9300911B :10021A0010F4400F511F57954795379527956A95C2
:10022A006800502E14D000916A00502E10D000B3EE :10022A00B9F708950F931F9300916800502E14D0C8
:10023A000170502E0CD004E0502E09D00027502E09 :10023A0000916A00502E10D000B30170502E0CD0DD
:10024A001CE005D01A95E9F71F910F9108955D9B5F :10024A0004E0502E09D00027502E1CE005D01A9544
:10025A00FECF5CB8089501E000936B00402E00E0E9 :10025A00E9F71F910F9108955D9BFECF5CB8089551
:10026A00302E36D00CE200936C00402E01E0302E86 :10026A0001E000936B00402E00E0302E36D00CE205
:10027A002FD005E000936D00402E02E0302E28D0EA :10027A0000936C00402E01E0302E2FD005E0009351
:10028A0001E000936E00402E03E0302E21D000E101 :10028A006D00402E02E0302E28D001E000936E006F
:10029A00402E04E0302E1CD008950F9300916B007D :10029A00402E03E0302E21D000E1402E04E0302E23
:1002AA00402E00E0302E14D000916C00402E01E068 :1002AA001CD008950F9300916B00402E00E0302E71
:1002BA00302E0ED000916D00402E02E0302E08D074 :1002BA0014D000916C00402E01E0302E0ED0009137
:1002CA0000916E00402E03E0302E02D00F91089567 :1002CA006D00402E02E0302E08D000916E00402EC4
:1002DA00F8940F93E199FECF00E00CBB3EBA4DBAF9 :1002DA0003E0302E02D00F910895F8940F93E1991C
:1002EA00E29AE19A0F9178940895F894E199FECFF1 :1002EA00FECF00E00CBB3EBA4DBAE29AE19A0F91FA
:1002FA003EBAE09A4DB2789408950F931F932F93C4 :1002FA0078940895F894E199FECF3EBAE09A4DB207
:10030A003F934F935F937F93009168001091690028 :10030A00789408950F931F932F933F934F935F937E
:10031A002AE030E073DF022F132F20916A0033277F :10031A007F9300916800109169002AE030E073DF52
:10032A00020F131F40916C0050916B0060916D0099 :10032A00022F132F20916A003327020F131F4091C7
:10033A004F935F937727461B570BB42EA52E5F91D9 :10033A006C0050916B0060916D004F935F9377272B
:10034A004F917727460F571FD42EC52E0EF004C0A3 :10034A00461B570BB42EA52E5F914F917727460F68
:10035A00009510950F5F1F4FB016A10624F40D15D6 :10035A00571FD42EC52E0EF004C0009510950F5FBE
:10036A001C054CF40FC040916E00442311F4909880 :10036A001F4FB016A10624F40D151C054CF40FC03E
:10037A0001C0909A07C040916E00442311F4909AEC :10037A0040916E00442311F4909801C0909A07C0EE
:10038A0001C090987F915F914F913F912F911F915A :10038A0040916E00442311F4909A01C090987F9195
:10039A000F9108951F9361D052E135E54DEBF8D1E5 :10039A005F914F913F912F911F910F9108951F9354
:1003AA0012D010916800812F10916900912F1F912E :1003AA0061D052E135E54DEBFED112D010916800D3
:1003BA0008950F9349D103E3802E5BD1AFE6B0E0F5 :1003BA00812F10916900912F1F9108950F9349D1B0
:1003CA0077D10F9108950F931F932F933F934F93D4 :1003CA0003E3802E5BD1AFE6B0E077D10F910895B9
:1003DA003BD170FF3CC00CEC802E4BD10EEB802E33 :1003DA000F931F932F933F934F933BD170FF3CC0D2
:1003EA0048D1A8E6B0E064D1A9E6B0E061D11091A5 :1003EA000CEC802E4BD10EEB802E48D1A8E6B0E063
:1003FA006800209169002F93287F283F11F0E89424 :1003FA0064D1A9E6B0E061D110916800209169004A
:10040A0007C02F916894109520951F5F2F4F01C048 :10040A002F93287F283F11F0E89407C02F91689412
:10041A002F91269517952695179526951795269522 :10041A00109520951F5F2F4F01C02F912695179594
:10042A001795309168000EF43195432F3F70432F92 :10042A002695179526951795269517953091680064
:10043A00330F330F330F440F340F369536953695F5 :10043A000EF43195432F3F70432F330F330F330F91
:10044A003695109368002093690030936A004F91A3 :10044A00440F340F369536953695369510936800D5
:10045A003F912F911F910F9108950F93F5D070FF3F :10045A002093690030936A004F913F912F911F9129
:10046A0006C00CEC802E05D104E4802E02D10F9137 :10046A000F9108950F93F5D070FF06C00CEC802E03
:10047A0008950F930F920FB800E40EB90BE10DB96E :10047A0005D104E4802E02D10F9108950F930F92B3
:10048A00769BFDCFC09AC0980F900F9108950F9355 :10048A000FB800E40EB90BE10DB9769BFDCFC09A07
:10049A00B49B01C01CC000917100002309F417C06D :10049A00C0980F900F9108950F93B49B01C01CC090
:1004AA0000270093710060D16394162D143014F460 :1004AA0000917100002309F417C00027009371001E
:1004BA004DD10DC010E019BF9298939894989598D1 :1004BA0066D16394162D143014F453D10DC010E094
:1004CA006624EBDE4AD1969810E010936000B49946 :1004CA0019BF92989398949895986624EBDE50D128
:1004DA0001C009C000917100002309F004C00FEFA8 :1004DA00969810E010936000B49901C009C0009189
:1004EA000093710041D10F9108950F931F932F9399 :1004EA007100002309F004C00FEF0093710047D197
:1004FA003F934F93062D002309F004C09098969AD3 :1004FA000F9108950F931F932F933F934F93062DB8
:10050A0025D16394C4DF013029F0023051F1033060 :10050A00002309F004C09098969A2BD16394C4DF13
:10051A0039F194C0E7D0B29B04C000C0B39B0AC0B3 :10051A00013029F0023051F1033039F194C0E7D0AB
:10052A0011C022D110916D00183C09F01395109357 :10052A00B29B04C000C0B39B0AC011C028D110916D
:10053A006D0008C019D110916D00113009F01A959B :10053A006D00183C09F0139510936D0008C01FD187
:10054A0010936D00E8940F931F9300916D001AE0C9 :10054A0010916D00113009F01A9510936D00E8941E
:10055A0047DE802F9927F09266001F910F916EC097 :10055A000F931F9300916D001AE047DE802F9927B1
:10056A0047C0C0D0B29B04C000C0B39B13C021C017 :10056A00F09266001F910F916EC047C0C0D0B29B37
:10057A00FBD010916C0020916B00103B34E02307F4 :10057A0004C000C0B39B13C021C001D110916C000C
:10058A0031F03AE0130F3327231F10936C002093A6 :10058A0020916B00103B34E0230731F03AE0130F5F
:10059A006B000FC0E9D010916C0020916B001C30E9 :10059A003327231F10936C0020936B000FC0EFD0FA
:1005AA003EEF230711F01A50204010936C0020935D :1005AA0010916C0020916B001C303EEF230711F074
:1005BA006B000F931F932F933F9300916C00109140 :1005BA001A50204010936C0020936B000F931F93E6
:1005CA006B00212F207811F4E89405C068940095F7 :1005CA002F933F9300916C0010916B00212F20789C
:1005DA0010950F5F1F4F2AE030E0EFDD802F912F3B :1005DA0011F4E89405C06894009510950F5F1F4FB9
:1005EA000AE0009366003F912F911F910F9126C058 :1005EA002AE030E0EFDD802F912F0AE000936600C9
:1005FA00E894B29B04C000C0B39B06C009C0B4D043 :1005FA003F912F911F910F9126C0E894B29B04C09E
:10060A0011E010936E0004C0AFD010E010936E009A :10060A0000C0B39B06C009C0BAD011E010936E00B7
:10061A001127812F912F1EE010936300109364001D :10061A0004C0B5D010E010936E001127812F912FDE
:10062A001093650020916E00222309F004C01CE09B :10062A001EE01093630010936400109365002091FC
:10063A001093660003C01DE0109366004F913F912E :10063A006E00222309F004C01CE01093660003C078
:10064A002F911F910F910895F894B99A33E04EEBC8 :10064A001DE0109366004F913F912F911F910F91DA
:10065A009BD0B99830E04AE897D005D033E042E31E :10065A000895F894B99A33E04EEBA1D0B99830E0F6
:10066A0093D078940895B19B716002C0B1997E7F4E :10066A004AE89DD005D033E042E399D078940895C2
:10067A000895F8940F931F93082D18E0069508F42F :10067A00B19B716002C0B1997E7F0895F8940F937F
:10068A0048F0B99A30E046E77FD0B99830E042E1C5 :10068A001F93082D18E0069508F448F0B99A30E04F
:10069A007BD008C0B99A30E04AE076D0B99830E009 :10069A0046E785D0B99830E042E181D008C0B99ADE
:1006AA004EE772D01A9551F71F910F9178940895D9 :1006AA0030E04AE07CD0B99830E04EE778D01A952D
:1006BA00F8940F931F93002718E00695B99A30E033 :1006BA0051F71F910F9178940895F8940F931F930F
:1006CA004AE062D0B99830E040E15ED0B199006862 :1006CA00002718E00695B99A30E04AE068D0B99850
:1006DA0030E04CE659D01A9581F70C931F910F918F :1006DA0030E040E164D0B199006830E04CE65FD088
:1006EA00789408950F935F9353E0A3E6B0E0809364 :1006EA001A9581F70C931F910F91789408950F939F
:1006FA0061009093620000916100109162002AE00B :1006FA005F9353E0A3E6B0E08093610090936200B9
:10070A0030E05BDDED9200936100109362005A9530 :10070A0000916100109162002AE030E05BDDED9219
:10071A0091F75F910F9108950F931F93E4EAF7E021 :10071A0000936100109362005A9591F75F910F91CF
:10072A001127E00FF11F049000916700023009F0D1 :10072A0008950F931F93EAEBF7E01127E00FF11FEB
:10073A000AC0002D0F77002E062D02300CF403C0DC :10073A00049000916700023009F010C0002D0F7775
:10074A00002D0068002E1F910F910895C59A53E05D :10074A00002E062D02302CF400916000023029F0B0
:10075A0039EA4DE71DD0C5980895C59A5CE034E39F :10075A0005C0002D0068002E01C0FBCF1F910F912C
:10076A004DEF16D0C59808950F931F932F932AE043 :10076A000895C59A53E039EA4DE71DD0C598089512
:10077A001FEF0FEF0A95F1F71A95D9F72A95C1F7E6 :10077A00C59A5CE034E34DEF16D0C59808950F93FF
:10078A002F911F910F91089541503040E8F7089535 :10078A001F932F932AE01FEF0FEF0A95F1F71A959F
:10079A00415030405040E0F70895C0F9A4B0999212 :10079A00D9F72A95C1F72F911F910F9108954150CA
:0807AA0082F880909CBFC68913 :1007AA003040E8F70895415030405040E0F708954E
:0E07BA00C0F9A4B0999282F880909CBFC689C5
: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 Sat Jul 01 12:22:06 2023 AVRASM ver. 2.2.7 main.asm Sat Jul 01 13:22:52 2023
EQU SIGNATURE_000 0000001e EQU SIGNATURE_000 0000001e
@ -563,39 +563,39 @@ DSEG SETTING_MODE 0000006e
DSEG DEVICE_FAMILY_CODE 0000006f DSEG DEVICE_FAMILY_CODE 0000006f
DSEG PROGRAM_STEPS 00000070 DSEG PROGRAM_STEPS 00000070
DSEG SW_DATA 00000071 DSEG SW_DATA 00000071
CSEG RESET_vect 0000006d CSEG RESET_vect 00000072
CSEG PCINT0_vect 0000000e CSEG PCINT0_vect 0000000e
CSEG TIMER0_COMPA_vect 0000001b CSEG TIMER0_COMPA_vect 00000020
CSEG _PCINT0_vect_end 00000017 CSEG _PCINT0_vect_end 0000001c
CSEG _INTO_PROGRAM_STATE 00000014 CSEG _INTO_PROGRAM_STATE 00000019
CSEG _CLR_CURRENT_DIGIT 00000027 CSEG _CLR_CURRENT_DIGIT 0000002c
CSEG _indicate_1 0000002a CSEG _indicate_1 0000002f
CSEG _indicate_2 0000003c CSEG _indicate_2 00000041
CSEG DISPLAY_DECODER 00000391 CSEG DISPLAY_DECODER 00000396
CSEG USI_TRANSMIT 0000023e CSEG USI_TRANSMIT 00000243
CSEG _indicate_3 0000004e CSEG _indicate_3 00000053
CSEG _indicate_4 00000058 CSEG _indicate_4 0000005d
CSEG _indicate_exit 00000062 CSEG _indicate_exit 00000067
CSEG MCU_INIT 0000006f CSEG MCU_INIT 00000074
CSEG EEP_RD_BYTE 0000017a CSEG EEP_RD_BYTE 0000017f
CSEG _INIT_PARAMS 00000095 CSEG _INIT_PARAMS 0000009a
CSEG _FIRST_TIME_RUN 00000093 CSEG _FIRST_TIME_RUN 00000098
CSEG INIT_DEFAULT_PARAMS 00000130 CSEG INIT_DEFAULT_PARAMS 00000135
CSEG _CONTINUE_INIT 000000a9 CSEG _CONTINUE_INIT 000000ae
CSEG RD_F_CODE 000001de CSEG RD_F_CODE 000001e3
CSEG ERR_FAMILY_CODE 000000bb CSEG ERR_FAMILY_CODE 000000c0
CSEG START_PROGRAM 000000c0 CSEG START_PROGRAM 000000c5
CSEG BEEP_LONG 000003b2 CSEG BEEP_LONG 000003bd
CSEG BEEP_SHORT 000003ab CSEG BEEP_SHORT 000003b6
CSEG LOOP 000000c3 CSEG LOOP 000000c8
CSEG _STATE_DEFAULT 000000c5 CSEG _STATE_DEFAULT 000000ca
CSEG _STATE_PROGRAM 000000d1 CSEG _STATE_PROGRAM 000000d6
CSEG TEMP_UPD 000001cf CSEG TEMP_UPD 000001d4
CSEG DISPLAY_UPD_DIGITS 00000377 CSEG DISPLAY_UPD_DIGITS 0000037c
CSEG TEMP_COMPARSION 00000182 CSEG TEMP_COMPARSION 00000187
CSEG TEMP_SEND_UART 00000112 CSEG TEMP_SEND_UART 00000117
CSEG _STATE_ERROR 000000d4 CSEG _STATE_ERROR 000000d9
CSEG REPROGRAM_SETTINGS 0000027a CSEG REPROGRAM_SETTINGS 0000027f
DEF drem16uL r14 DEF drem16uL r14
DEF drem16uH r15 DEF drem16uH r15
DEF dres16uL r16 DEF dres16uL r16
@ -605,19 +605,19 @@ DEF dd16uH r17
DEF dv16uL r18 DEF dv16uL r18
DEF dv16uH r19 DEF dv16uH r19
DEF dcnt16u r20 DEF dcnt16u r20
CSEG div16u 000000e2 CSEG div16u 000000e7
CSEG d16u_1 000000e5 CSEG d16u_1 000000ea
CSEG d16u_2 000000ea CSEG d16u_2 000000ef
CSEG d16u_3 000000f3 CSEG d16u_3 000000f8
DEF drem8u r15 DEF drem8u r15
DEF dres8u r16 DEF dres8u r16
DEF dd8u r16 DEF dd8u r16
DEF dv8u r17 DEF dv8u r17
DEF dcnt8u r18 DEF dcnt8u r18
CSEG div8u 000000f5 CSEG div8u 000000fa
CSEG d8u_1 000000f7 CSEG d8u_1 000000fc
CSEG d8u_2 000000fb CSEG d8u_2 00000100
CSEG d8u_3 00000101 CSEG d8u_3 00000106
DEF mc16uL r16 DEF mc16uL r16
DEF mc16uH r17 DEF mc16uH r17
DEF mp16uL r18 DEF mp16uL r18
@ -627,94 +627,95 @@ DEF m16u1 r19
DEF m16u2 r20 DEF m16u2 r20
DEF m16u3 r21 DEF m16u3 r21
DEF mcnt16u r22 DEF mcnt16u r22
CSEG mpy16u 00000103 CSEG mpy16u 00000108
CSEG m16u_1 00000108 CSEG m16u_1 0000010d
CSEG noad8 0000010b CSEG noad8 00000110
CSEG UART_WR_BYTE 0000012c CSEG UART_WR_BYTE 00000131
CSEG _TEMP_SEND_UART_L 00000126 CSEG _TEMP_SEND_UART_L 0000012b
CSEG EEP_WR_BYTE 0000016d CSEG EEP_WR_BYTE 00000172
CSEG WRITE_PARAMS_TO_EEP 00000152 CSEG WRITE_PARAMS_TO_EEP 00000157
CSEG _EEP_WR_BYTE_LP 0000016f CSEG _EEP_WR_BYTE_LP 00000174
CSEG _EEP_RD_BYTE_LP 0000017b CSEG _EEP_RD_BYTE_LP 00000180
DEF temp_r_l r16 DEF temp_r_l r16
DEF temp_r_h r17 DEF temp_r_h r17
DEF min_r_trhd_l r11 DEF min_r_trhd_l r11
DEF min_r_trhd_h r10 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 000001ad CSEG _NEGATE_TEMP 000001b2
CSEG _COMPARE 000001b1 CSEG _COMPARE 000001b6
CSEG _MIN_THRESHOLD 000001b8 CSEG _MIN_THRESHOLD 000001bd
CSEG _MAX_THRESHOLD 000001c0 CSEG _MAX_THRESHOLD 000001c5
CSEG _COMPARSION_EXIT 000001c7 CSEG _COMPARSION_EXIT 000001cc
CSEG TEMP_CONV 00000232 CSEG TEMP_CONV 00000237
CSEG DELAY_LOOP_24 000003cd CSEG DELAY_LOOP_24 000003d8
CSEG TEMP_RD 000001e8 CSEG TEMP_RD 000001ed
CSEG OW_PRESENCE 00000329 CSEG OW_PRESENCE 0000032e
CSEG OW_SEND_BYTE 0000033e CSEG OW_SEND_BYTE 00000343
CSEG OW_RD_BYTE 0000035d CSEG OW_RD_BYTE 00000362
CSEG _TEMP_RD_EXIT 0000022c CSEG _TEMP_RD_EXIT 00000231
CSEG _TEMP_RD_TO_UNSIGNED 00000206 CSEG _TEMP_RD_TO_UNSIGNED 0000020b
CSEG _TEMP_RD_CONTINUE 0000020d CSEG _TEMP_RD_CONTINUE 00000212
CSEG _TEMP_RD_END 00000216 CSEG _TEMP_RD_END 0000021b
CSEG _TEMP_CONV_EXIT 0000023c CSEG _TEMP_CONV_EXIT 00000241
CSEG _USI_TRANSMIT_LOOP 00000244 CSEG _USI_TRANSMIT_LOOP 00000249
CSEG BUTTON_PROCESS 0000024c CSEG BUTTON_PROCESS 00000251
CSEG _SW_CHECK_ON_0 0000024d CSEG _SW_CHECK_ON_0 00000252
CSEG _SW_SET_0 00000250 CSEG _SW_SET_0 00000255
CSEG _SW_CHECK_ON_1 0000026c CSEG _SW_CHECK_ON_1 00000271
CSEG _SW_SET_FROM_0_TO_1 00000255 CSEG _SW_SET_FROM_0_TO_1 0000025a
CSEG DEBOUNCE_SW 000003b9 CSEG DEBOUNCE_SW 000003c4
CSEG _SAVE_SETTINGS 0000025f CSEG _SAVE_SETTINGS 00000264
CSEG _SW_SET_1 0000026f CSEG _SW_SET_1 00000274
CSEG _BUTTON_PROCESS_END 00000278 CSEG _BUTTON_PROCESS_END 0000027d
CSEG _SW_SET_FROM_1_TO_0 00000274 CSEG _SW_SET_FROM_1_TO_0 00000279
CSEG _INTO 00000283 CSEG _INTO 00000288
CSEG _REPROGRAM_SETTINGS_LOOP 00000287 CSEG _REPROGRAM_SETTINGS_LOOP 0000028c
CSEG _CHECK_STEP 00000288 CSEG _CHECK_STEP 0000028d
CSEG _STEP_1 0000028f CSEG _STEP_1 00000294
CSEG _STEP_2 000002b6 CSEG _STEP_2 000002bb
CSEG _S3_JMP 000002b5 CSEG _S3_JMP 000002ba
CSEG _REPROGRAM_SETTINGS_END 00000323 CSEG _REPROGRAM_SETTINGS_END 00000328
CSEG _S1_CHECK_PLUS 00000290 CSEG _S1_CHECK_PLUS 00000295
CSEG _INCREASE_HYST 00000296 CSEG _INCREASE_HYST 0000029b
CSEG _S1_CHECK_MINUS 00000293 CSEG _S1_CHECK_MINUS 00000298
CSEG _DECREASE_HYST 0000029f CSEG _DECREASE_HYST 000002a4
CSEG _SHOW_HYST 000002a7 CSEG _SHOW_HYST 000002ac
CSEG _STEP_3 000002fd CSEG _STEP_3 00000302
CSEG _S2_CHECK_PLUS 000002b7 CSEG _S2_CHECK_PLUS 000002bc
CSEG _INCREASE_TEMP 000002bd CSEG _INCREASE_TEMP 000002c2
CSEG _S2_CHECK_MINUS 000002ba CSEG _S2_CHECK_MINUS 000002bf
CSEG _DECREASE_TEMP 000002cf CSEG _DECREASE_TEMP 000002d4
CSEG _SHOW_TEMP 000002de CSEG _SHOW_TEMP 000002e3
CSEG __DECREASE 000002d8 CSEG __DECREASE 000002dd
CSEG _NEGATE_SET_TEMP 000002eb CSEG _NEGATE_SET_TEMP 000002f0
CSEG _DIVIDE_SET_TEMP 000002f0 CSEG _DIVIDE_SET_TEMP 000002f5
CSEG _S3_CHECK_PLUS 000002fe CSEG _S3_CHECK_PLUS 00000303
CSEG _SET_HEAT_MODE 00000304 CSEG _SET_HEAT_MODE 00000309
CSEG _S3_CHECK_MINUS 00000301 CSEG _S3_CHECK_MINUS 00000306
CSEG _SET_COOLING_MODE 00000309 CSEG _SET_COOLING_MODE 0000030e
CSEG _SHOW_MODE 0000030d CSEG _SHOW_MODE 00000312
CSEG _SHOW_COOLING 0000031c CSEG _SHOW_COOLING 00000321
CSEG _SHOW_HEATING 00000320 CSEG _SHOW_HEATING 00000325
CSEG DELAY_LOOP_16 000003c9 CSEG DELAY_LOOP_16 000003d4
CSEG OW_CHECK_PRESENCE 00000338 CSEG OW_CHECK_PRESENCE 0000033d
CSEG _EXIT 0000033d CSEG _EXIT 00000342
CSEG _OW_SEND_BYTE_LOOP 00000343 CSEG _OW_SEND_BYTE_LOOP 00000348
CSEG _OW_SEND_0 00000346 CSEG _OW_SEND_0 0000034b
CSEG _OW_SEND_1 0000034f CSEG _OW_SEND_1 00000354
CSEG _OW_SEND_BYTE_END 00000357 CSEG _OW_SEND_BYTE_END 0000035c
CSEG _OW_RD_BYTE_LP 00000362 CSEG _OW_RD_BYTE_LP 00000367
EQU dividend 00000061 EQU dividend 00000061
EQU divisor 0000000a EQU divisor 0000000a
CSEG DIV_LOOP 00000380 CSEG DIV_LOOP 00000385
CSEG DISPLAY_SYMBOLS 000003d2 CSEG DISPLAY_SYMBOLS 000003dd
CSEG _DOT_ON 0000039e CSEG _DOT_ON 000003a3
CSEG _DISPLAY_DECODER_EXIT 000003a8 CSEG _DISPLAY_DECODER_EXIT 000003b3
CSEG _DOT_OFF 000003a5 CSEG _DOT_OFF 000003ae
CSEG _loop_2 000003bd CSEG _ERR_DOT_OFF 000003b2
CSEG _loop_0 000003be CSEG _loop_2 000003c8
CSEG _dec_0 000003bf CSEG _loop_0 000003c9
CSEG _loop_1 000003c1 CSEG _dec_0 000003ca
CSEG _loop_3 000003c3 CSEG _loop_1 000003cc
CSEG _loop_3 000003ce
ESEG INFO 00000030 ESEG INFO 00000030

View File

@ -26,53 +26,53 @@
<FILE>dist/default/production/attiny2313a_thermostat.X.production.lss</FILE> <FILE>dist/default/production/attiny2313a_thermostat.X.production.lss</FILE>
</OUTPUT_FILES> </OUTPUT_FILES>
<LABELS> <LABELS>
<MCU_STATE><FILE>main.asm</FILE><LINE>24</LINE></MCU_STATE> <MCU_STATE><FILE>main.asm</FILE><LINE>23</LINE></MCU_STATE>
<SRAM_TEMP_1><FILE>main.asm</FILE><LINE>25</LINE></SRAM_TEMP_1> <SRAM_TEMP_1><FILE>main.asm</FILE><LINE>24</LINE></SRAM_TEMP_1>
<DIGITS><FILE>main.asm</FILE><LINE>26</LINE></DIGITS> <DIGITS><FILE>main.asm</FILE><LINE>25</LINE></DIGITS>
<CURRENT_DIGIT><FILE>main.asm</FILE><LINE>27</LINE></CURRENT_DIGIT> <CURRENT_DIGIT><FILE>main.asm</FILE><LINE>26</LINE></CURRENT_DIGIT>
<TEMP_L><FILE>main.asm</FILE><LINE>28</LINE></TEMP_L> <TEMP_L><FILE>main.asm</FILE><LINE>27</LINE></TEMP_L>
<TEMP_H><FILE>main.asm</FILE><LINE>29</LINE></TEMP_H> <TEMP_H><FILE>main.asm</FILE><LINE>28</LINE></TEMP_H>
<TEMP_F><FILE>main.asm</FILE><LINE>30</LINE></TEMP_F> <TEMP_F><FILE>main.asm</FILE><LINE>29</LINE></TEMP_F>
<SETTING_TEMP_H><FILE>main.asm</FILE><LINE>31</LINE></SETTING_TEMP_H> <SETTING_TEMP_H><FILE>main.asm</FILE><LINE>30</LINE></SETTING_TEMP_H>
<SETTING_TEMP_L><FILE>main.asm</FILE><LINE>32</LINE></SETTING_TEMP_L> <SETTING_TEMP_L><FILE>main.asm</FILE><LINE>31</LINE></SETTING_TEMP_L>
<SETTING_HYST><FILE>main.asm</FILE><LINE>33</LINE></SETTING_HYST> <SETTING_HYST><FILE>main.asm</FILE><LINE>32</LINE></SETTING_HYST>
<SETTING_MODE><FILE>main.asm</FILE><LINE>34</LINE></SETTING_MODE> <SETTING_MODE><FILE>main.asm</FILE><LINE>33</LINE></SETTING_MODE>
<DEVICE_FAMILY_CODE><FILE>main.asm</FILE><LINE>35</LINE></DEVICE_FAMILY_CODE> <DEVICE_FAMILY_CODE><FILE>main.asm</FILE><LINE>34</LINE></DEVICE_FAMILY_CODE>
<PROGRAM_STEPS><FILE>main.asm</FILE><LINE>36</LINE></PROGRAM_STEPS> <PROGRAM_STEPS><FILE>main.asm</FILE><LINE>35</LINE></PROGRAM_STEPS>
<SW_DATA><FILE>main.asm</FILE><LINE>37</LINE></SW_DATA> <SW_DATA><FILE>main.asm</FILE><LINE>36</LINE></SW_DATA>
<RESET_vect><FILE>main.asm</FILE><LINE>180</LINE></RESET_vect> <RESET_vect><FILE>main.asm</FILE><LINE>183</LINE></RESET_vect>
<PCINT0_vect><FILE>main.asm</FILE><LINE>61</LINE></PCINT0_vect> <PCINT0_vect><FILE>main.asm</FILE><LINE>60</LINE></PCINT0_vect>
<TIMER0_COMPA_vect><FILE>main.asm</FILE><LINE>84</LINE></TIMER0_COMPA_vect> <TIMER0_COMPA_vect><FILE>main.asm</FILE><LINE>87</LINE></TIMER0_COMPA_vect>
<_PCINT0_vect_end><FILE>main.asm</FILE><LINE>75</LINE></_PCINT0_vect_end> <_PCINT0_vect_end><FILE>main.asm</FILE><LINE>78</LINE></_PCINT0_vect_end>
<_INTO_PROGRAM_STATE><FILE>main.asm</FILE><LINE>71</LINE></_INTO_PROGRAM_STATE> <_INTO_PROGRAM_STATE><FILE>main.asm</FILE><LINE>74</LINE></_INTO_PROGRAM_STATE>
<_CLR_CURRENT_DIGIT><FILE>main.asm</FILE><LINE>98</LINE></_CLR_CURRENT_DIGIT> <_CLR_CURRENT_DIGIT><FILE>main.asm</FILE><LINE>101</LINE></_CLR_CURRENT_DIGIT>
<_indicate_1><FILE>main.asm</FILE><LINE>102</LINE></_indicate_1> <_indicate_1><FILE>main.asm</FILE><LINE>105</LINE></_indicate_1>
<_indicate_2><FILE>main.asm</FILE><LINE>122</LINE></_indicate_2> <_indicate_2><FILE>main.asm</FILE><LINE>125</LINE></_indicate_2>
<DISPLAY_DECODER><FILE>main.asm</FILE><LINE>1129</LINE></DISPLAY_DECODER> <DISPLAY_DECODER><FILE>main.asm</FILE><LINE>1131</LINE></DISPLAY_DECODER>
<USI_TRANSMIT><FILE>main.asm</FILE><LINE>718</LINE></USI_TRANSMIT> <USI_TRANSMIT><FILE>main.asm</FILE><LINE>720</LINE></USI_TRANSMIT>
<_indicate_3><FILE>main.asm</FILE><LINE>140</LINE></_indicate_3> <_indicate_3><FILE>main.asm</FILE><LINE>143</LINE></_indicate_3>
<_indicate_4><FILE>main.asm</FILE><LINE>152</LINE></_indicate_4> <_indicate_4><FILE>main.asm</FILE><LINE>155</LINE></_indicate_4>
<_indicate_exit><FILE>main.asm</FILE><LINE>164</LINE></_indicate_exit> <_indicate_exit><FILE>main.asm</FILE><LINE>167</LINE></_indicate_exit>
<MCU_INIT><FILE>main.asm</FILE><LINE>186</LINE></MCU_INIT> <MCU_INIT><FILE>main.asm</FILE><LINE>189</LINE></MCU_INIT>
<EEP_RD_BYTE><FILE>main.asm</FILE><LINE>453</LINE></EEP_RD_BYTE> <EEP_RD_BYTE><FILE>main.asm</FILE><LINE>455</LINE></EEP_RD_BYTE>
<_INIT_PARAMS><FILE>main.asm</FILE><LINE>224</LINE></_INIT_PARAMS> <_INIT_PARAMS><FILE>main.asm</FILE><LINE>227</LINE></_INIT_PARAMS>
<_FIRST_TIME_RUN><FILE>main.asm</FILE><LINE>221</LINE></_FIRST_TIME_RUN> <_FIRST_TIME_RUN><FILE>main.asm</FILE><LINE>224</LINE></_FIRST_TIME_RUN>
<INIT_DEFAULT_PARAMS><FILE>main.asm</FILE><LINE>361</LINE></INIT_DEFAULT_PARAMS> <INIT_DEFAULT_PARAMS><FILE>main.asm</FILE><LINE>363</LINE></INIT_DEFAULT_PARAMS>
<_CONTINUE_INIT><FILE>main.asm</FILE><LINE>245</LINE></_CONTINUE_INIT> <_CONTINUE_INIT><FILE>main.asm</FILE><LINE>248</LINE></_CONTINUE_INIT>
<RD_F_CODE><FILE>main.asm</FILE><LINE>584</LINE></RD_F_CODE> <RD_F_CODE><FILE>main.asm</FILE><LINE>586</LINE></RD_F_CODE>
<ERR_FAMILY_CODE><FILE>main.asm</FILE><LINE>266</LINE></ERR_FAMILY_CODE> <ERR_FAMILY_CODE><FILE>main.asm</FILE><LINE>269</LINE></ERR_FAMILY_CODE>
<START_PROGRAM><FILE>main.asm</FILE><LINE>271</LINE></START_PROGRAM> <START_PROGRAM><FILE>main.asm</FILE><LINE>274</LINE></START_PROGRAM>
<BEEP_LONG><FILE>main.asm</FILE><LINE>1175</LINE></BEEP_LONG> <BEEP_LONG><FILE>main.asm</FILE><LINE>1184</LINE></BEEP_LONG>
<BEEP_SHORT><FILE>main.asm</FILE><LINE>1167</LINE></BEEP_SHORT> <BEEP_SHORT><FILE>main.asm</FILE><LINE>1176</LINE></BEEP_SHORT>
<LOOP><FILE>main.asm</FILE><LINE>278</LINE></LOOP> <LOOP><FILE>main.asm</FILE><LINE>281</LINE></LOOP>
<_STATE_DEFAULT><FILE>main.asm</FILE><LINE>280</LINE></_STATE_DEFAULT> <_STATE_DEFAULT><FILE>main.asm</FILE><LINE>283</LINE></_STATE_DEFAULT>
<_STATE_PROGRAM><FILE>main.asm</FILE><LINE>292</LINE></_STATE_PROGRAM> <_STATE_PROGRAM><FILE>main.asm</FILE><LINE>295</LINE></_STATE_PROGRAM>
<TEMP_UPD><FILE>main.asm</FILE><LINE>568</LINE></TEMP_UPD> <TEMP_UPD><FILE>main.asm</FILE><LINE>570</LINE></TEMP_UPD>
<DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>1088</LINE></DISPLAY_UPD_DIGITS> <DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>1090</LINE></DISPLAY_UPD_DIGITS>
<TEMP_COMPARSION><FILE>main.asm</FILE><LINE>470</LINE></TEMP_COMPARSION> <TEMP_COMPARSION><FILE>main.asm</FILE><LINE>472</LINE></TEMP_COMPARSION>
<TEMP_SEND_UART><FILE>main.asm</FILE><LINE>315</LINE></TEMP_SEND_UART> <TEMP_SEND_UART><FILE>main.asm</FILE><LINE>317</LINE></TEMP_SEND_UART>
<_STATE_ERROR><FILE>main.asm</FILE><LINE>296</LINE></_STATE_ERROR> <_STATE_ERROR><FILE>main.asm</FILE><LINE>299</LINE></_STATE_ERROR>
<REPROGRAM_SETTINGS><FILE>main.asm</FILE><LINE>803</LINE></REPROGRAM_SETTINGS> <REPROGRAM_SETTINGS><FILE>main.asm</FILE><LINE>805</LINE></REPROGRAM_SETTINGS>
<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>
@ -84,85 +84,86 @@
<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>
<UART_WR_BYTE><FILE>main.asm</FILE><LINE>353</LINE></UART_WR_BYTE> <UART_WR_BYTE><FILE>main.asm</FILE><LINE>355</LINE></UART_WR_BYTE>
<_TEMP_SEND_UART_L><FILE>main.asm</FILE><LINE>342</LINE></_TEMP_SEND_UART_L> <_TEMP_SEND_UART_L><FILE>main.asm</FILE><LINE>344</LINE></_TEMP_SEND_UART_L>
<EEP_WR_BYTE><FILE>main.asm</FILE><LINE>428</LINE></EEP_WR_BYTE> <EEP_WR_BYTE><FILE>main.asm</FILE><LINE>430</LINE></EEP_WR_BYTE>
<WRITE_PARAMS_TO_EEP><FILE>main.asm</FILE><LINE>399</LINE></WRITE_PARAMS_TO_EEP> <WRITE_PARAMS_TO_EEP><FILE>main.asm</FILE><LINE>401</LINE></WRITE_PARAMS_TO_EEP>
<_EEP_WR_BYTE_LP><FILE>main.asm</FILE><LINE>431</LINE></_EEP_WR_BYTE_LP> <_EEP_WR_BYTE_LP><FILE>main.asm</FILE><LINE>433</LINE></_EEP_WR_BYTE_LP>
<_EEP_RD_BYTE_LP><FILE>main.asm</FILE><LINE>455</LINE></_EEP_RD_BYTE_LP> <_EEP_RD_BYTE_LP><FILE>main.asm</FILE><LINE>457</LINE></_EEP_RD_BYTE_LP>
<_NEGATE_TEMP><FILE>main.asm</FILE><LINE>524</LINE></_NEGATE_TEMP> <_NEGATE_TEMP><FILE>main.asm</FILE><LINE>526</LINE></_NEGATE_TEMP>
<_COMPARE><FILE>main.asm</FILE><LINE>530</LINE></_COMPARE> <_COMPARE><FILE>main.asm</FILE><LINE>532</LINE></_COMPARE>
<_MIN_THRESHOLD><FILE>main.asm</FILE><LINE>540</LINE></_MIN_THRESHOLD> <_MIN_THRESHOLD><FILE>main.asm</FILE><LINE>542</LINE></_MIN_THRESHOLD>
<_MAX_THRESHOLD><FILE>main.asm</FILE><LINE>549</LINE></_MAX_THRESHOLD> <_MAX_THRESHOLD><FILE>main.asm</FILE><LINE>551</LINE></_MAX_THRESHOLD>
<_COMPARSION_EXIT><FILE>main.asm</FILE><LINE>556</LINE></_COMPARSION_EXIT> <_COMPARSION_EXIT><FILE>main.asm</FILE><LINE>558</LINE></_COMPARSION_EXIT>
<TEMP_CONV><FILE>main.asm</FILE><LINE>696</LINE></TEMP_CONV> <TEMP_CONV><FILE>main.asm</FILE><LINE>698</LINE></TEMP_CONV>
<DELAY_LOOP_24><FILE>main.asm</FILE><LINE>1217</LINE></DELAY_LOOP_24> <DELAY_LOOP_24><FILE>main.asm</FILE><LINE>1226</LINE></DELAY_LOOP_24>
<TEMP_RD><FILE>main.asm</FILE><LINE>600</LINE></TEMP_RD> <TEMP_RD><FILE>main.asm</FILE><LINE>602</LINE></TEMP_RD>
<OW_PRESENCE><FILE>main.asm</FILE><LINE>1001</LINE></OW_PRESENCE> <OW_PRESENCE><FILE>main.asm</FILE><LINE>1003</LINE></OW_PRESENCE>
<OW_SEND_BYTE><FILE>main.asm</FILE><LINE>1028</LINE></OW_SEND_BYTE> <OW_SEND_BYTE><FILE>main.asm</FILE><LINE>1030</LINE></OW_SEND_BYTE>
<OW_RD_BYTE><FILE>main.asm</FILE><LINE>1059</LINE></OW_RD_BYTE> <OW_RD_BYTE><FILE>main.asm</FILE><LINE>1061</LINE></OW_RD_BYTE>
<_TEMP_RD_EXIT><FILE>main.asm</FILE><LINE>688</LINE></_TEMP_RD_EXIT> <_TEMP_RD_EXIT><FILE>main.asm</FILE><LINE>690</LINE></_TEMP_RD_EXIT>
<_TEMP_RD_TO_UNSIGNED><FILE>main.asm</FILE><LINE>637</LINE></_TEMP_RD_TO_UNSIGNED> <_TEMP_RD_TO_UNSIGNED><FILE>main.asm</FILE><LINE>639</LINE></_TEMP_RD_TO_UNSIGNED>
<_TEMP_RD_CONTINUE><FILE>main.asm</FILE><LINE>650</LINE></_TEMP_RD_CONTINUE> <_TEMP_RD_CONTINUE><FILE>main.asm</FILE><LINE>652</LINE></_TEMP_RD_CONTINUE>
<_TEMP_RD_END><FILE>main.asm</FILE><LINE>660</LINE></_TEMP_RD_END> <_TEMP_RD_END><FILE>main.asm</FILE><LINE>662</LINE></_TEMP_RD_END>
<_TEMP_CONV_EXIT><FILE>main.asm</FILE><LINE>711</LINE></_TEMP_CONV_EXIT> <_TEMP_CONV_EXIT><FILE>main.asm</FILE><LINE>713</LINE></_TEMP_CONV_EXIT>
<_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>737</LINE></_USI_TRANSMIT_LOOP> <_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>739</LINE></_USI_TRANSMIT_LOOP>
<BUTTON_PROCESS><FILE>main.asm</FILE><LINE>751</LINE></BUTTON_PROCESS> <BUTTON_PROCESS><FILE>main.asm</FILE><LINE>754</LINE></BUTTON_PROCESS>
<_SW_CHECK_ON_0><FILE>main.asm</FILE><LINE>753</LINE></_SW_CHECK_ON_0> <_SW_CHECK_ON_0><FILE>main.asm</FILE><LINE>756</LINE></_SW_CHECK_ON_0>
<_SW_SET_0><FILE>main.asm</FILE><LINE>757</LINE></_SW_SET_0> <_SW_SET_0><FILE>main.asm</FILE><LINE>760</LINE></_SW_SET_0>
<_SW_CHECK_ON_1><FILE>main.asm</FILE><LINE>784</LINE></_SW_CHECK_ON_1> <_SW_CHECK_ON_1><FILE>main.asm</FILE><LINE>787</LINE></_SW_CHECK_ON_1>
<_SW_SET_FROM_0_TO_1><FILE>main.asm</FILE><LINE>762</LINE></_SW_SET_FROM_0_TO_1> <_SW_SET_FROM_0_TO_1><FILE>main.asm</FILE><LINE>765</LINE></_SW_SET_FROM_0_TO_1>
<DEBOUNCE_SW><FILE>main.asm</FILE><LINE>1183</LINE></DEBOUNCE_SW> <DEBOUNCE_SW><FILE>main.asm</FILE><LINE>1192</LINE></DEBOUNCE_SW>
<_SAVE_SETTINGS><FILE>main.asm</FILE><LINE>772</LINE></_SAVE_SETTINGS> <_SAVE_SETTINGS><FILE>main.asm</FILE><LINE>775</LINE></_SAVE_SETTINGS>
<_SW_SET_1><FILE>main.asm</FILE><LINE>788</LINE></_SW_SET_1> <_SW_SET_1><FILE>main.asm</FILE><LINE>791</LINE></_SW_SET_1>
<_BUTTON_PROCESS_END><FILE>main.asm</FILE><LINE>797</LINE></_BUTTON_PROCESS_END> <_BUTTON_PROCESS_END><FILE>main.asm</FILE><LINE>800</LINE></_BUTTON_PROCESS_END>
<_SW_SET_FROM_1_TO_0><FILE>main.asm</FILE><LINE>793</LINE></_SW_SET_FROM_1_TO_0> <_SW_SET_FROM_1_TO_0><FILE>main.asm</FILE><LINE>796</LINE></_SW_SET_FROM_1_TO_0>
<_INTO><FILE>main.asm</FILE><LINE>814</LINE></_INTO> <_INTO><FILE>main.asm</FILE><LINE>816</LINE></_INTO>
<_REPROGRAM_SETTINGS_LOOP><FILE>main.asm</FILE><LINE>819</LINE></_REPROGRAM_SETTINGS_LOOP> <_REPROGRAM_SETTINGS_LOOP><FILE>main.asm</FILE><LINE>821</LINE></_REPROGRAM_SETTINGS_LOOP>
<_CHECK_STEP><FILE>main.asm</FILE><LINE>821</LINE></_CHECK_STEP> <_CHECK_STEP><FILE>main.asm</FILE><LINE>823</LINE></_CHECK_STEP>
<_STEP_1><FILE>main.asm</FILE><LINE>831</LINE></_STEP_1> <_STEP_1><FILE>main.asm</FILE><LINE>833</LINE></_STEP_1>
<_STEP_2><FILE>main.asm</FILE><LINE>875</LINE></_STEP_2> <_STEP_2><FILE>main.asm</FILE><LINE>877</LINE></_STEP_2>
<_S3_JMP><FILE>main.asm</FILE><LINE>871</LINE></_S3_JMP> <_S3_JMP><FILE>main.asm</FILE><LINE>873</LINE></_S3_JMP>
<_REPROGRAM_SETTINGS_END><FILE>main.asm</FILE><LINE>989</LINE></_REPROGRAM_SETTINGS_END> <_REPROGRAM_SETTINGS_END><FILE>main.asm</FILE><LINE>991</LINE></_REPROGRAM_SETTINGS_END>
<_S1_CHECK_PLUS><FILE>main.asm</FILE><LINE>833</LINE></_S1_CHECK_PLUS> <_S1_CHECK_PLUS><FILE>main.asm</FILE><LINE>835</LINE></_S1_CHECK_PLUS>
<_INCREASE_HYST><FILE>main.asm</FILE><LINE>841</LINE></_INCREASE_HYST> <_INCREASE_HYST><FILE>main.asm</FILE><LINE>843</LINE></_INCREASE_HYST>
<_S1_CHECK_MINUS><FILE>main.asm</FILE><LINE>837</LINE></_S1_CHECK_MINUS> <_S1_CHECK_MINUS><FILE>main.asm</FILE><LINE>839</LINE></_S1_CHECK_MINUS>
<_DECREASE_HYST><FILE>main.asm</FILE><LINE>849</LINE></_DECREASE_HYST> <_DECREASE_HYST><FILE>main.asm</FILE><LINE>851</LINE></_DECREASE_HYST>
<_SHOW_HYST><FILE>main.asm</FILE><LINE>856</LINE></_SHOW_HYST> <_SHOW_HYST><FILE>main.asm</FILE><LINE>858</LINE></_SHOW_HYST>
<_STEP_3><FILE>main.asm</FILE><LINE>948</LINE></_STEP_3> <_STEP_3><FILE>main.asm</FILE><LINE>950</LINE></_STEP_3>
<_S2_CHECK_PLUS><FILE>main.asm</FILE><LINE>877</LINE></_S2_CHECK_PLUS> <_S2_CHECK_PLUS><FILE>main.asm</FILE><LINE>879</LINE></_S2_CHECK_PLUS>
<_INCREASE_TEMP><FILE>main.asm</FILE><LINE>885</LINE></_INCREASE_TEMP> <_INCREASE_TEMP><FILE>main.asm</FILE><LINE>887</LINE></_INCREASE_TEMP>
<_S2_CHECK_MINUS><FILE>main.asm</FILE><LINE>881</LINE></_S2_CHECK_MINUS> <_S2_CHECK_MINUS><FILE>main.asm</FILE><LINE>883</LINE></_S2_CHECK_MINUS>
<_DECREASE_TEMP><FILE>main.asm</FILE><LINE>900</LINE></_DECREASE_TEMP> <_DECREASE_TEMP><FILE>main.asm</FILE><LINE>902</LINE></_DECREASE_TEMP>
<_SHOW_TEMP><FILE>main.asm</FILE><LINE>913</LINE></_SHOW_TEMP> <_SHOW_TEMP><FILE>main.asm</FILE><LINE>915</LINE></_SHOW_TEMP>
<__DECREASE><FILE>main.asm</FILE><LINE>908</LINE></__DECREASE> <__DECREASE><FILE>main.asm</FILE><LINE>910</LINE></__DECREASE>
<_NEGATE_SET_TEMP><FILE>main.asm</FILE><LINE>926</LINE></_NEGATE_SET_TEMP> <_NEGATE_SET_TEMP><FILE>main.asm</FILE><LINE>928</LINE></_NEGATE_SET_TEMP>
<_DIVIDE_SET_TEMP><FILE>main.asm</FILE><LINE>930</LINE></_DIVIDE_SET_TEMP> <_DIVIDE_SET_TEMP><FILE>main.asm</FILE><LINE>932</LINE></_DIVIDE_SET_TEMP>
<_S3_CHECK_PLUS><FILE>main.asm</FILE><LINE>950</LINE></_S3_CHECK_PLUS> <_S3_CHECK_PLUS><FILE>main.asm</FILE><LINE>952</LINE></_S3_CHECK_PLUS>
<_SET_HEAT_MODE><FILE>main.asm</FILE><LINE>958</LINE></_SET_HEAT_MODE> <_SET_HEAT_MODE><FILE>main.asm</FILE><LINE>960</LINE></_SET_HEAT_MODE>
<_S3_CHECK_MINUS><FILE>main.asm</FILE><LINE>954</LINE></_S3_CHECK_MINUS> <_S3_CHECK_MINUS><FILE>main.asm</FILE><LINE>956</LINE></_S3_CHECK_MINUS>
<_SET_COOLING_MODE><FILE>main.asm</FILE><LINE>963</LINE></_SET_COOLING_MODE> <_SET_COOLING_MODE><FILE>main.asm</FILE><LINE>965</LINE></_SET_COOLING_MODE>
<_SHOW_MODE><FILE>main.asm</FILE><LINE>967</LINE></_SHOW_MODE> <_SHOW_MODE><FILE>main.asm</FILE><LINE>969</LINE></_SHOW_MODE>
<_SHOW_COOLING><FILE>main.asm</FILE><LINE>980</LINE></_SHOW_COOLING> <_SHOW_COOLING><FILE>main.asm</FILE><LINE>982</LINE></_SHOW_COOLING>
<_SHOW_HEATING><FILE>main.asm</FILE><LINE>984</LINE></_SHOW_HEATING> <_SHOW_HEATING><FILE>main.asm</FILE><LINE>986</LINE></_SHOW_HEATING>
<DELAY_LOOP_16><FILE>main.asm</FILE><LINE>1209</LINE></DELAY_LOOP_16> <DELAY_LOOP_16><FILE>main.asm</FILE><LINE>1218</LINE></DELAY_LOOP_16>
<OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>1017</LINE></OW_CHECK_PRESENCE> <OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>1019</LINE></OW_CHECK_PRESENCE>
<_EXIT><FILE>main.asm</FILE><LINE>1023</LINE></_EXIT> <_EXIT><FILE>main.asm</FILE><LINE>1025</LINE></_EXIT>
<_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>1034</LINE></_OW_SEND_BYTE_LOOP> <_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>1036</LINE></_OW_SEND_BYTE_LOOP>
<_OW_SEND_0><FILE>main.asm</FILE><LINE>1038</LINE></_OW_SEND_0> <_OW_SEND_0><FILE>main.asm</FILE><LINE>1040</LINE></_OW_SEND_0>
<_OW_SEND_1><FILE>main.asm</FILE><LINE>1044</LINE></_OW_SEND_1> <_OW_SEND_1><FILE>main.asm</FILE><LINE>1046</LINE></_OW_SEND_1>
<_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>1049</LINE></_OW_SEND_BYTE_END> <_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>1051</LINE></_OW_SEND_BYTE_END>
<_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>1065</LINE></_OW_RD_BYTE_LP> <_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>1067</LINE></_OW_RD_BYTE_LP>
<DIV_LOOP><FILE>main.asm</FILE><LINE>1105</LINE></DIV_LOOP> <DIV_LOOP><FILE>main.asm</FILE><LINE>1107</LINE></DIV_LOOP>
<DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>1226</LINE></DISPLAY_SYMBOLS> <DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>1235</LINE></DISPLAY_SYMBOLS>
<_DOT_ON><FILE>main.asm</FILE><LINE>1146</LINE></_DOT_ON> <_DOT_ON><FILE>main.asm</FILE><LINE>1148</LINE></_DOT_ON>
<_DISPLAY_DECODER_EXIT><FILE>main.asm</FILE><LINE>1160</LINE></_DISPLAY_DECODER_EXIT> <_DISPLAY_DECODER_EXIT><FILE>main.asm</FILE><LINE>1169</LINE></_DISPLAY_DECODER_EXIT>
<_DOT_OFF><FILE>main.asm</FILE><LINE>1155</LINE></_DOT_OFF> <_DOT_OFF><FILE>main.asm</FILE><LINE>1160</LINE></_DOT_OFF>
<_loop_2><FILE>main.asm</FILE><LINE>1189</LINE></_loop_2> <_ERR_DOT_OFF><FILE>main.asm</FILE><LINE>1166</LINE></_ERR_DOT_OFF>
<_loop_0><FILE>main.asm</FILE><LINE>1191</LINE></_loop_0> <_loop_2><FILE>main.asm</FILE><LINE>1198</LINE></_loop_2>
<_dec_0><FILE>main.asm</FILE><LINE>1193</LINE></_dec_0> <_loop_0><FILE>main.asm</FILE><LINE>1200</LINE></_loop_0>
<_loop_1><FILE>main.asm</FILE><LINE>1196</LINE></_loop_1> <_dec_0><FILE>main.asm</FILE><LINE>1202</LINE></_dec_0>
<_loop_3><FILE>main.asm</FILE><LINE>1199</LINE></_loop_3> <_loop_1><FILE>main.asm</FILE><LINE>1205</LINE></_loop_1>
<INFO><FILE>main.asm</FILE><LINE>1244</LINE></INFO> <_loop_3><FILE>main.asm</FILE><LINE>1208</LINE></_loop_3>
<INFO><FILE>main.asm</FILE><LINE>1253</LINE></INFO>
</LABELS> </LABELS>
</ASSEMBLER_INFO> </ASSEMBLER_INFO>

View File

@ -6,16 +6,15 @@
; Device Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/doc8246.pdf ; Device Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/doc8246.pdf
; Assembler: AVR macro assembler 2.2.7 ; Assembler: AVR macro assembler 2.2.7
; Clock frequency: 8 MHz External Crystal Oscillator ; Clock frequency: 8 MHz External Crystal Oscillator
; Fuses: lfuse: 0xCF, hfuse: 0x9F, efuse: 0xFF, lock: 0xFF ; Fuses: lfuse: 0xCF, hfuse: 0xDF, efuse: 0xFF, lock: 0xFF
; ;
; Written by Sergey Yarkov 22.01.2023 ; Written by Sergey Yarkov 05.07.2023
.LIST .LIST
.INCLUDE "definitions.asm" .INCLUDE "definitions.asm"
.INCLUDE "macros.asm" .INCLUDE "macros.asm"
//<editor-fold defaultstate="collapsed" desc="Сегмент данных"> //<editor-fold defaultstate="collapsed" desc="Сегмент данных">
; **** СЕГМЕНТ ДАННЫХ ******************************************** ; **** СЕГМЕНТ ДАННЫХ ********************************************
.DSEG .DSEG
@ -68,6 +67,10 @@ PCINT0_vect:
andi r17, (1<<SW_PLUS_PIN) | (1<<SW_MINUS_PIN) andi r17, (1<<SW_PLUS_PIN) | (1<<SW_MINUS_PIN)
brne _PCINT0_vect_end brne _PCINT0_vect_end
lds r17, MCU_STATE
cpi r17, MCU_STATE_DEFAULT
breq _INTO_PROGRAM_STATE
rjmp _PCINT0_vect_end
_INTO_PROGRAM_STATE: _INTO_PROGRAM_STATE:
ldi r17, MCU_STATE_PROGRAM ldi r17, MCU_STATE_PROGRAM
sts MCU_STATE, r17 sts MCU_STATE, r17
@ -305,7 +308,6 @@ _STATE_ERROR:
rjmp LOOP rjmp LOOP
//</editor-fold> //</editor-fold>
; **** ПОДПРОГРАММЫ ********************************************** ; **** ПОДПРОГРАММЫ **********************************************
.INCLUDE "div16u.asm" .INCLUDE "div16u.asm"
.INCLUDE "div8u.asm" .INCLUDE "div8u.asm"
@ -748,6 +750,7 @@ _USI_TRANSMIT_LOOP: ; Execute loop when USIOIF is 0
ret ret
//</editor-fold> //</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Подпрограмма: обработка нажатия кнопки SET">
BUTTON_PROCESS: BUTTON_PROCESS:
push r16 push r16
_SW_CHECK_ON_0: _SW_CHECK_ON_0:
@ -796,8 +799,7 @@ _SW_SET_FROM_1_TO_0:
rcall DEBOUNCE_SW rcall DEBOUNCE_SW
_BUTTON_PROCESS_END: _BUTTON_PROCESS_END:
pop r16 pop r16
ret ret//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Подпрограмма: перепрограммирование параметров"> //<editor-fold defaultstate="collapsed" desc="Подпрограмма: перепрограммирование параметров">
REPROGRAM_SETTINGS: REPROGRAM_SETTINGS:
@ -1151,11 +1153,18 @@ _DOT_ON:
mov r16, REPROGRAM_STEP_r mov r16, REPROGRAM_STEP_r
cpi r16, 2 cpi r16, 2
brge _DOT_OFF brge _DOT_OFF
lds r16, MCU_STATE
cpi r16, MCU_STATE_ERROR
breq _ERR_DOT_OFF
rjmp _DISPLAY_DECODER_EXIT rjmp _DISPLAY_DECODER_EXIT
_DOT_OFF: _DOT_OFF:
mov r16, r0 mov r16, r0
sbr r16, (1<<7) sbr r16, (1<<7)
mov r0, r16 mov r0, r16
rjmp _DISPLAY_DECODER_EXIT
_ERR_DOT_OFF:
rjmp _DOT_OFF
_DISPLAY_DECODER_EXIT: _DISPLAY_DECODER_EXIT:
pop r17 pop r17

View File

@ -1,11 +1,11 @@
# #
#Fri Jun 30 15:31:30 MSK 2023 #Sat Jul 01 12:39:06 MSK 2023
default.languagetoolchain.version=2.2.7 default.languagetoolchain.version=2.2.7
default.Pack.dfplocation=/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151 default.Pack.dfplocation=/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151
conf.ids=default conf.ids=default
default.languagetoolchain.dir=/usr/bin default.languagetoolchain.dir=/usr/bin
host.id=cf4f-twrn-b host.id=cf4f-twrn-b
configurations-xml=85db3bcfcc45f311e22a744cb34722f8 configurations-xml=040280617941767982f8dcc1d84c63cc
default.com-microchip-mplab-nbide-toolchain-avrasm-AVRASMLanguageToolchain.md5=0e94da8ed93e9650ffef50929833a79f default.com-microchip-mplab-nbide-toolchain-avrasm-AVRASMLanguageToolchain.md5=0e94da8ed93e9650ffef50929833a79f
default.com-microchip-mplab-mdbcore-snap-SnapToolImpl.md5=eaa336cefb7fc46db8b50b7b2b6e54ca default.com-microchip-mplab-mdbcore-snap-SnapToolImpl.md5=eaa336cefb7fc46db8b50b7b2b6e54ca
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=6e02ca5e9f5042ffd365b42ab82d3a9b com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=6e02ca5e9f5042ffd365b42ab82d3a9b

View File

@ -87,7 +87,7 @@
value="ToolFirmwareOption.UseLatest"/> value="ToolFirmwareOption.UseLatest"/>
<property key="ToolFirmwareToolPack" <property key="ToolFirmwareToolPack"
value="Press to select which tool pack to use"/> value="Press to select which tool pack to use"/>
<property key="communication.interface" value="dw"/> <property key="communication.interface" value="isp"/>
<property key="communication.interface.jtag" value="2wire"/> <property key="communication.interface.jtag" value="2wire"/>
<property key="communication.speed" value="0.125"/> <property key="communication.speed" value="0.125"/>
<property key="debugoptions.debug-startup" value="Use system settings"/> <property key="debugoptions.debug-startup" value="Use system settings"/>
@ -164,7 +164,7 @@
value="ToolFirmwareOption.UseLatest"/> value="ToolFirmwareOption.UseLatest"/>
<property key="ToolFirmwareToolPack" <property key="ToolFirmwareToolPack"
value="Press to select which tool pack to use"/> value="Press to select which tool pack to use"/>
<property key="communication.interface" value="dw"/> <property key="communication.interface" value="isp"/>
<property key="communication.interface.jtag" value="2wire"/> <property key="communication.interface.jtag" value="2wire"/>
<property key="communication.speed" value="0.125"/> <property key="communication.speed" value="0.125"/>
<property key="debugoptions.debug-startup" value="Use system settings"/> <property key="debugoptions.debug-startup" value="Use system settings"/>