fix dynamic indication

This commit is contained in:
Sergey Yarkov 2023-06-22 12:36:47 +03:00
parent d9346953f4
commit 3891e13bea
No known key found for this signature in database
GPG Key ID: E91CE1FABC619B6F
8 changed files with 665 additions and 665 deletions

View File

@ -1,63 +1,64 @@
:020000020000FC
:0200000069C0D5
:0200000073C0CB
:0200160018953B
:10001A0015C00F931F932F933F930FB7B49908C03E
:10002A0020916000203009F003C011E010936000B5
:10003A000FBF3F912F911F910F9118954F935F9387
:10004A000F935FB74091670045300CF403C0442713
:10005A0040936700403081F49398949895980EF0F5
:10006A0002C00BE002C000916500002311F0929AD1
:10007A0001C092985ED1D9D0413041F492989498B7
:10008A009598939A0091640054D1CFD0423059F494
:10009A00929893989598949A009163004AD1002D6A
:1000AA000F77002EC2D0433041F4929893989498D7
:1000BA00959A00916C003DD1B8D043954093670062
:1000CA005FBF0F915F914F9118950FED0DBF0EE72E
:1000DA0001BB01EE07BB0CE108BB02E000BF05E073
:1000EA0003BF09E106BF01E009BF00E20BBF0CE153
:1000FA0000BD11241092670000E000936000002701
:10010A0000936A0000936B0000EF00936C001CD10F
:10011A0080E090E000916000003079F4F0D070FD4A
:10012A00969A70FF969877D01AD119D12AD0109141
:10013A006A00812F10916B00912F013011F4DFD0EA
:10014A0080D0023039F71BE01093630010936400EB
:10015A0010936500109366000000DCCFEE24FF18B0
:10016A0041E1001F111F4A9509F40895EE1CFF1C76
:10017A00E21AF30A20F4E20EF31E8894F2CF0894EE
:10018A00F0CF0F931F932F933F934F9368D00CECAC
:10019A00802E7AD00EEB802E77D0AAE6B0E095D0EA
:1001AA00ABE6B0E092D010916A0020916B002F93D9
:1001BA00287F283F11F0E89409C02F916894109580
:1001CA00209531E0130F30E0231F01C02F912695AF
:1001DA001795269517952695179526951795309173
:1001EA006A000EF43195432F3F70432F330F330FBC
:1001FA00330F440F340F369536953695369510934E
:10020A006A0020936B0030936C004F913F912F91BD
:10021A001F910F9108950F9322D00CEC802E34D0A9
:10022A0004E4802E31D00F9108950F930FB800E4A3
:10023A000EB90BE10DB9769BFDCFC09AC0980F910C
:10024A0008950F938CD0B29B0196B39B0197B49BF0
:10025A0001C003C000E0009360000F910895F89474
:10026A00B99A33E04EEB8BD0B99830E04AE887D0A0
:10027A0005D033E042E383D078940895B19B71604E
:10028A0002C0B1997E7F08950F931F93082D18E03D
:10029A00069508F458F0F894B99A30E046E76FD01A
:1002AA00B99830E042E16BD078940AC0F894B99AD0
:1002BA0030E04AE064D0B99830E04EE760D07894F4
:1002CA001A9531F71F910F9108950F931F930027E5
:1002DA0018E0F8940695B99A30E04AE050D0B998F7
:1002EA0030E040E14CD0B199006830E04CE647D0AC
:1002FA001A9581F70C9378941F910F910895F894A9
:10030A005F9354E0A3E6B0E08093610090936200AB
:10031A0000916100109162002AE030E01FDFED9247
:10032A0000936100109362005A9591F75F91789457
:10033A0008950F931F93E0EBF3E01127E00FF11FED
:10034A0004901F910F910895C59A1DD0C5980895DC
:10035A00C59A19D018D017D016D0C59808950F93FA
:10036A001F932F932AE01FEF0FEF0A95F1F71A95C3
:10037A00D9F72A95C1F72F911F910F9108954150EE
:10038A003040E8F708950F931F932F9326E00FEF5D
:10039A001FEF1A95F1F70A95D9F72A95C1F72F9108
:1003AA001F910F910895C0F9A4B0999282F8809094
:0203BA009CBFE6
:10004A000F931F935FB74091670045300CF403C0CC
:10005A00442740936700403081F493989498959888
:10006A000EF002C00BE002C000916500002311F0FF
:10007A00929A01C0929867D1E2D0413081F4929865
:10008A00949895980091640030916500032B11F0C3
:10009A00939A01C093980091640055D1D0D0423010
:1000AA0059F4929893989598949A009163004BD139
:1000BA00002D0F77002EC3D0433041F492989398C5
:1000CA009498959A00916C003ED1B9D0439540938B
:1000DA0067005FBF1F910F915F914F9118950FEDC8
:1000EA000DBF0EE701BB01EE07BB0CE108BB02E046
:1000FA0000BF05E003BF09E106BF01E009BF00E256
:10010A000BBF0CE100BD11241092670000E00093C0
:10011A006000002700936A0000936B0000EF0093D1
:10012A006C001CD180E090E000916000003079F40E
:10013A00F0D070FD969A70FF969877D01AD119D19F
:10014A002AD010916A00812F10916B00912F0130F3
:10015A0011F4DFD080D0023039F71BE0109363002E
:10016A001093640010936500109366000000DCCFC2
:10017A00EE24FF1841E1001F111F4A9509F4089562
:10018A00EE1CFF1CE21AF30A20F4E20EF31E889416
:10019A00F2CF0894F0CF0F931F932F933F934F936F
:1001AA0068D00CEC802E7AD00EEB802E77D0AAE69F
:1001BA00B0E095D0ABE6B0E092D010916A00209101
:1001CA006B002F93287F283F11F0E89409C02F91E4
:1001DA0068941095209531E0130F30E0231F01C079
:1001EA002F91269517952695179526951795269555
:1001FA00179530916A000EF43195432F3F70432FC3
:10020A00330F330F330F440F340F36953695369527
:10021A00369510936A0020936B0030936C004F91CF
:10022A003F912F911F910F9108950F9322D00CECBB
:10023A00802E34D004E4802E31D00F9108950F938C
:10024A000FB800E40EB90BE10DB9769BFDCFC09A49
:10025A00C0980F9108950F938CD0B29B0196B39BCF
:10026A000197B49B01C003C000E0009360000F91A6
:10027A000895F894B99A33E04EEB8BD0B99830E0F0
:10028A004AE887D005D033E042E383D078940895D2
:10029A00B19B716002C0B1997E7F08950F931F933D
:1002AA00082D18E0069508F458F0F894B99A30E049
:1002BA0046E76FD0B99830E042E16BD078940AC033
:1002CA00F894B99A30E04AE064D0B99830E04EE741
:1002DA0060D078941A9531F71F910F9108950F9372
:1002EA001F93002718E0F8940695B99A30E04AE07F
:1002FA0050D0B99830E040E14CD0B199006830E074
:10030A004CE647D01A9581F70C9378941F910F9178
:10031A000895F8945F9354E0A3E6B0E080936100F7
:10032A009093620000916100109162002AE030E02F
:10033A001FDFED9200936100109362005A9591F7C6
:10034A005F91789408950F931F93E4ECF3E01127DB
:10035A00E00FF11F04901F910F910895C59A1DD0C7
:10036A00C5980895C59A19D018D017D016D0C5982F
:10037A0008950F931F932F932AE01FEF0FEF0A950B
:10038A00F1F71A95D9F72A95C1F72F911F910F9175
:10039A00089541503040E8F708950F931F932F9323
:1003AA0026E00FEF1FEF1A95F1F70A95D9F72A956C
:1003BA00C1F72F911F910F910895C0F9A4B0999296
:0603CA0082F880909CBF48
:00000001FF

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
AVRASM ver. 2.2.7 main.asm Thu Jun 22 06:32:38 2023
AVRASM ver. 2.2.7 main.asm Thu Jun 22 12:07:49 2023
EQU SIGNATURE_000 0000001e
@ -533,31 +533,30 @@ DSEG HYSTERESIS 00000069
DSEG TEMP_L 0000006a
DSEG TEMP_H 0000006b
DSEG TEMP_F 0000006c
CSEG RESET_vect 0000006a
CSEG RESET_vect 00000074
CSEG TIMER0_COMPA_vect 00000023
CSEG PCINT0_vect 0000000e
CSEG _PCINT0_vect_end 0000001d
CSEG _INTO_PROGRAM_STATE 0000001a
CSEG _CLR_CURRENT_DIGIT 0000002c
CSEG _indicate_1 0000002f
CSEG _indicate_2 00000041
CSEG DISPLAY_DECODER 0000019e
CSEG USI_TRANSMIT 0000011a
CSEG _indicate_3 0000004b
CSEG _indicate_4 00000058
CSEG _indicate_exit 00000062
CSEG MCU_INIT 0000006c
CSEG continue 0000007e
CSEG BEEP_SHORT 000001a9
CSEG LOOP 0000008f
CSEG _STATE_DEFAULT 00000091
CSEG _STATE_PROGRAM 000000a2
CSEG DISPLAY_UPD_DIGITS 00000184
CSEG TEMP_CONV 00000110
CSEG DEBOUNCE_SW 000001b4
CSEG TEMP_RD 000000c6
CSEG _STATE_ERROR 000000a6
CSEG SW_CHECK_PROCESS 00000126
CSEG _CLR_CURRENT_DIGIT 0000002d
CSEG _indicate_1 00000030
CSEG _indicate_2 00000042
CSEG DISPLAY_DECODER 000001a8
CSEG USI_TRANSMIT 00000124
CSEG _indicate_3 00000054
CSEG _indicate_4 00000061
CSEG _indicate_exit 0000006b
CSEG MCU_INIT 00000076
CSEG BEEP_SHORT 000001b3
CSEG LOOP 00000099
CSEG _STATE_DEFAULT 0000009b
CSEG _STATE_PROGRAM 000000ac
CSEG DISPLAY_UPD_DIGITS 0000018e
CSEG TEMP_CONV 0000011a
CSEG DEBOUNCE_SW 000001be
CSEG TEMP_RD 000000d0
CSEG _STATE_ERROR 000000b0
CSEG SW_CHECK_PROCESS 00000130
DEF drem16uL r14
DEF drem16uH r15
DEF dres16uL r16
@ -567,38 +566,38 @@ DEF dd16uH r17
DEF dv16uL r18
DEF dv16uH r19
DEF dcnt16u r20
CSEG div16u 000000b3
CSEG d16u_1 000000b6
CSEG d16u_2 000000bb
CSEG d16u_3 000000c4
CSEG OW_PRESENCE 00000134
CSEG OW_SEND_BYTE 00000149
CSEG OW_RD_BYTE 0000016a
CSEG _TEMP_RD_TO_UNSIGNED 000000e2
CSEG _TEMP_RD_CONTINUE 000000eb
CSEG _TEMP_RD_END 000000f4
CSEG _USI_TRANSMIT_LOOP 0000011f
CSEG _INTO_DEFAULT_STATE 0000012f
CSEG _SW_CHECK_PROCESS_END 00000132
CSEG DELAY_LOOP_16 000001c4
CSEG OW_CHECK_PRESENCE 00000143
CSEG _EXIT 00000148
CSEG _OW_SEND_BYTE_LOOP 0000014d
CSEG _OW_SEND_0 00000150
CSEG _OW_SEND_1 0000015b
CSEG _OW_SEND_BYTE_END 00000165
CSEG _OW_RD_BYTE_LP 0000016f
CSEG div16u 000000bd
CSEG d16u_1 000000c0
CSEG d16u_2 000000c5
CSEG d16u_3 000000ce
CSEG OW_PRESENCE 0000013e
CSEG OW_SEND_BYTE 00000153
CSEG OW_RD_BYTE 00000174
CSEG _TEMP_RD_TO_UNSIGNED 000000ec
CSEG _TEMP_RD_CONTINUE 000000f5
CSEG _TEMP_RD_END 000000fe
CSEG _USI_TRANSMIT_LOOP 00000129
CSEG _INTO_DEFAULT_STATE 00000139
CSEG _SW_CHECK_PROCESS_END 0000013c
CSEG DELAY_LOOP_16 000001ce
CSEG OW_CHECK_PRESENCE 0000014d
CSEG _EXIT 00000152
CSEG _OW_SEND_BYTE_LOOP 00000157
CSEG _OW_SEND_0 0000015a
CSEG _OW_SEND_1 00000165
CSEG _OW_SEND_BYTE_END 0000016f
CSEG _OW_RD_BYTE_LP 00000179
EQU dividend 00000061
EQU divisor 0000000a
CSEG DIV_LOOP 0000018d
CSEG DISPLAY_SYMBOLS 000001d8
CSEG DELAY 000001c8
CSEG BEEP_LONG 000001ad
CSEG _loop_2 000001b8
CSEG _loop_0 000001b9
CSEG _dec_0 000001ba
CSEG _loop_1 000001bc
CSEG _loop_3 000001be
CSEG _DELAY_0 000001cc
CSEG _DELAY_1 000001cd
CSEG _DELAY_2 000001ce
CSEG DIV_LOOP 00000197
CSEG DISPLAY_SYMBOLS 000001e2
CSEG DELAY 000001d2
CSEG BEEP_LONG 000001b7
CSEG _loop_2 000001c2
CSEG _loop_0 000001c3
CSEG _dec_0 000001c4
CSEG _loop_1 000001c6
CSEG _loop_3 000001c8
CSEG _DELAY_0 000001d6
CSEG _DELAY_1 000001d7
CSEG _DELAY_2 000001d8

View File

@ -33,63 +33,62 @@
<TEMP_L><FILE>main.asm</FILE><LINE>30</LINE></TEMP_L>
<TEMP_H><FILE>main.asm</FILE><LINE>31</LINE></TEMP_H>
<TEMP_F><FILE>main.asm</FILE><LINE>32</LINE></TEMP_F>
<RESET_vect><FILE>main.asm</FILE><LINE>182</LINE></RESET_vect>
<RESET_vect><FILE>main.asm</FILE><LINE>183</LINE></RESET_vect>
<TIMER0_COMPA_vect><FILE>main.asm</FILE><LINE>88</LINE></TIMER0_COMPA_vect>
<PCINT0_vect><FILE>main.asm</FILE><LINE>53</LINE></PCINT0_vect>
<_PCINT0_vect_end><FILE>main.asm</FILE><LINE>78</LINE></_PCINT0_vect_end>
<_INTO_PROGRAM_STATE><FILE>main.asm</FILE><LINE>74</LINE></_INTO_PROGRAM_STATE>
<_CLR_CURRENT_DIGIT><FILE>main.asm</FILE><LINE>99</LINE></_CLR_CURRENT_DIGIT>
<_indicate_1><FILE>main.asm</FILE><LINE>103</LINE></_indicate_1>
<_indicate_2><FILE>main.asm</FILE><LINE>125</LINE></_indicate_2>
<DISPLAY_DECODER><FILE>main.asm</FILE><LINE>578</LINE></DISPLAY_DECODER>
<USI_TRANSMIT><FILE>main.asm</FILE><LINE>391</LINE></USI_TRANSMIT>
<_CLR_CURRENT_DIGIT><FILE>main.asm</FILE><LINE>100</LINE></_CLR_CURRENT_DIGIT>
<_indicate_1><FILE>main.asm</FILE><LINE>104</LINE></_indicate_1>
<_indicate_2><FILE>main.asm</FILE><LINE>124</LINE></_indicate_2>
<DISPLAY_DECODER><FILE>main.asm</FILE><LINE>577</LINE></DISPLAY_DECODER>
<USI_TRANSMIT><FILE>main.asm</FILE><LINE>390</LINE></USI_TRANSMIT>
<_indicate_3><FILE>main.asm</FILE><LINE>142</LINE></_indicate_3>
<_indicate_4><FILE>main.asm</FILE><LINE>158</LINE></_indicate_4>
<_indicate_exit><FILE>main.asm</FILE><LINE>170</LINE></_indicate_exit>
<MCU_INIT><FILE>main.asm</FILE><LINE>188</LINE></MCU_INIT>
<continue><FILE>main.asm</FILE><LINE>211</LINE></continue>
<BEEP_SHORT><FILE>main.asm</FILE><LINE>594</LINE></BEEP_SHORT>
<LOOP><FILE>main.asm</FILE><LINE>233</LINE></LOOP>
<_STATE_DEFAULT><FILE>main.asm</FILE><LINE>237</LINE></_STATE_DEFAULT>
<_STATE_PROGRAM><FILE>main.asm</FILE><LINE>256</LINE></_STATE_PROGRAM>
<DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>537</LINE></DISPLAY_UPD_DIGITS>
<TEMP_CONV><FILE>main.asm</FILE><LINE>371</LINE></TEMP_CONV>
<DEBOUNCE_SW><FILE>main.asm</FILE><LINE>612</LINE></DEBOUNCE_SW>
<TEMP_RD><FILE>main.asm</FILE><LINE>279</LINE></TEMP_RD>
<_STATE_ERROR><FILE>main.asm</FILE><LINE>261</LINE></_STATE_ERROR>
<SW_CHECK_PROCESS><FILE>main.asm</FILE><LINE>422</LINE></SW_CHECK_PROCESS>
<MCU_INIT><FILE>main.asm</FILE><LINE>189</LINE></MCU_INIT>
<BEEP_SHORT><FILE>main.asm</FILE><LINE>593</LINE></BEEP_SHORT>
<LOOP><FILE>main.asm</FILE><LINE>232</LINE></LOOP>
<_STATE_DEFAULT><FILE>main.asm</FILE><LINE>236</LINE></_STATE_DEFAULT>
<_STATE_PROGRAM><FILE>main.asm</FILE><LINE>255</LINE></_STATE_PROGRAM>
<DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>536</LINE></DISPLAY_UPD_DIGITS>
<TEMP_CONV><FILE>main.asm</FILE><LINE>370</LINE></TEMP_CONV>
<DEBOUNCE_SW><FILE>main.asm</FILE><LINE>611</LINE></DEBOUNCE_SW>
<TEMP_RD><FILE>main.asm</FILE><LINE>278</LINE></TEMP_RD>
<_STATE_ERROR><FILE>main.asm</FILE><LINE>260</LINE></_STATE_ERROR>
<SW_CHECK_PROCESS><FILE>main.asm</FILE><LINE>421</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>
<d16u_3><FILE>div16u.asm</FILE><LINE>52</LINE></d16u_3>
<OW_PRESENCE><FILE>main.asm</FILE><LINE>446</LINE></OW_PRESENCE>
<OW_SEND_BYTE><FILE>main.asm</FILE><LINE>473</LINE></OW_SEND_BYTE>
<OW_RD_BYTE><FILE>main.asm</FILE><LINE>506</LINE></OW_RD_BYTE>
<_TEMP_RD_TO_UNSIGNED><FILE>main.asm</FILE><LINE>314</LINE></_TEMP_RD_TO_UNSIGNED>
<_TEMP_RD_CONTINUE><FILE>main.asm</FILE><LINE>325</LINE></_TEMP_RD_CONTINUE>
<_TEMP_RD_END><FILE>main.asm</FILE><LINE>335</LINE></_TEMP_RD_END>
<_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>409</LINE></_USI_TRANSMIT_LOOP>
<_INTO_DEFAULT_STATE><FILE>main.asm</FILE><LINE>435</LINE></_INTO_DEFAULT_STATE>
<_SW_CHECK_PROCESS_END><FILE>main.asm</FILE><LINE>438</LINE></_SW_CHECK_PROCESS_END>
<DELAY_LOOP_16><FILE>main.asm</FILE><LINE>638</LINE></DELAY_LOOP_16>
<OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>462</LINE></OW_CHECK_PRESENCE>
<_EXIT><FILE>main.asm</FILE><LINE>468</LINE></_EXIT>
<_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>478</LINE></_OW_SEND_BYTE_LOOP>
<_OW_SEND_0><FILE>main.asm</FILE><LINE>482</LINE></_OW_SEND_0>
<_OW_SEND_1><FILE>main.asm</FILE><LINE>490</LINE></_OW_SEND_1>
<_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>497</LINE></_OW_SEND_BYTE_END>
<_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>512</LINE></_OW_RD_BYTE_LP>
<DIV_LOOP><FILE>main.asm</FILE><LINE>554</LINE></DIV_LOOP>
<DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>670</LINE></DISPLAY_SYMBOLS>
<DELAY><FILE>main.asm</FILE><LINE>645</LINE></DELAY>
<BEEP_LONG><FILE>main.asm</FILE><LINE>602</LINE></BEEP_LONG>
<_loop_2><FILE>main.asm</FILE><LINE>618</LINE></_loop_2>
<_loop_0><FILE>main.asm</FILE><LINE>620</LINE></_loop_0>
<_dec_0><FILE>main.asm</FILE><LINE>622</LINE></_dec_0>
<_loop_1><FILE>main.asm</FILE><LINE>625</LINE></_loop_1>
<_loop_3><FILE>main.asm</FILE><LINE>628</LINE></_loop_3>
<_DELAY_0><FILE>main.asm</FILE><LINE>651</LINE></_DELAY_0>
<_DELAY_1><FILE>main.asm</FILE><LINE>653</LINE></_DELAY_1>
<_DELAY_2><FILE>main.asm</FILE><LINE>655</LINE></_DELAY_2>
<OW_PRESENCE><FILE>main.asm</FILE><LINE>445</LINE></OW_PRESENCE>
<OW_SEND_BYTE><FILE>main.asm</FILE><LINE>472</LINE></OW_SEND_BYTE>
<OW_RD_BYTE><FILE>main.asm</FILE><LINE>505</LINE></OW_RD_BYTE>
<_TEMP_RD_TO_UNSIGNED><FILE>main.asm</FILE><LINE>313</LINE></_TEMP_RD_TO_UNSIGNED>
<_TEMP_RD_CONTINUE><FILE>main.asm</FILE><LINE>324</LINE></_TEMP_RD_CONTINUE>
<_TEMP_RD_END><FILE>main.asm</FILE><LINE>334</LINE></_TEMP_RD_END>
<_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>408</LINE></_USI_TRANSMIT_LOOP>
<_INTO_DEFAULT_STATE><FILE>main.asm</FILE><LINE>434</LINE></_INTO_DEFAULT_STATE>
<_SW_CHECK_PROCESS_END><FILE>main.asm</FILE><LINE>437</LINE></_SW_CHECK_PROCESS_END>
<DELAY_LOOP_16><FILE>main.asm</FILE><LINE>637</LINE></DELAY_LOOP_16>
<OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>461</LINE></OW_CHECK_PRESENCE>
<_EXIT><FILE>main.asm</FILE><LINE>467</LINE></_EXIT>
<_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>477</LINE></_OW_SEND_BYTE_LOOP>
<_OW_SEND_0><FILE>main.asm</FILE><LINE>481</LINE></_OW_SEND_0>
<_OW_SEND_1><FILE>main.asm</FILE><LINE>489</LINE></_OW_SEND_1>
<_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>496</LINE></_OW_SEND_BYTE_END>
<_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>511</LINE></_OW_RD_BYTE_LP>
<DIV_LOOP><FILE>main.asm</FILE><LINE>553</LINE></DIV_LOOP>
<DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>669</LINE></DISPLAY_SYMBOLS>
<DELAY><FILE>main.asm</FILE><LINE>644</LINE></DELAY>
<BEEP_LONG><FILE>main.asm</FILE><LINE>601</LINE></BEEP_LONG>
<_loop_2><FILE>main.asm</FILE><LINE>617</LINE></_loop_2>
<_loop_0><FILE>main.asm</FILE><LINE>619</LINE></_loop_0>
<_dec_0><FILE>main.asm</FILE><LINE>621</LINE></_dec_0>
<_loop_1><FILE>main.asm</FILE><LINE>624</LINE></_loop_1>
<_loop_3><FILE>main.asm</FILE><LINE>627</LINE></_loop_3>
<_DELAY_0><FILE>main.asm</FILE><LINE>650</LINE></_DELAY_0>
<_DELAY_1><FILE>main.asm</FILE><LINE>652</LINE></_DELAY_1>
<_DELAY_2><FILE>main.asm</FILE><LINE>654</LINE></_DELAY_2>
</LABELS>
</ASSEMBLER_INFO>

View File

@ -20,5 +20,5 @@
.MACRO DELAY16
ldi DELAY_16_r, HIGH(@0*F_CPU/4-2)
ldi DELAY_8_r, LOW(@0*F_CPU/4-2)
rcall DELAY_LOOP_16
rcall DELAY_LOOP_16
.ENDMACRO

View File

@ -89,6 +89,7 @@ TIMER0_COMPA_vect:
push r20
push r21
push r16
push r17
in r21, SREG
lds r20, CURRENT_DIGIT
@ -107,7 +108,6 @@ _indicate_1:
cbi PORTD, DIGIT_2_PIN
cbi PORTD, DIGIT_3_PIN
cbi PORTD, DIGIT_4_PIN
; lds TEMP_REG_A, DIGITS+2
brts PC+2
rjmp PC+3
ldi TEMP_REG_A, 11 ; // -
@ -118,7 +118,6 @@ _indicate_1:
sbi PORTD, DIGIT_1_PIN
rjmp PC+2
cbi PORTD, DIGIT_1_PIN
; lds TEMP_REG_A, DIGITS+2
rcall DISPLAY_DECODER
rcall USI_TRANSMIT
@ -129,12 +128,13 @@ _indicate_2:
cbi PORTD, DIGIT_1_PIN
cbi PORTD, DIGIT_3_PIN
cbi PORTD, DIGIT_4_PIN
; lds TEMP_REG_A, DIGITS+1
; tst TEMP_REG_A
; breq PC+3
sbi PORTD, DIGIT_2_PIN
; rjmp PC+2
; cbi PORTD, DIGIT_1_PIN
lds TEMP_REG_A, DIGITS+1
lds r19, DIGITS+2
or TEMP_REG_A, r19
breq PC+3
sbi PORTD, DIGIT_2_PIN
rjmp PC+2
cbi PORTD, DIGIT_2_PIN
lds TEMP_REG_A, DIGITS+1
rcall DISPLAY_DECODER
rcall USI_TRANSMIT
@ -172,6 +172,7 @@ _indicate_exit:
sts CURRENT_DIGIT, r20
out SREG, r21
pop r17
pop r16
pop r21
pop r20
@ -207,8 +208,6 @@ MCU_INIT:
; outi r16, UCSRB, (1<<RXEN) ; Включение передачии
; outi r16, UCSRC, (1<<UCSZ1) | (1<<UCSZ0) ; Асинхронный режим, 8 бит фрейм, 1 стоповый бит
continue:
clr r1
sts CURRENT_DIGIT, r1

107
main.hex
View File

@ -1,5 +1,5 @@
:020000020000FC
:0200000069C0D5
:0200000072C0CC
:0200160018953B
:10001A0015C00F931F932F933F930FB7B49908C03E
:10002A0020916000203009F003C011E010936000B5
@ -7,55 +7,58 @@
:10004A000F935FB74091670045300CF403C0442713
:10005A0040936700403081F49398949895980EF0F5
:10006A0002C00BE002C000916500002311F0929AD1
:10007A0001C0929864D1DFD0413041F492989498AB
:10008A009598939A009164005AD1D5D0423059F488
:10009A00929893989598949A0091630050D1002D64
:1000AA000F77002EC8D0433041F4929893989498D1
:1000BA00959A00916C0043D1BED043954093670056
:1000CA005FBF0F915F914F9118950FED0DBF0EE72E
:1000DA0001BB01EE07BB0CE108BB02E000BF05E073
:1000EA0003BF09E106BF01E009BF00E20BBF0CE153
:1000FA0000BD11241092670000E000936000002701
:10010A0000936A0000936B0000EF00936C00C59A9D
:10011A0021D1C59880E090E000916000003079F428
:10012A00F4D070FD969A70FF96987BD013D112D1B5
:10013A002ED010916A00812F10916B00912F0130FF
:10014A0011F4E3D084D0023039F71BE01093630036
:10015A001093640010936500109366000000DCCFD2
:10016A00EE24FF1841E1001F111F4A9509F4089572
:10017A00EE1CFF1CE21AF30A20F4E20EF31E889426
:10018A00F2CF0894F0CF41503040E8F708950F932A
:10019A001F932F933F934F9368D00CEC802E7AD005
:1001AA000EEB802E77D0AAE6B0E095D0ABE6B0E0B1
:1001BA0092D010916A0020916B002F93287F283FDC
:1001CA0011F0E89409C02F9168941095209531E0B8
:1001DA00130F30E0231F01C02F91269517952695FE
:1001EA001795269517952695179530916A000EF45E
:1001FA003195432F3F70432F330F330F330F440F83
:10020A00340F369536953695369510936A002093B5
:10021A006B0030936C004F913F912F911F910F917A
:10022A0008950F9322D00CEC802E34D004E4802E53
:10023A0031D00F9108950F930FB800E40EB90BE176
:10024A000DB9769BFDCFC09AC0980F9108950F9370
:10025A0081D0B29B0196B39B0197B49B01C003C0A6
:10026A0000E0009360000F910895F894B99A33E082
:10027A004EEB89DFB99830E04AE885DF05D033E0F4
:10028A0042E381DF78940895B19B716002C0B1990D
:10029A007E7F08950F931F93082D18E0069508F4A2
:1002AA0058F0F894B99A30E046E76DDFB99830E033
:1002BA0042E169DF78940AC0F894B99A30E04AE0DA
:1002CA0062DFB99830E04EE75EDF78941A9531F72D
:1002DA001F910F9108950F931F93002718E0F89428
:1002EA000695B99A30E04AE04EDFB99830E040E12D
:1002FA004ADFB199006830E04CE645DF1A9581F78C
:10030A000C9378941F910F910895F8945F9354E099
:10031A00A3E6B0E0809361009093620000916100CF
:10032A00109162002AE030E01BDFED920093610039
:10033A00109362005A9591F75F91789408950F93FC
:10034A001F93EAE9F3E01127E00FF11F04901F91D0
:10035A000F9108950F931F932F932AE01FEF0FEF2A
:10036A000A95F1F71A95D9F72A95C1F72F911F9196
:10037A000F9108950F931F930FEF1FEF1A95000027
:10038A0000000000D9F70A95C1F71F910F9108954F
:0C039A00C0F9A4B0999282F880909CBF3A
:10007A0001C0929867D1E2D0413089F4929894985D
:10008A0095980091630010916400012319F000C053
:10009A00939A01C092980091640054D1CFD0423013
:1000AA0059F4929893989598949A009163004AD13A
:1000BA00002D0F77002EC2D0433041F492989398C6
:1000CA009498959A00916C003DD1B8D0439540938D
:1000DA0067005FBF0F915F914F9118950FED0DBFAC
:1000EA000EE701BB01EE07BB0CE108BB02E000BF53
:1000FA0005E003BF09E106BF01E009BF00E20BBF4B
:10010A000CE100BD11241092670000E0009360002A
:10011A00002700936A0000936B0000EF00936C00C5
:10012A001CD180E090E000916000003079F4F0D0BA
:10013A0070FD969A70FF969877D01AD119D12AD065
:10014A0010916A00812F10916B00912F013011F4E8
:10015A00DFD080D0023039F71BE010936300109390
:10016A00640010936500109366000000DCCFEE2453
:10017A00FF1841E1001F111F4A9509F40895EE1C6A
:10018A00FF1CE21AF30A20F4E20EF31E8894F2CF5F
:10019A000894F0CF0F931F932F933F934F9368D0F8
:1001AA000CEC802E7AD00EEB802E77D0AAE6B0E047
:1001BA0095D0ABE6B0E092D010916A0020916B0026
:1001CA002F93287F283F11F0E89409C02F91689453
:1001DA001095209531E0130F30E0231F01C02F91B5
:1001EA002695179526951795269517952695179569
:1001FA0030916A000EF43195432F3F70432F330F2D
:10020A00330F330F440F340F36953695369536959E
:10021A0010936A0020936B0030936C004F913F91CA
:10022A002F911F910F9108950F9322D00CEC802EDD
:10023A0034D004E4802E31D00F9108950F930FB873
:10024A0000E40EB90BE10DB9769BFDCFC09AC098B8
:10025A000F9108950F938CD0B29B0196B39B01978F
:10026A00B49B01C003C000E0009360000F910895A1
:10027A00F894B99A33E04EEB8BD0B99830E04AE85B
:10028A0087D005D033E042E383D078940895B19BB8
:10029A00716002C0B1997E7F08950F931F93082D54
:1002AA0018E0069508F458F0F894B99A30E046E751
:1002BA006FD0B99830E042E16BD078940AC0F894D4
:1002CA00B99A30E04AE064D0B99830E04EE760D09D
:1002DA0078941A9531F71F910F9108950F931F93F0
:1002EA00002718E0F8940695B99A30E04AE050D011
:1002FA00B99830E040E14CD0B199006830E04CE662
:10030A0047D01A9581F70C9378941F910F9108950D
:10031A00F8945F9354E0A3E6B0E080936100909371
:10032A00620000916100109162002AE030E01FDF54
:10033A00ED9200936100109362005A9591F75F91D4
:10034A00789408950F931F93E2ECF3E01127E00FDE
:10035A00F11F04901F910F910895C59A1DD0C59859
:10036A000895C59A19D018D017D016D0C5980895EF
:10037A000F931F932F932AE01FEF0FEF0A95F1F7C0
:10038A001A95D9F72A95C1F72F911F910F910895C0
:10039A0041503040E8F708950F931F932F9326E0BA
:1003AA000FEF1FEF1A95F1F70A95D9F72A95C1F7BA
:1003BA002F911F910F910895C0F9A4B0999282F8D4
:0403CA0080909CBFC4
:00000001FF