support signed ints

This commit is contained in:
Sergey Yarkov 2023-06-20 12:56:32 +03:00
parent 59b71a21d6
commit a8117d7856
No known key found for this signature in database
GPG Key ID: E91CE1FABC619B6F
10 changed files with 879 additions and 653 deletions

View File

@ -1,49 +1,59 @@
:020000020000FC :020000020000FC
:0200000049C0F5 :0200000068C0D6
:10001A0000C04F935F930F935FB7409167004530DD :0200160018953B
:10002A000CF403C0442740936700403041F493988E :10001A0015C00F931F932F933F930FB7B49908C03E
:10003A0094989598929A009166002BD1B6D0413047 :10002A0020916000203009F003C011E010936000B5
:10004A0041F4929894989598939A0091650021D1D9 :10003A000FBF3F912F911F910F9118954F935F9387
:10005A00ACD0423041F4929893989598949A009132 :10004A000F935FB74091670045300CF403C0442713
:10006A00640017D1A2D0433041F49298939894989F :10005A0040936700403081F49398949895980EF0F5
:10007A00959A009163000DD198D0439540936700FB :10006A0002C00BE002C000916500002311F0929AD1
:10008A005FBF0F915F914F9118950FED0DBF0EE76E :10007A0001C0929851D1CCD0413041F492989498D1
:10009A0001BB01EC07BB0CE108BB02E000BF05E0B5 :10008A009598939A0091640047D1C2D0423059F4AE
:1000AA0003BF09E106BF01E009BF112410926700EE :10009A00929893989598949A009163003DD1002D77
:1000BA0000E000936000002700936A0000936B0041 :1000AA000F77002EB5D0433039F4929893989498EC
:1000CA0080E090E000916A00802F90E0009160004B :1000BA00959A00E031D1ACD04395409367005FBF79
:1000DA00003089F4C4D070FD969A70FF969859D072 :1000CA000F915F914F9118950FED0DBF0EE701BB90
:1000EA00E3D0E2D0E1D0E0D02ED010916A00812F87 :1000DA0001EC07BB0CE108BB02E000BF05E003BF6F
:1000FA0010916B00912F013011F4B1D062D002300F :1000EA0009E106BF01E009BF00E20BBF0CE100BD58
:10010A0029F71BE0109363001093640010936500B5 :1000FA0003E309B900E002B908E10AB906E003B965
:10011A00109366000000DACFEE24FF1841E1001FB9 :10010A0011241092670000E000936000002700931A
:10012A00111F4A9509F40895EE1CFF1CE21AF30AFE :10011A006A0000936B0080E090E00091600000307C
:10013A0020F4E20EF31E8894F2CF0894F0CF4150D7 :10012A0079F4E0D070FD969A70FF969867D0FFD068
:10014A003040E8F708950F931F932F93F8943FD008 :10013A00FED02ED010916A00812F10916B00912F62
:10015A000CEC802E4FD00EEB802E4CD0AAE6B0E0ED :10014A00013011F4CFD070D0023039F71BE0109390
:10016A0066D0ABE6B0E063D010916A0020916B00D4 :10015A00630010936400109365001093660000001A
:10017A0026951795269517952695179526951795D9 :10016A00DCCFEE24FF1841E1001F111F4A9509F464
:10018A0010936A0020936B0078942F911F910F911E :10017A000895EE1CFF1CE21AF30A20F4E20EF31EA5
:10019A0008950F93F8941BD00CEC802E2BD004E416 :10018A008894F2CF0894F0CF41503040E8F70895B0
:1001AA00802E28D078940F9108950F930FB800E409 :10019A000F931F932F933F9355D00CEC802E67D06B
:1001BA000EB90BE10DB9769BFDCFC09AC0980F918D :1001AA000EEB802E64D0AAE6B0E082D0ABE6B0E0D7
:1001CA00089572D0B29B0196B39B01970895B99A8C :1001BA007FD010916A0020916B002F93287F283FEF
:1001DA0033E04EEBB4DFB99830E04AE8B0DF04D040 :1001CA0011F0E89409C02F9168941095209531E0B8
:1001EA0033E042E3ACDF0895B19B716002C0B1997C :1001DA00130F30E0231F01C02F91269517952695FE
:1001FA007E7F08950F931F93082D18E0069508F443 :1001EA001795269517952695179510936A002093CB
:10020A0048F0B99A30E046E79ADFB99830E042E11F :1001FA006B003F912F911F910F9108950F9322D079
:10021A0096DF08C0B99A30E04AE091DFB99830E039 :10020A000CEC802E34D004E4802E31D00F91089566
:10022A004EE78DDF1A9551F71F910F9108950F939D :10021A000F930FB800E40EB90BE10DB9769BFDCF31
:10023A001F93002718E00695B99A30E04AE07FDF5D :10022A00C09AC0980F9108950F9381D0B29B0196FE
:10024A00B99830E040E17BDFB199006830E04CE6D4 :10023A00B39B0197B49B01C003C000E00093600028
:10025A0076DF1A9581F70C931F910F910895F89400 :10024A000F910895F894B99A33E04EEB9DDFB9986F
:10026A005F9354E0A3E6B0E080936100909362004C :10025A0030E04AE899DF05D033E042E395DF78944D
:10027A0000916100109162002AE030E04DDFED92BA :10026A000895B19B716002C0B1997E7F08950F9382
:10028A0000936100109362005A9591F75F917894F8 :10027A001F93082D18E0069508F458F0F894B99AD7
:10029A0008950F931F93EEEEF2E01127E00FF11F7E :10028A0030E046E781DFB99830E042E17DDF7894DB
:1002AA0004901F910F9108950F931F932F932AE0A3 :10029A000AC0F894B99A30E04AE076DFB99830E0BB
:1002BA001FEF0FEF0A95F1F71A95D9F72A95C1F7AB :1002AA004EE772DF78941A9531F71F910F910895EE
:1002CA002F911F910F9108950F931F930FEF1FEF17 :1002BA000F931F93002718E0F8940695B99A30E037
:1002DA001A95000000000000D9F70A95C1F71F918E :1002CA004AE062DFB99830E040E15EDFB199006848
:1002EA000F910895C0F9A4B0999282F880909CBFAA :1002DA0030E04CE659DF1A9581F70C9378941F9118
:1002EA000F910895F8945F9354E0A3E6B0E08093E9
:1002FA0061009093620000916100109162002AE00F
:10030A0030E02FDFED9200936100109362005A955E
:10031A0091F75F91789408950F931F93E4E7F3E0C0
:10032A001127E00FF11F04901F910F9108950F9369
:10033A001F932F932AE01FEF0FEF0A95F1F71A95F3
:10034A00D9F72A95C1F72F911F910F9108950F930D
:10035A001F930FEF1FEF1A95000000000000D9F756
:10036A000A95C1F71F910F910895C0F9A4B0999207
:06037A0082F880909CBF98
: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 Mon Jun 19 19:48:15 2023 AVRASM ver. 2.2.7 main.asm Tue Jun 20 12:55:26 2023
EQU SIGNATURE_000 0000001e EQU SIGNATURE_000 0000001e
@ -529,26 +529,30 @@ DSEG SW_FLAGS 00000068
DSEG HYSTERESIS 00000069 DSEG HYSTERESIS 00000069
DSEG TEMP_L 0000006a DSEG TEMP_L 0000006a
DSEG TEMP_H 0000006b DSEG TEMP_H 0000006b
CSEG RESET_vect 0000004a CSEG RESET_vect 00000069
CSEG TIMER0_COMPA_vect 0000000e CSEG TIMER0_COMPA_vect 00000023
CSEG _CLR_CURRENT_DIGIT 00000017 CSEG PCINT0_vect 0000000e
CSEG _indicate_1 0000001a CSEG _PCINT0_vect_end 0000001d
CSEG _indicate_2 00000024 CSEG _INTO_PROGRAM_STATE 0000001a
CSEG DISPLAY_DECODER 0000014e CSEG _CLR_CURRENT_DIGIT 0000002c
CSEG USI_TRANSMIT 000000da CSEG _indicate_1 0000002f
CSEG _indicate_3 0000002e CSEG _indicate_2 00000041
CSEG _indicate_4 00000038 CSEG DISPLAY_DECODER 00000191
CSEG _indicate_exit 00000042 CSEG USI_TRANSMIT 0000010d
CSEG MCU_INIT 0000004c CSEG _indicate_3 0000004b
CSEG LOOP 0000006b CSEG _indicate_4 00000058
CSEG _STATE_DEFAULT 0000006d CSEG _indicate_exit 00000061
CSEG _STATE_PROGRAM 00000080 CSEG MCU_INIT 0000006b
CSEG DISPLAY_UPD_DIGITS 00000134 CSEG continue 00000085
CSEG TEMP_CONV 000000ce CSEG LOOP 00000092
CSEG DEBOUNCE_SW 00000159 CSEG _STATE_DEFAULT 00000094
CSEG TEMP_RD 000000a8 CSEG _STATE_PROGRAM 000000a5
CSEG _STATE_ERROR 00000084 CSEG DISPLAY_UPD_DIGITS 00000177
CSEG SW_CHECK_PROCESS 000000e6 CSEG TEMP_CONV 00000103
CSEG DEBOUNCE_SW 0000019c
CSEG TEMP_RD 000000cd
CSEG _STATE_ERROR 000000a9
CSEG SW_CHECK_PROCESS 00000119
DEF drem16uL r14 DEF drem16uL r14
DEF drem16uH r15 DEF drem16uH r15
DEF dres16uL r16 DEF dres16uL r16
@ -558,31 +562,36 @@ DEF dd16uH r17
DEF dv16uL r18 DEF dv16uL r18
DEF dv16uH r19 DEF dv16uH r19
DEF dcnt16u r20 DEF dcnt16u r20
CSEG div16u 00000091 CSEG div16u 000000b6
CSEG d16u_1 00000094 CSEG d16u_1 000000b9
CSEG d16u_2 00000099 CSEG d16u_2 000000be
CSEG d16u_3 000000a2 CSEG d16u_3 000000c7
CSEG DELAY_LOOP_16 000000a4 CSEG DELAY_LOOP_16 000000c9
CSEG OW_PRESENCE 000000ec CSEG OW_PRESENCE 00000127
CSEG OW_SEND_BYTE 000000ff CSEG OW_SEND_BYTE 0000013c
CSEG OW_RD_BYTE 0000011c CSEG OW_RD_BYTE 0000015d
CSEG _USI_TRANSMIT_LOOP 000000df CSEG _TEMP_RD_TO_UNSIGNED 000000e8
CSEG OW_CHECK_PRESENCE 000000f9 CSEG _TEMP_RD_CONTINUE 000000f1
CSEG _EXIT 000000fe CSEG _TEMP_RD_END 000000fa
CSEG _OW_SEND_BYTE_LOOP 00000103 CSEG _USI_TRANSMIT_LOOP 00000112
CSEG _OW_SEND_0 00000106 CSEG _INTO_DEFAULT_STATE 00000122
CSEG _OW_SEND_1 0000010f CSEG _SW_CHECK_PROCESS_END 00000125
CSEG _OW_SEND_BYTE_END 00000117 CSEG OW_CHECK_PRESENCE 00000136
CSEG _OW_RD_BYTE_LP 00000120 CSEG _EXIT 0000013b
CSEG _OW_SEND_BYTE_LOOP 00000140
CSEG _OW_SEND_0 00000143
CSEG _OW_SEND_1 0000014e
CSEG _OW_SEND_BYTE_END 00000158
CSEG _OW_RD_BYTE_LP 00000162
EQU dividend 00000061 EQU dividend 00000061
EQU divisor 0000000a EQU divisor 0000000a
CSEG DIV_LOOP 0000013d CSEG DIV_LOOP 00000180
CSEG DISPLAY_SYMBOLS 00000177 CSEG DISPLAY_SYMBOLS 000001ba
CSEG _loop_2 0000015d CSEG _loop_2 000001a0
CSEG _loop_0 0000015e CSEG _loop_0 000001a1
CSEG _dec_0 0000015f CSEG _dec_0 000001a2
CSEG _loop_1 00000161 CSEG _loop_1 000001a4
CSEG _loop_3 00000163 CSEG _loop_3 000001a6
CSEG DELAY 00000169 CSEG DELAY 000001ac
CSEG _DELAY_1 0000016c CSEG _DELAY_1 000001af
CSEG _DELAY_2 0000016d CSEG _DELAY_2 000001b0

View File

@ -32,51 +32,60 @@
<HYSTERESIS><FILE>main.asm</FILE><LINE>29</LINE></HYSTERESIS> <HYSTERESIS><FILE>main.asm</FILE><LINE>29</LINE></HYSTERESIS>
<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>
<RESET_vect><FILE>main.asm</FILE><LINE>125</LINE></RESET_vect> <RESET_vect><FILE>main.asm</FILE><LINE>182</LINE></RESET_vect>
<TIMER0_COMPA_vect><FILE>main.asm</FILE><LINE>50</LINE></TIMER0_COMPA_vect> <TIMER0_COMPA_vect><FILE>main.asm</FILE><LINE>87</LINE></TIMER0_COMPA_vect>
<_CLR_CURRENT_DIGIT><FILE>main.asm</FILE><LINE>61</LINE></_CLR_CURRENT_DIGIT> <PCINT0_vect><FILE>main.asm</FILE><LINE>52</LINE></PCINT0_vect>
<_indicate_1><FILE>main.asm</FILE><LINE>65</LINE></_indicate_1> <_PCINT0_vect_end><FILE>main.asm</FILE><LINE>77</LINE></_PCINT0_vect_end>
<_indicate_2><FILE>main.asm</FILE><LINE>77</LINE></_indicate_2> <_INTO_PROGRAM_STATE><FILE>main.asm</FILE><LINE>73</LINE></_INTO_PROGRAM_STATE>
<DISPLAY_DECODER><FILE>main.asm</FILE><LINE>481</LINE></DISPLAY_DECODER> <_CLR_CURRENT_DIGIT><FILE>main.asm</FILE><LINE>98</LINE></_CLR_CURRENT_DIGIT>
<USI_TRANSMIT><FILE>main.asm</FILE><LINE>290</LINE></USI_TRANSMIT> <_indicate_1><FILE>main.asm</FILE><LINE>102</LINE></_indicate_1>
<_indicate_3><FILE>main.asm</FILE><LINE>89</LINE></_indicate_3> <_indicate_2><FILE>main.asm</FILE><LINE>124</LINE></_indicate_2>
<_indicate_4><FILE>main.asm</FILE><LINE>101</LINE></_indicate_4> <DISPLAY_DECODER><FILE>main.asm</FILE><LINE>573</LINE></DISPLAY_DECODER>
<_indicate_exit><FILE>main.asm</FILE><LINE>113</LINE></_indicate_exit> <USI_TRANSMIT><FILE>main.asm</FILE><LINE>382</LINE></USI_TRANSMIT>
<MCU_INIT><FILE>main.asm</FILE><LINE>131</LINE></MCU_INIT> <_indicate_3><FILE>main.asm</FILE><LINE>141</LINE></_indicate_3>
<LOOP><FILE>main.asm</FILE><LINE>171</LINE></LOOP> <_indicate_4><FILE>main.asm</FILE><LINE>157</LINE></_indicate_4>
<_STATE_DEFAULT><FILE>main.asm</FILE><LINE>175</LINE></_STATE_DEFAULT> <_indicate_exit><FILE>main.asm</FILE><LINE>170</LINE></_indicate_exit>
<_STATE_PROGRAM><FILE>main.asm</FILE><LINE>195</LINE></_STATE_PROGRAM> <MCU_INIT><FILE>main.asm</FILE><LINE>188</LINE></MCU_INIT>
<DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>439</LINE></DISPLAY_UPD_DIGITS> <continue><FILE>main.asm</FILE><LINE>224</LINE></continue>
<TEMP_CONV><FILE>main.asm</FILE><LINE>269</LINE></TEMP_CONV> <LOOP><FILE>main.asm</FILE><LINE>243</LINE></LOOP>
<DEBOUNCE_SW><FILE>main.asm</FILE><LINE>498</LINE></DEBOUNCE_SW> <_STATE_DEFAULT><FILE>main.asm</FILE><LINE>247</LINE></_STATE_DEFAULT>
<TEMP_RD><FILE>main.asm</FILE><LINE>224</LINE></TEMP_RD> <_STATE_PROGRAM><FILE>main.asm</FILE><LINE>266</LINE></_STATE_PROGRAM>
<_STATE_ERROR><FILE>main.asm</FILE><LINE>200</LINE></_STATE_ERROR> <DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>531</LINE></DISPLAY_UPD_DIGITS>
<SW_CHECK_PROCESS><FILE>main.asm</FILE><LINE>322</LINE></SW_CHECK_PROCESS> <TEMP_CONV><FILE>main.asm</FILE><LINE>361</LINE></TEMP_CONV>
<DEBOUNCE_SW><FILE>main.asm</FILE><LINE>590</LINE></DEBOUNCE_SW>
<TEMP_RD><FILE>main.asm</FILE><LINE>295</LINE></TEMP_RD>
<_STATE_ERROR><FILE>main.asm</FILE><LINE>271</LINE></_STATE_ERROR>
<SW_CHECK_PROCESS><FILE>main.asm</FILE><LINE>414</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>
<DELAY_LOOP_16><FILE>main.asm</FILE><LINE>217</LINE></DELAY_LOOP_16> <DELAY_LOOP_16><FILE>main.asm</FILE><LINE>288</LINE></DELAY_LOOP_16>
<OW_PRESENCE><FILE>main.asm</FILE><LINE>335</LINE></OW_PRESENCE> <OW_PRESENCE><FILE>main.asm</FILE><LINE>439</LINE></OW_PRESENCE>
<OW_SEND_BYTE><FILE>main.asm</FILE><LINE>360</LINE></OW_SEND_BYTE> <OW_SEND_BYTE><FILE>main.asm</FILE><LINE>466</LINE></OW_SEND_BYTE>
<OW_RD_BYTE><FILE>main.asm</FILE><LINE>409</LINE></OW_RD_BYTE> <OW_RD_BYTE><FILE>main.asm</FILE><LINE>499</LINE></OW_RD_BYTE>
<_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>308</LINE></_USI_TRANSMIT_LOOP> <_TEMP_RD_TO_UNSIGNED><FILE>main.asm</FILE><LINE>329</LINE></_TEMP_RD_TO_UNSIGNED>
<OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>349</LINE></OW_CHECK_PRESENCE> <_TEMP_RD_CONTINUE><FILE>main.asm</FILE><LINE>340</LINE></_TEMP_RD_CONTINUE>
<_EXIT><FILE>main.asm</FILE><LINE>355</LINE></_EXIT> <_TEMP_RD_END><FILE>main.asm</FILE><LINE>350</LINE></_TEMP_RD_END>
<_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>365</LINE></_OW_SEND_BYTE_LOOP> <_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>400</LINE></_USI_TRANSMIT_LOOP>
<_OW_SEND_0><FILE>main.asm</FILE><LINE>369</LINE></_OW_SEND_0> <_INTO_DEFAULT_STATE><FILE>main.asm</FILE><LINE>427</LINE></_INTO_DEFAULT_STATE>
<_OW_SEND_1><FILE>main.asm</FILE><LINE>375</LINE></_OW_SEND_1> <_SW_CHECK_PROCESS_END><FILE>main.asm</FILE><LINE>430</LINE></_SW_CHECK_PROCESS_END>
<_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>380</LINE></_OW_SEND_BYTE_END> <OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>455</LINE></OW_CHECK_PRESENCE>
<_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>414</LINE></_OW_RD_BYTE_LP> <_EXIT><FILE>main.asm</FILE><LINE>461</LINE></_EXIT>
<DIV_LOOP><FILE>main.asm</FILE><LINE>456</LINE></DIV_LOOP> <_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>471</LINE></_OW_SEND_BYTE_LOOP>
<DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>548</LINE></DISPLAY_SYMBOLS> <_OW_SEND_0><FILE>main.asm</FILE><LINE>475</LINE></_OW_SEND_0>
<_loop_2><FILE>main.asm</FILE><LINE>504</LINE></_loop_2> <_OW_SEND_1><FILE>main.asm</FILE><LINE>483</LINE></_OW_SEND_1>
<_loop_0><FILE>main.asm</FILE><LINE>506</LINE></_loop_0> <_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>490</LINE></_OW_SEND_BYTE_END>
<_dec_0><FILE>main.asm</FILE><LINE>508</LINE></_dec_0> <_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>505</LINE></_OW_RD_BYTE_LP>
<_loop_1><FILE>main.asm</FILE><LINE>511</LINE></_loop_1> <DIV_LOOP><FILE>main.asm</FILE><LINE>548</LINE></DIV_LOOP>
<_loop_3><FILE>main.asm</FILE><LINE>514</LINE></_loop_3> <DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>640</LINE></DISPLAY_SYMBOLS>
<DELAY><FILE>main.asm</FILE><LINE>525</LINE></DELAY> <_loop_2><FILE>main.asm</FILE><LINE>596</LINE></_loop_2>
<_DELAY_1><FILE>main.asm</FILE><LINE>530</LINE></_DELAY_1> <_loop_0><FILE>main.asm</FILE><LINE>598</LINE></_loop_0>
<_DELAY_2><FILE>main.asm</FILE><LINE>532</LINE></_DELAY_2> <_dec_0><FILE>main.asm</FILE><LINE>600</LINE></_dec_0>
<_loop_1><FILE>main.asm</FILE><LINE>603</LINE></_loop_1>
<_loop_3><FILE>main.asm</FILE><LINE>606</LINE></_loop_3>
<DELAY><FILE>main.asm</FILE><LINE>617</LINE></DELAY>
<_DELAY_1><FILE>main.asm</FILE><LINE>622</LINE></_DELAY_1>
<_DELAY_2><FILE>main.asm</FILE><LINE>624</LINE></_DELAY_2>
</LABELS> </LABELS>
</ASSEMBLER_INFO> </ASSEMBLER_INFO>

184
main.asm
View File

@ -40,12 +40,49 @@ TEMP_H: .BYTE 1
.ORG 0x00 .ORG 0x00
rjmp RESET_vect rjmp RESET_vect
.ORG 0x000B
; rjmp PCINT0_vect
reti
.ORG 0x000D .ORG 0x000D
rjmp TIMER0_COMPA_vect rjmp TIMER0_COMPA_vect
//</editor-fold> //</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Прерывание: изменение состояния пина">
PCINT0_vect:
push r16
push r17
push r18
push r19
in r16, SREG
//<editor-fold defaultstate="collapsed" desc="Прерывание: Динамическая индикация"> ; in r17, SW_PIN
; clr r18
; ldi r18, (1<<SW_PLUS_PIN) | (1<<SW_MINUS_PIN)
; and r17, r18
; cp r17, r18
; breq _PCINT0_vect_end
sbic SW_PIN, SW_SET_PIN
rjmp _PCINT0_vect_end
lds r18, MCU_STATE
cpi r18, MCU_STATE_DEFAULT
breq _INTO_PROGRAM_STATE
rjmp _PCINT0_vect_end
_INTO_PROGRAM_STATE:
ldi r17, MCU_STATE_PROGRAM
sts MCU_STATE, r17
_PCINT0_vect_end:
out SREG, r16
pop r19
pop r18
pop r17
pop r16
reti//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Прерывание: динамическая индикация">
; **** ДИНАМИЧЕСКАЯ ИНДИКАЦИЯ ************************************ ; **** ДИНАМИЧЕСКАЯ ИНДИКАЦИЯ ************************************
TIMER0_COMPA_vect: TIMER0_COMPA_vect:
push r20 push r20
@ -69,8 +106,18 @@ _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
rjmp PC+3
ldi TEMP_REG_A, 11 ; // -
rjmp PC+3
lds TEMP_REG_A, DIGITS+2
tst TEMP_REG_A
breq PC+3
sbi PORTD, DIGIT_1_PIN sbi PORTD, DIGIT_1_PIN
lds TEMP_REG_A, DIGITS+3 rjmp PC+2
cbi PORTD, DIGIT_1_PIN
; lds TEMP_REG_A, DIGITS+2
rcall DISPLAY_DECODER rcall DISPLAY_DECODER
rcall USI_TRANSMIT rcall USI_TRANSMIT
@ -81,8 +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
; tst TEMP_REG_A
; breq PC+3
sbi PORTD, DIGIT_2_PIN sbi PORTD, DIGIT_2_PIN
lds TEMP_REG_A, DIGITS+2 ; rjmp PC+2
; cbi PORTD, DIGIT_1_PIN
lds TEMP_REG_A, DIGITS+1
rcall DISPLAY_DECODER rcall DISPLAY_DECODER
rcall USI_TRANSMIT rcall USI_TRANSMIT
@ -94,8 +146,12 @@ _indicate_3:
cbi PORTD, DIGIT_2_PIN cbi PORTD, DIGIT_2_PIN
cbi PORTD, DIGIT_4_PIN cbi PORTD, DIGIT_4_PIN
sbi PORTD, DIGIT_3_PIN sbi PORTD, DIGIT_3_PIN
lds TEMP_REG_A, DIGITS+1 lds TEMP_REG_A, DIGITS
rcall DISPLAY_DECODER rcall DISPLAY_DECODER
; зажигаем точку
mov r16, r0
cbr r16, (1<<7)
mov r0, r16
rcall USI_TRANSMIT rcall USI_TRANSMIT
_indicate_4: _indicate_4:
@ -106,7 +162,8 @@ _indicate_4:
cbi PORTD, DIGIT_2_PIN cbi PORTD, DIGIT_2_PIN
cbi PORTD, DIGIT_3_PIN cbi PORTD, DIGIT_3_PIN
sbi PORTD, DIGIT_4_PIN sbi PORTD, DIGIT_4_PIN
lds TEMP_REG_A, DIGITS ; lds TEMP_REG_A, DIGITS
ldi TEMP_REG_A, 0
rcall DISPLAY_DECODER rcall DISPLAY_DECODER
rcall USI_TRANSMIT rcall USI_TRANSMIT
@ -140,12 +197,31 @@ MCU_INIT:
outi r16, OCR0A, 25 ; число для сравнения. (60Hz) outi r16, OCR0A, 25 ; число для сравнения. (60Hz)
outi r16, TIMSK, (1<<OCIE0A) ; включение прерывания по совпадению outi r16, TIMSK, (1<<OCIE0A) ; включение прерывания по совпадению
; **** ИНИЦИАЛИЗАЦИЯ USART ************************************* ; **** ПРЕРЫВАНИЕ ПО ИЗМЕНЕНИЮ СОСТОЯНИЯ ПИНОВ ******************
; outi r16, UBRRL, LOW(3) ; 9600 БОД outi r16, GIMSK, (1<<PCIE0)
; outi r16, UBRRH, HIGH(3) ; 9600 БОД outi r16, PCMSK0, (1<<PCINT2) | (1<<PCINT3) | (1<<PCINT4) ; для кнопок
; outi r16, UCSRB, (1<<RXEN) | (1<<TXEN) ; Включение приема и передачии
; outi r16, UCSRC, (1<<UCSZ1) | (1<<UCSZ0) ; Асинхронный режим, 8 бит фрейм, 1 стоповый бит
; **** ИНИЦИАЛИЗАЦИЯ USART **************************************
outi r16, UBRRL, LOW(51) ; 9600 БОД
outi r16, UBRRH, HIGH(51) ; 9600 БОД
outi r16, UCSRB, (1<<RXEN) | (1<<TXEN) ; Включение приема и передачии
outi r16, UCSRC, (1<<UCSZ1) | (1<<UCSZ0) ; Асинхронный режим, 8 бит фрейм, 1 стоповый бит
; ldi r19, 0b11111011
; cbr r19, (1<<0) | (1<<1) | (1<<2)
; cpi r19, 0xf8
; breq to_unsigned
; rjmp continue
;
;to_unsigned:
; ldi r16, 0xfc ; high
; ldi r17, 0x90 ; low
; com r16
; com r17
; ldi r18, 1
; add r17, r18
continue:
clr r1 clr r1
sts CURRENT_DIGIT, r1 sts CURRENT_DIGIT, r1
@ -156,13 +232,9 @@ MCU_INIT:
sts TEMP_L, r16 sts TEMP_L, r16
sts TEMP_H, r16 sts TEMP_H, r16
display_load 0 ; загружаем число, которое нужно показать на индикатор display_load 0 ; загружаем число, которое нужно показать на индикатор
lds r16, TEMP_L
mov DISP_NUM_L, r16
ldi DISP_NUM_H, 0
; sei ; sei
//</editor-fold> //</editor-fold>
@ -184,9 +256,8 @@ _STATE_DEFAULT:
rcall TEMP_CONV rcall TEMP_CONV
rcall DEBOUNCE_SW rcall DEBOUNCE_SW
rcall DEBOUNCE_SW rcall DEBOUNCE_SW
rcall DEBOUNCE_SW
rcall DEBOUNCE_SW
rcall TEMP_RD rcall TEMP_RD
lds r17, TEMP_L lds r17, TEMP_L
mov DISP_NUM_L, r17 mov DISP_NUM_L, r17
lds r17, TEMP_H lds r17, TEMP_H
@ -225,7 +296,8 @@ TEMP_RD:
push r16 push r16
push r17 push r17
push r18 push r18
cli push r19
; cli
rcall OW_PRESENCE rcall OW_PRESENCE
ldi r16, DS18B20_CMD_SKIPROM ldi r16, DS18B20_CMD_SKIPROM
@ -247,20 +319,40 @@ TEMP_RD:
lds r17, TEMP_L lds r17, TEMP_L
lds r18, TEMP_H lds r18, TEMP_H
lsr r18 push r18
ror r17 cbr r18, (1<<0) | (1<<1) | (1<<2) ; убираем ненужные биты на время (интересуют последних битов в TEMP_H)
lsr r18 cpi r18, 0xf8 ; проверяется является ли число минусовой
ror r17 breq _TEMP_RD_TO_UNSIGNED ; если да то конвертируем в беззнаковое число
lsr r18 clt
ror r17 rjmp _TEMP_RD_CONTINUE ; если нет то преобразуем значение АЦП в температуру (делим на 16)
lsr r18
ror r17
_TEMP_RD_TO_UNSIGNED:
pop r18
set
com r17
com r18
ldi r19, 1
add r17, r19
ldi r19, 0
adc r18, r19
rjmp PC+2
_TEMP_RD_CONTINUE: ; Температура = Число с АЦП / 16 (сдвиг вправо 4)
pop r18
lsr r18
ror r17
lsr r18
ror r17
lsr r18
ror r17
lsr r18
ror r17
_TEMP_RD_END:
sts TEMP_L, r17 sts TEMP_L, r17
sts TEMP_H, r18 sts TEMP_H, r18
; sei
sei pop r19
pop r18 pop r18
pop r17 pop r17
pop r16 pop r16
@ -268,7 +360,7 @@ TEMP_RD:
; ;
TEMP_CONV: TEMP_CONV:
push r16 push r16
cli ; cli
rcall OW_PRESENCE rcall OW_PRESENCE
ldi r16, DS18B20_CMD_SKIPROM ldi r16, DS18B20_CMD_SKIPROM
@ -279,7 +371,7 @@ TEMP_CONV:
mov OW_CMD_r, r16 mov OW_CMD_r, r16
rcall OW_SEND_BYTE rcall OW_SEND_BYTE
sei ; sei
pop r16 pop r16
ret ret
//</editor-fold> //</editor-fold>
@ -320,25 +412,39 @@ _USI_TRANSMIT_LOOP: ; Execute loop when USIOIF is 0
//<editor-fold defaultstate="collapsed" desc="Подпрограмма: опрос кнопок"> //<editor-fold defaultstate="collapsed" desc="Подпрограмма: опрос кнопок">
SW_CHECK_PROCESS: SW_CHECK_PROCESS:
rcall DEBOUNCE_SW push r16
sbis SW_PIN, SW_PLUS_PIN rcall DEBOUNCE_SW
adiw DISP_NUM_L, 1 sbis SW_PIN, SW_PLUS_PIN
adiw DISP_NUM_L, 1
sbis SW_PIN, SW_MINUS_PIN sbis SW_PIN, SW_MINUS_PIN
sbiw DISP_NUM_L, 1 sbiw DISP_NUM_L, 1
ret//</editor-fold>
sbis SW_PIN, SW_SET_PIN
rjmp _INTO_DEFAULT_STATE
rjmp _SW_CHECK_PROCESS_END
_INTO_DEFAULT_STATE:
ldi r16, MCU_STATE_DEFAULT
sts MCU_STATE, r16
_SW_CHECK_PROCESS_END:
pop r16
ret
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Реализация интерфеса 1-Wire"> //<editor-fold defaultstate="collapsed" desc="Реализация интерфеса 1-Wire">
//<editor-fold defaultstate="collapsed" desc="1-Wire: оспрос присутствия"> //<editor-fold defaultstate="collapsed" desc="1-Wire: оспрос присутствия">
; **** ОПРОС ПРИСУТСТВИЯ УСТРОЙСТВА ****************************** ; **** ОПРОС ПРИСУТСТВИЯ УСТРОЙСТВА ******************************
OW_PRESENCE: OW_PRESENCE:
cli
ow_pull ow_pull
DELAY16 480 DELAY16 480
ow_release ow_release
DELAY16 70 DELAY16 70
rcall OW_CHECK_PRESENCE rcall OW_CHECK_PRESENCE
DELAY16 410 DELAY16 410
sei
ret ret
//</editor-fold> //</editor-fold>
@ -367,16 +473,20 @@ _OW_SEND_BYTE_LOOP:
brcc _OW_SEND_0 brcc _OW_SEND_0
brcs _OW_SEND_1 brcs _OW_SEND_1
_OW_SEND_0: _OW_SEND_0:
cli
ow_pull ow_pull
DELAY16 60 DELAY16 60
ow_release ow_release
DELAY16 10 DELAY16 10
sei
rjmp _OW_SEND_BYTE_END rjmp _OW_SEND_BYTE_END
_OW_SEND_1: _OW_SEND_1:
cli
ow_pull ow_pull
DELAY16 6 DELAY16 6
ow_release ow_release
DELAY16 64 DELAY16 64
sei
_OW_SEND_BYTE_END: _OW_SEND_BYTE_END:
dec r17 dec r17
brne _OW_SEND_BYTE_LOOP brne _OW_SEND_BYTE_LOOP
@ -391,6 +501,7 @@ OW_RD_BYTE:
push r17 push r17
clr r16 clr r16
ldi r17, 8 ldi r17, 8
cli
_OW_RD_BYTE_LP: _OW_RD_BYTE_LP:
lsr r16 lsr r16
ow_pull ow_pull
@ -403,6 +514,7 @@ _OW_RD_BYTE_LP:
dec r17 dec r17
brne _OW_RD_BYTE_LP brne _OW_RD_BYTE_LP
st X, r16 st X, r16
sei
pop r17 pop r17
pop r16 pop r16
ret ret

102
main.hex
View File

@ -1,47 +1,59 @@
:020000020000FC :020000020000FC
:0200000049C0F5 :0200000064C0DA
:10001A0000C04F935F930F935FB7409167004530DD :0200160018953B
:10002A000CF403C0442740936700403041F493988E :10001A0015C00F931F932F933F930FB7B49908C03E
:10003A0094989598929A0091660015D19FD0413074 :10002A0020916000203009F003C011E010936000B5
:10004A0041F4929894989598939A009165000BD1EF :10003A000FBF3F912F911F910F9118954F935F9387
:10005A0095D0423041F4929893989598949A009149 :10004A000F935FB74091670045300CF403C0442713
:10006A00640001D18BD0433041F4929893989498CC :10005A0040936700403061F4939894989598009182
:10007A00959A00916300F7D081D043954093670029 :10006A006500002311F0929A01C0929858D1D3D01A
:10008A005FBF0F915F914F9118950FED0DBF0EE76E :10007A00413041F4929894989598939A009164002B
:10009A0001BB01EC07BB0CE108BB02E000BF05E0B5 :10008A004ED1C9D0423059F4929893989598949A3F
:1000AA0003BF09E106BF01E009BF112410926700EE :10009A000091630044D1002D0F77002EBCD043306D
:1000BA0000E000936000002700936A0080E090E06F :1000AA0039F4929893989498959A00E038D1B3D0FD
:1000CA0051D0DCD0DBD0DAD0D9D03FD000916A0051 :1000BA004395409367005FBF0F915F914F911895E9
:1000DA00802F90E000916000003079F4AAD070FD82 :1000CA000FED0DBF0EE701BB01EC07BB0CE108BB4E
:1000EA00969A70FF96983ED0C9D0C8D0C7D0C6D0CD :1000DA0002E000BF05E003BF09E106BF01E009BF76
:1000FA002CD010916A00812F90E0013011F499D030 :1000EA0000E20BBF0CE100BD03E309B900E002B96D
:10010A0049D0023039F71BE0109363001093640062 :1000FA0008E10AB906E003B93BEF387F383F09F057
:10011A0010936500109366000000DCCFEE24FF18F0 :10010A0006C00CEF10E90095109521E0120F11249A
:10012A0041E1001F111F4A9509F40895EE1CFF1CB6 :10011A001092670000E000936000002700936A00D5
:10013A00E21AF30A20F4E20EF31E8894F2CF08942E :10012A0000936B0080E090E000916000003079F469
:10014A00F0CF41503040E8F708950F93F89428D043 :10013A00DCD070FD969A70FF969863D0FBD0FAD007
:10015A000CEC802E38D00EEB802E35D050D078940F :10014A002ED010916A00812F10916B00912F0130EF
:10016A000F9108950F93F8941BD00CEC802E2BD08E :10015A0011F4CBD06CD0023039F71BE01093630056
:10017A0004E4802E28D078940F9108950F930FB835 :10016A001093640010936500109366000000DCCFC2
:10018A0000E40EB90BE10DB9769BFDCFC09AC09879 :10017A00EE24FF1841E1001F111F4A9509F4089562
:10019A000F91089573D0B29B0196B39B019708956E :10018A00EE1CFF1CE21AF30A20F4E20EF31E889416
:1001AA00B99A33E04EEBCDDFB99830E04AE8C9DFBF :10019A00F2CF0894F0CF41503040E8F708950F931A
:1001BA0004D033E042E3C5DF0895B19B716002C009 :1001AA001F932F933F9351D00CEC802E63D00EEB0C
:1001CA00B1997E7F08950F931F93082D017049F00E :1001BA00802E60D0AAE6B0E07ED0ABE6B0E07BD07D
:1001DA00B99A30E04AE0B5DFB99830E04EE7B1DFCE :1001CA0010916A0020916B002F93287F283F09F035
:1001EA0008C0B99A30E046E7ACDFB99830E042E19E :1001DA0006C02F912095109521E0120F09C02F918A
:1001FA00A8DF8694882049F71F910F9108950F93DD :1001EA002695179526951795269517952695179569
:10020A001F9308E0B99A30E04AE09BDFB99830E0E2 :1001FA0010936A0020936B003F912F911F910F91EA
:10021A0040E197DF10916A001695B1991068109322 :10020A0008950F9322D00CEC802E34D004E4802E73
:10022A006A0030E04CE68DDF0A9561F71F910F9165 :10021A0031D00F9108950F930FB800E40EB90BE196
:10023A000895F8945F9354E0A3E6B0E080936100D8 :10022A000DB9769BFDCFC09AC0980F9108950F9390
:10024A009093620000916100109162002AE030E010 :10023A0081D0B29B0196B39B0197B49B01C003C0C6
:10025A0065DFED9200936100109362005A9591F761 :10024A0000E0009360000F910895F894B99A33E0A2
:10026A005F91789408950F931F93E2ECF2E01127BF :10025A004EEBA1DFB99830E04AE89DDF05D033E0E4
:10027A00E00FF11F04901F910F9108950F931F93A0 :10026A0042E399DF78940895B19B716002C0B19915
:10028A002F932AE01FEF0FEF0A95F1F71A95D9F786 :10027A007E7F08950F931F93082D18E0069508F4C2
:10029A002A95C1F72F911F910F9108950F931F93DC :10028A0058F0F894B99A30E046E785DFB99830E03B
:1002AA000FEF1FEF1A95000000000000D9F70A951A :10029A0042E181DF78940AC0F894B99A30E04AE0E2
:1002BA00C1F71F910F910895C0F9A4B0999282F8DD :1002AA007ADFB99830E04EE776DF78941A9531F71D
:0402CA0080909CBFC5 :1002BA001F910F9108950F931F93002718E0F89448
:1002CA000695B99A30E04AE066DFB99830E040E135
:1002DA0062DFB199006830E04CE65DDF1A9581F77C
:1002EA000C9378941F910F910895F8945F9354E0BA
:1002FA00A3E6B0E0809361009093620000916100F0
:10030A00109162002AE030E033DFED920093610041
:10031A00109362005A9591F75F91789408950F931C
:10032A001F93EAE7F3E01127E00FF11F04901F91F2
:10033A000F9108950F931F932F932AE01FEF0FEF4A
:10034A000A95F1F71A95D9F72A95C1F72F911F91B6
:10035A000F9108950F931F930FEF1FEF1A95000047
:10036A0000000000D9F70A95C1F71F910F9108956F
:0C037A00C0F9A4B0999282F880909CBF5A
:00000001FF :00000001FF

View File

@ -57,17 +57,17 @@ OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
# Source Files Quoted if spaced # Source Files Quoted if spaced
SOURCEFILES_QUOTED_IF_SPACED=main.asm div16u.asm definitions.asm macros.asm SOURCEFILES_QUOTED_IF_SPACED=main.asm
# Object Files Quoted if spaced # Object Files Quoted if spaced
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.obj ${OBJECTDIR}/div16u.obj ${OBJECTDIR}/definitions.obj ${OBJECTDIR}/macros.obj OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.obj
POSSIBLE_DEPFILES=${OBJECTDIR}/main.obj.d ${OBJECTDIR}/div16u.obj.d ${OBJECTDIR}/definitions.obj.d ${OBJECTDIR}/macros.obj.d POSSIBLE_DEPFILES=${OBJECTDIR}/main.obj.d
# Object Files # Object Files
OBJECTFILES=${OBJECTDIR}/main.obj ${OBJECTDIR}/div16u.obj ${OBJECTDIR}/definitions.obj ${OBJECTDIR}/macros.obj OBJECTFILES=${OBJECTDIR}/main.obj
# Source Files # Source Files
SOURCEFILES=main.asm div16u.asm definitions.asm macros.asm SOURCEFILES=main.asm
# Pack Options # Pack Options
PACK_ASSEMBLER_OPTIONS=-I "${DFP_DIR}/avrasm/inc" -i tn2313Adef.inc PACK_ASSEMBLER_OPTIONS=-I "${DFP_DIR}/avrasm/inc" -i tn2313Adef.inc
@ -101,42 +101,12 @@ ${OBJECTDIR}/main.obj: main.asm nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}" @${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/main.obj @${RM} ${OBJECTDIR}/main.obj
${MP_AS} -fI -W+ie ${PACK_ASSEMBLER_OPTIONS} -d ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -m ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.map -S ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.tmp main.asm ${MP_AS} -fI -W+ie ${PACK_ASSEMBLER_OPTIONS} -d ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -m ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.map -S ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.tmp main.asm
${OBJECTDIR}/div16u.obj: div16u.asm nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} ${DISTDIR}
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/div16u.obj
${MP_AS} -fI -W+ie ${PACK_ASSEMBLER_OPTIONS} -d ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -m ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.map -S ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.tmp div16u.asm
${OBJECTDIR}/definitions.obj: definitions.asm nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} ${DISTDIR}
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/definitions.obj
${MP_AS} -fI -W+ie ${PACK_ASSEMBLER_OPTIONS} -d ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -m ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.map -S ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.tmp definitions.asm
${OBJECTDIR}/macros.obj: macros.asm nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} ${DISTDIR}
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/macros.obj
${MP_AS} -fI -W+ie ${PACK_ASSEMBLER_OPTIONS} -d ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -m ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.map -S ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.tmp macros.asm
else else
${OBJECTDIR}/main.obj: main.asm nbproject/Makefile-${CND_CONF}.mk ${OBJECTDIR}/main.obj: main.asm nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} ${DISTDIR} @${MKDIR} ${DISTDIR}
@${MKDIR} "${OBJECTDIR}" @${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/main.obj @${RM} ${OBJECTDIR}/main.obj
${MP_AS} -fI -W+ie ${PACK_ASSEMBLER_OPTIONS} -d ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -S ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.tmp -o ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.hex -m ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.map -l ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.lss main.asm ${MP_AS} -fI -W+ie ${PACK_ASSEMBLER_OPTIONS} -d ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -S ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.tmp -o ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.hex -m ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.map -l ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.lss main.asm
${OBJECTDIR}/div16u.obj: div16u.asm nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} ${DISTDIR}
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/div16u.obj
${MP_AS} -fI -W+ie ${PACK_ASSEMBLER_OPTIONS} -d ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -S ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.tmp -o ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.hex -m ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.map -l ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.lss div16u.asm
${OBJECTDIR}/definitions.obj: definitions.asm nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} ${DISTDIR}
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/definitions.obj
${MP_AS} -fI -W+ie ${PACK_ASSEMBLER_OPTIONS} -d ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -S ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.tmp -o ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.hex -m ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.map -l ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.lss definitions.asm
${OBJECTDIR}/macros.obj: macros.asm nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} ${DISTDIR}
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/macros.obj
${MP_AS} -fI -W+ie ${PACK_ASSEMBLER_OPTIONS} -d ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -S ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.tmp -o ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.hex -m ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.map -l ${DISTDIR}/attiny2313a_thermostat.X.${IMAGE_TYPE}.lss macros.asm
endif endif
# ------------------------------------------------------------------------------------ # ------------------------------------------------------------------------------------

View File

@ -1,12 +1,12 @@
# #
#Mon Jun 19 12:50:04 MSK 2023 #Tue Jun 20 07:06:09 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
default.com-microchip-mplab-mdbcore-simulator-Simulator.md5=19e4dc0f223322f74cda227c3c12c71c default.com-microchip-mplab-mdbcore-simulator-Simulator.md5=19e4dc0f223322f74cda227c3c12c71c
conf.ids=default conf.ids=default
default.languagetoolchain.dir=/usr/bin default.languagetoolchain.dir=/usr/bin
host.id=1707-dsfu-bg host.id=1707-dsfu-bg
configurations-xml=d50925b65bb9625a2bd338eb6fa64d60 configurations-xml=5ccf631a2321e636528c6541c2c69f2c
default.com-microchip-mplab-nbide-toolchain-avrasm-AVRASMLanguageToolchain.md5=0e94da8ed93e9650ffef50929833a79f default.com-microchip-mplab-nbide-toolchain-avrasm-AVRASMLanguageToolchain.md5=0e94da8ed93e9650ffef50929833a79f
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=6e02ca5e9f5042ffd365b42ab82d3a9b com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=6e02ca5e9f5042ffd365b42ab82d3a9b
user-defined-mime-resolver-xml=none user-defined-mime-resolver-xml=none

View File

@ -1021,6 +1021,12 @@
value=""/> value=""/>
<property key="warningmessagebreakoptions.warningmessages" value="holdstate"/> <property key="warningmessagebreakoptions.warningmessages" value="holdstate"/>
</Tool> </Tool>
<item path="definitions.asm" ex="true" overriding="false">
</item>
<item path="div16u.asm" ex="true" overriding="false">
</item>
<item path="macros.asm" ex="true" overriding="false">
</item>
</conf> </conf>
</confs> </confs>
</configurationDescriptor> </configurationDescriptor>