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 :020000020000FC
:0200000069C0D5 :0200000073C0CB
:0200160018953B :0200160018953B
:10001A0015C00F931F932F933F930FB7B49908C03E :10001A0015C00F931F932F933F930FB7B49908C03E
:10002A0020916000203009F003C011E010936000B5 :10002A0020916000203009F003C011E010936000B5
:10003A000FBF3F912F911F910F9118954F935F9387 :10003A000FBF3F912F911F910F9118954F935F9387
:10004A000F935FB74091670045300CF403C0442713 :10004A000F931F935FB74091670045300CF403C0CC
:10005A0040936700403081F49398949895980EF0F5 :10005A00442740936700403081F493989498959888
:10006A0002C00BE002C000916500002311F0929AD1 :10006A000EF002C00BE002C000916500002311F0FF
:10007A0001C092985ED1D9D0413041F492989498B7 :10007A00929A01C0929867D1E2D0413081F4929865
:10008A009598939A0091640054D1CFD0423059F494 :10008A00949895980091640030916500032B11F0C3
:10009A00929893989598949A009163004AD1002D6A :10009A00939A01C093980091640055D1D0D0423010
:1000AA000F77002EC2D0433041F4929893989498D7 :1000AA0059F4929893989598949A009163004BD139
:1000BA00959A00916C003DD1B8D043954093670062 :1000BA00002D0F77002EC3D0433041F492989398C5
:1000CA005FBF0F915F914F9118950FED0DBF0EE72E :1000CA009498959A00916C003ED1B9D0439540938B
:1000DA0001BB01EE07BB0CE108BB02E000BF05E073 :1000DA0067005FBF1F910F915F914F9118950FEDC8
:1000EA0003BF09E106BF01E009BF00E20BBF0CE153 :1000EA000DBF0EE701BB01EE07BB0CE108BB02E046
:1000FA0000BD11241092670000E000936000002701 :1000FA0000BF05E003BF09E106BF01E009BF00E256
:10010A0000936A0000936B0000EF00936C001CD10F :10010A000BBF0CE100BD11241092670000E00093C0
:10011A0080E090E000916000003079F4F0D070FD4A :10011A006000002700936A0000936B0000EF0093D1
:10012A00969A70FF969877D01AD119D12AD0109141 :10012A006C001CD180E090E000916000003079F40E
:10013A006A00812F10916B00912F013011F4DFD0EA :10013A00F0D070FD969A70FF969877D01AD119D19F
:10014A0080D0023039F71BE01093630010936400EB :10014A002AD010916A00812F10916B00912F0130F3
:10015A0010936500109366000000DCCFEE24FF18B0 :10015A0011F4DFD080D0023039F71BE0109363002E
:10016A0041E1001F111F4A9509F40895EE1CFF1C76 :10016A001093640010936500109366000000DCCFC2
:10017A00E21AF30A20F4E20EF31E8894F2CF0894EE :10017A00EE24FF1841E1001F111F4A9509F4089562
:10018A00F0CF0F931F932F933F934F9368D00CECAC :10018A00EE1CFF1CE21AF30A20F4E20EF31E889416
:10019A00802E7AD00EEB802E77D0AAE6B0E095D0EA :10019A00F2CF0894F0CF0F931F932F933F934F936F
:1001AA00ABE6B0E092D010916A0020916B002F93D9 :1001AA0068D00CEC802E7AD00EEB802E77D0AAE69F
:1001BA00287F283F11F0E89409C02F916894109580 :1001BA00B0E095D0ABE6B0E092D010916A00209101
:1001CA00209531E0130F30E0231F01C02F912695AF :1001CA006B002F93287F283F11F0E89409C02F91E4
:1001DA001795269517952695179526951795309173 :1001DA0068941095209531E0130F30E0231F01C079
:1001EA006A000EF43195432F3F70432F330F330FBC :1001EA002F91269517952695179526951795269555
:1001FA00330F440F340F369536953695369510934E :1001FA00179530916A000EF43195432F3F70432FC3
:10020A006A0020936B0030936C004F913F912F91BD :10020A00330F330F330F440F340F36953695369527
:10021A001F910F9108950F9322D00CEC802E34D0A9 :10021A00369510936A0020936B0030936C004F91CF
:10022A0004E4802E31D00F9108950F930FB800E4A3 :10022A003F912F911F910F9108950F9322D00CECBB
:10023A000EB90BE10DB9769BFDCFC09AC0980F910C :10023A00802E34D004E4802E31D00F9108950F938C
:10024A0008950F938CD0B29B0196B39B0197B49BF0 :10024A000FB800E40EB90BE10DB9769BFDCFC09A49
:10025A0001C003C000E0009360000F910895F89474 :10025A00C0980F9108950F938CD0B29B0196B39BCF
:10026A00B99A33E04EEB8BD0B99830E04AE887D0A0 :10026A000197B49B01C003C000E0009360000F91A6
:10027A0005D033E042E383D078940895B19B71604E :10027A000895F894B99A33E04EEB8BD0B99830E0F0
:10028A0002C0B1997E7F08950F931F93082D18E03D :10028A004AE887D005D033E042E383D078940895D2
:10029A00069508F458F0F894B99A30E046E76FD01A :10029A00B19B716002C0B1997E7F08950F931F933D
:1002AA00B99830E042E16BD078940AC0F894B99AD0 :1002AA00082D18E0069508F458F0F894B99A30E049
:1002BA0030E04AE064D0B99830E04EE760D07894F4 :1002BA0046E76FD0B99830E042E16BD078940AC033
:1002CA001A9531F71F910F9108950F931F930027E5 :1002CA00F894B99A30E04AE064D0B99830E04EE741
:1002DA0018E0F8940695B99A30E04AE050D0B998F7 :1002DA0060D078941A9531F71F910F9108950F9372
:1002EA0030E040E14CD0B199006830E04CE647D0AC :1002EA001F93002718E0F8940695B99A30E04AE07F
:1002FA001A9581F70C9378941F910F910895F894A9 :1002FA0050D0B99830E040E14CD0B199006830E074
:10030A005F9354E0A3E6B0E08093610090936200AB :10030A004CE647D01A9581F70C9378941F910F9178
:10031A0000916100109162002AE030E01FDFED9247 :10031A000895F8945F9354E0A3E6B0E080936100F7
:10032A0000936100109362005A9591F75F91789457 :10032A009093620000916100109162002AE030E02F
:10033A0008950F931F93E0EBF3E01127E00FF11FED :10033A001FDFED9200936100109362005A9591F7C6
:10034A0004901F910F910895C59A1DD0C5980895DC :10034A005F91789408950F931F93E4ECF3E01127DB
:10035A00C59A19D018D017D016D0C59808950F93FA :10035A00E00FF11F04901F910F910895C59A1DD0C7
:10036A001F932F932AE01FEF0FEF0A95F1F71A95C3 :10036A00C5980895C59A19D018D017D016D0C5982F
:10037A00D9F72A95C1F72F911F910F9108954150EE :10037A0008950F931F932F932AE01FEF0FEF0A950B
:10038A003040E8F708950F931F932F9326E00FEF5D :10038A00F1F71A95D9F72A95C1F72F911F910F9175
:10039A001FEF1A95F1F70A95D9F72A95C1F72F9108 :10039A00089541503040E8F708950F931F932F9323
:1003AA001F910F910895C0F9A4B0999282F8809094 :1003AA0026E00FEF1FEF1A95F1F70A95D9F72A956C
:0203BA009CBFE6 :1003BA00C1F72F911F910F910895C0F9A4B0999296
:0603CA0082F880909CBF48
: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 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 EQU SIGNATURE_000 0000001e
@ -533,31 +533,30 @@ DSEG HYSTERESIS 00000069
DSEG TEMP_L 0000006a DSEG TEMP_L 0000006a
DSEG TEMP_H 0000006b DSEG TEMP_H 0000006b
DSEG TEMP_F 0000006c DSEG TEMP_F 0000006c
CSEG RESET_vect 0000006a CSEG RESET_vect 00000074
CSEG TIMER0_COMPA_vect 00000023 CSEG TIMER0_COMPA_vect 00000023
CSEG PCINT0_vect 0000000e CSEG PCINT0_vect 0000000e
CSEG _PCINT0_vect_end 0000001d CSEG _PCINT0_vect_end 0000001d
CSEG _INTO_PROGRAM_STATE 0000001a CSEG _INTO_PROGRAM_STATE 0000001a
CSEG _CLR_CURRENT_DIGIT 0000002c CSEG _CLR_CURRENT_DIGIT 0000002d
CSEG _indicate_1 0000002f CSEG _indicate_1 00000030
CSEG _indicate_2 00000041 CSEG _indicate_2 00000042
CSEG DISPLAY_DECODER 0000019e CSEG DISPLAY_DECODER 000001a8
CSEG USI_TRANSMIT 0000011a CSEG USI_TRANSMIT 00000124
CSEG _indicate_3 0000004b CSEG _indicate_3 00000054
CSEG _indicate_4 00000058 CSEG _indicate_4 00000061
CSEG _indicate_exit 00000062 CSEG _indicate_exit 0000006b
CSEG MCU_INIT 0000006c CSEG MCU_INIT 00000076
CSEG continue 0000007e CSEG BEEP_SHORT 000001b3
CSEG BEEP_SHORT 000001a9 CSEG LOOP 00000099
CSEG LOOP 0000008f CSEG _STATE_DEFAULT 0000009b
CSEG _STATE_DEFAULT 00000091 CSEG _STATE_PROGRAM 000000ac
CSEG _STATE_PROGRAM 000000a2 CSEG DISPLAY_UPD_DIGITS 0000018e
CSEG DISPLAY_UPD_DIGITS 00000184 CSEG TEMP_CONV 0000011a
CSEG TEMP_CONV 00000110 CSEG DEBOUNCE_SW 000001be
CSEG DEBOUNCE_SW 000001b4 CSEG TEMP_RD 000000d0
CSEG TEMP_RD 000000c6 CSEG _STATE_ERROR 000000b0
CSEG _STATE_ERROR 000000a6 CSEG SW_CHECK_PROCESS 00000130
CSEG SW_CHECK_PROCESS 00000126
DEF drem16uL r14 DEF drem16uL r14
DEF drem16uH r15 DEF drem16uH r15
DEF dres16uL r16 DEF dres16uL r16
@ -567,38 +566,38 @@ DEF dd16uH r17
DEF dv16uL r18 DEF dv16uL r18
DEF dv16uH r19 DEF dv16uH r19
DEF dcnt16u r20 DEF dcnt16u r20
CSEG div16u 000000b3 CSEG div16u 000000bd
CSEG d16u_1 000000b6 CSEG d16u_1 000000c0
CSEG d16u_2 000000bb CSEG d16u_2 000000c5
CSEG d16u_3 000000c4 CSEG d16u_3 000000ce
CSEG OW_PRESENCE 00000134 CSEG OW_PRESENCE 0000013e
CSEG OW_SEND_BYTE 00000149 CSEG OW_SEND_BYTE 00000153
CSEG OW_RD_BYTE 0000016a CSEG OW_RD_BYTE 00000174
CSEG _TEMP_RD_TO_UNSIGNED 000000e2 CSEG _TEMP_RD_TO_UNSIGNED 000000ec
CSEG _TEMP_RD_CONTINUE 000000eb CSEG _TEMP_RD_CONTINUE 000000f5
CSEG _TEMP_RD_END 000000f4 CSEG _TEMP_RD_END 000000fe
CSEG _USI_TRANSMIT_LOOP 0000011f CSEG _USI_TRANSMIT_LOOP 00000129
CSEG _INTO_DEFAULT_STATE 0000012f CSEG _INTO_DEFAULT_STATE 00000139
CSEG _SW_CHECK_PROCESS_END 00000132 CSEG _SW_CHECK_PROCESS_END 0000013c
CSEG DELAY_LOOP_16 000001c4 CSEG DELAY_LOOP_16 000001ce
CSEG OW_CHECK_PRESENCE 00000143 CSEG OW_CHECK_PRESENCE 0000014d
CSEG _EXIT 00000148 CSEG _EXIT 00000152
CSEG _OW_SEND_BYTE_LOOP 0000014d CSEG _OW_SEND_BYTE_LOOP 00000157
CSEG _OW_SEND_0 00000150 CSEG _OW_SEND_0 0000015a
CSEG _OW_SEND_1 0000015b CSEG _OW_SEND_1 00000165
CSEG _OW_SEND_BYTE_END 00000165 CSEG _OW_SEND_BYTE_END 0000016f
CSEG _OW_RD_BYTE_LP 0000016f CSEG _OW_RD_BYTE_LP 00000179
EQU dividend 00000061 EQU dividend 00000061
EQU divisor 0000000a EQU divisor 0000000a
CSEG DIV_LOOP 0000018d CSEG DIV_LOOP 00000197
CSEG DISPLAY_SYMBOLS 000001d8 CSEG DISPLAY_SYMBOLS 000001e2
CSEG DELAY 000001c8 CSEG DELAY 000001d2
CSEG BEEP_LONG 000001ad CSEG BEEP_LONG 000001b7
CSEG _loop_2 000001b8 CSEG _loop_2 000001c2
CSEG _loop_0 000001b9 CSEG _loop_0 000001c3
CSEG _dec_0 000001ba CSEG _dec_0 000001c4
CSEG _loop_1 000001bc CSEG _loop_1 000001c6
CSEG _loop_3 000001be CSEG _loop_3 000001c8
CSEG _DELAY_0 000001cc CSEG _DELAY_0 000001d6
CSEG _DELAY_1 000001cd CSEG _DELAY_1 000001d7
CSEG _DELAY_2 000001ce CSEG _DELAY_2 000001d8

View File

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

View File

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

View File

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

107
main.hex
View File

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