mirror of
https://github.com/sergeyyarkov/attiny2313a_thermostat.git
synced 2026-10-11 02:08:52 +03:00
support signed and unsigned fractional part
This commit is contained in:
parent
a8117d7856
commit
ee8940e01c
@ -1,5 +1,5 @@
|
|||||||
:020000020000FC
|
:020000020000FC
|
||||||
:0200000068C0D6
|
:0200000069C0D5
|
||||||
:0200160018953B
|
:0200160018953B
|
||||||
:10001A0015C00F931F932F933F930FB7B49908C03E
|
:10001A0015C00F931F932F933F930FB7B49908C03E
|
||||||
:10002A0020916000203009F003C011E010936000B5
|
:10002A0020916000203009F003C011E010936000B5
|
||||||
@ -7,53 +7,56 @@
|
|||||||
:10004A000F935FB74091670045300CF403C0442713
|
:10004A000F935FB74091670045300CF403C0442713
|
||||||
:10005A0040936700403081F49398949895980EF0F5
|
:10005A0040936700403081F49398949895980EF0F5
|
||||||
:10006A0002C00BE002C000916500002311F0929AD1
|
:10006A0002C00BE002C000916500002311F0929AD1
|
||||||
:10007A0001C0929851D1CCD0413041F492989498D1
|
:10007A0001C0929869D1E4D0413041F492989498A1
|
||||||
:10008A009598939A0091640047D1C2D0423059F4AE
|
:10008A009598939A009164005FD1DAD0423059F47E
|
||||||
:10009A00929893989598949A009163003DD1002D77
|
:10009A00929893989598949A0091630055D1002D5F
|
||||||
:1000AA000F77002EB5D0433039F4929893989498EC
|
:1000AA000F77002ECDD0433041F4929893989498CC
|
||||||
:1000BA00959A00E031D1ACD04395409367005FBF79
|
:1000BA00959A00916C0048D1C3D04395409367004C
|
||||||
:1000CA000F915F914F9118950FED0DBF0EE701BB90
|
:1000CA005FBF0F915F914F9118950FED0DBF0EE72E
|
||||||
:1000DA0001EC07BB0CE108BB02E000BF05E003BF6F
|
:1000DA0001BB01EC07BB0CE108BB02E000BF05E075
|
||||||
:1000EA0009E106BF01E009BF00E20BBF0CE100BD58
|
:1000EA0003BF09E106BF01E009BF00E20BBF0CE153
|
||||||
:1000FA0003E309B900E002B908E10AB906E003B965
|
:1000FA0000BD03E309B900E002B908E10AB906E064
|
||||||
:10010A0011241092670000E000936000002700931A
|
:10010A0003B911241092670000E0009360000027F1
|
||||||
:10011A006A0000936B0080E090E00091600000307C
|
:10011A0000936A0000936B0000EF00936C0080E08C
|
||||||
:10012A0079F4E0D070FD969A70FF969867D0FFD068
|
:10012A0090E000916000003079F4F4D070FD969A66
|
||||||
:10013A00FED02ED010916A00812F10916B00912F62
|
:10013A0070FF96987BD013D112D12ED010916A00FD
|
||||||
:10014A00013011F4CFD070D0023039F71BE0109390
|
:10014A00812F10916B00912F013011F4E3D084D0EC
|
||||||
:10015A00630010936400109365001093660000001A
|
:10015A00023039F71BE01093630010936400109388
|
||||||
:10016A00DCCFEE24FF1841E1001F111F4A9509F464
|
:10016A006500109366000000DCCFEE24FF1841E121
|
||||||
:10017A000895EE1CFF1CE21AF30A20F4E20EF31EA5
|
:10017A00001F111F4A9509F40895EE1CFF1CE21A8C
|
||||||
:10018A008894F2CF0894F0CF41503040E8F70895B0
|
:10018A00F30A20F4E20EF31E8894F2CF0894F0CF1B
|
||||||
:10019A000F931F932F933F9355D00CEC802E67D06B
|
:10019A0041503040E8F708950F931F932F933F93F0
|
||||||
:1001AA000EEB802E64D0AAE6B0E082D0ABE6B0E0D7
|
:1001AA004F9368D00CEC802E7AD00EEB802E77D04D
|
||||||
:1001BA007FD010916A0020916B002F93287F283FEF
|
:1001BA00AAE6B0E095D0ABE6B0E092D010916A0022
|
||||||
:1001CA0011F0E89409C02F9168941095209531E0B8
|
:1001CA0020916B002F93287F283F11F0E89409C0F3
|
||||||
:1001DA00130F30E0231F01C02F91269517952695FE
|
:1001DA002F9168941095209531E0130F30E0231F7A
|
||||||
:1001EA001795269517952695179510936A002093CB
|
:1001EA0001C02F912695179526951795269517954F
|
||||||
:1001FA006B003F912F911F910F9108950F9322D079
|
:1001FA002695179530916A000EF43195432F3F707A
|
||||||
:10020A000CEC802E34D004E4802E31D00F91089566
|
:10020A00432F330F330F330F440F340F3695369580
|
||||||
:10021A000F930FB800E40EB90BE10DB9769BFDCF31
|
:10021A003695369510936A0020936B0030936C00E4
|
||||||
:10022A00C09AC0980F9108950F9381D0B29B0196FE
|
:10022A004F913F912F911F910F9108950F9322D0D3
|
||||||
:10023A00B39B0197B49B01C003C000E00093600028
|
:10023A000CEC802E34D004E4802E31D00F91089536
|
||||||
:10024A000F910895F894B99A33E04EEB9DDFB9986F
|
:10024A000F930FB800E40EB90BE10DB9769BFDCF01
|
||||||
:10025A0030E04AE899DF05D033E042E395DF78944D
|
:10025A00C09AC0980F9108950F9381D0B29B0196CE
|
||||||
:10026A000895B19B716002C0B1997E7F08950F9382
|
:10026A00B39B0197B49B01C003C000E000936000F8
|
||||||
:10027A001F93082D18E0069508F458F0F894B99AD7
|
:10027A000F910895F894B99A33E04EEB89DFB99853
|
||||||
:10028A0030E046E781DFB99830E042E17DDF7894DB
|
:10028A0030E04AE885DF05D033E042E381DF789445
|
||||||
:10029A000AC0F894B99A30E04AE076DFB99830E0BB
|
:10029A000895B19B716002C0B1997E7F08950F9352
|
||||||
:1002AA004EE772DF78941A9531F71F910F910895EE
|
:1002AA001F93082D18E0069508F458F0F894B99AA7
|
||||||
:1002BA000F931F93002718E0F8940695B99A30E037
|
:1002BA0030E046E76DDFB99830E042E169DF7894D3
|
||||||
:1002CA004AE062DFB99830E040E15EDFB199006848
|
:1002CA000AC0F894B99A30E04AE062DFB99830E09F
|
||||||
:1002DA0030E04CE659DF1A9581F70C9378941F9118
|
:1002DA004EE75EDF78941A9531F71F910F910895D2
|
||||||
:1002EA000F910895F8945F9354E0A3E6B0E08093E9
|
:1002EA000F931F93002718E0F8940695B99A30E007
|
||||||
:1002FA0061009093620000916100109162002AE00F
|
:1002FA004AE04EDFB99830E040E14ADFB199006840
|
||||||
:10030A0030E02FDFED9200936100109362005A955E
|
:10030A0030E04CE645DF1A9581F70C9378941F91FB
|
||||||
:10031A0091F75F91789408950F931F93E4E7F3E0C0
|
:10031A000F910895F8945F9354E0A3E6B0E08093B8
|
||||||
:10032A001127E00FF11F04901F910F9108950F9369
|
:10032A0061009093620000916100109162002AE0DE
|
||||||
:10033A001F932F932AE01FEF0FEF0A95F1F71A95F3
|
:10033A0030E01BDFED9200936100109362005A9542
|
||||||
:10034A00D9F72A95C1F72F911F910F9108950F930D
|
:10034A0091F75F91789408950F931F93E4EAF3E08D
|
||||||
:10035A001F930FEF1FEF1A95000000000000D9F756
|
:10035A001127E00FF11F04901F910F9108950F9339
|
||||||
:10036A000A95C1F71F910F910895C0F9A4B0999207
|
:10036A001F932F932AE01FEF0FEF0A95F1F71A95C3
|
||||||
:06037A0082F880909CBF98
|
:10037A00D9F72A95C1F72F911F910F9108950F93DD
|
||||||
|
:10038A001F930FEF1FEF1A95000000000000D9F726
|
||||||
|
:10039A000A95C1F71F910F910895C0F9A4B09992D7
|
||||||
|
:0603AA0082F880909CBF68
|
||||||
:00000001FF
|
:00000001FF
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
AVRASM ver. 2.2.7 main.asm Tue Jun 20 12:55:26 2023
|
AVRASM ver. 2.2.7 main.asm Tue Jun 20 22:06:23 2023
|
||||||
|
|
||||||
|
|
||||||
EQU SIGNATURE_000 0000001e
|
EQU SIGNATURE_000 0000001e
|
||||||
@ -529,7 +529,8 @@ 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 00000069
|
DSEG TEMP_F 0000006c
|
||||||
|
CSEG RESET_vect 0000006a
|
||||||
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
|
||||||
@ -537,22 +538,22 @@ CSEG _INTO_PROGRAM_STATE 0000001a
|
|||||||
CSEG _CLR_CURRENT_DIGIT 0000002c
|
CSEG _CLR_CURRENT_DIGIT 0000002c
|
||||||
CSEG _indicate_1 0000002f
|
CSEG _indicate_1 0000002f
|
||||||
CSEG _indicate_2 00000041
|
CSEG _indicate_2 00000041
|
||||||
CSEG DISPLAY_DECODER 00000191
|
CSEG DISPLAY_DECODER 000001a9
|
||||||
CSEG USI_TRANSMIT 0000010d
|
CSEG USI_TRANSMIT 00000125
|
||||||
CSEG _indicate_3 0000004b
|
CSEG _indicate_3 0000004b
|
||||||
CSEG _indicate_4 00000058
|
CSEG _indicate_4 00000058
|
||||||
CSEG _indicate_exit 00000061
|
CSEG _indicate_exit 00000062
|
||||||
CSEG MCU_INIT 0000006b
|
CSEG MCU_INIT 0000006c
|
||||||
CSEG continue 00000085
|
CSEG continue 00000086
|
||||||
CSEG LOOP 00000092
|
CSEG LOOP 00000096
|
||||||
CSEG _STATE_DEFAULT 00000094
|
CSEG _STATE_DEFAULT 00000098
|
||||||
CSEG _STATE_PROGRAM 000000a5
|
CSEG _STATE_PROGRAM 000000a9
|
||||||
CSEG DISPLAY_UPD_DIGITS 00000177
|
CSEG DISPLAY_UPD_DIGITS 0000018f
|
||||||
CSEG TEMP_CONV 00000103
|
CSEG TEMP_CONV 0000011b
|
||||||
CSEG DEBOUNCE_SW 0000019c
|
CSEG DEBOUNCE_SW 000001b4
|
||||||
CSEG TEMP_RD 000000cd
|
CSEG TEMP_RD 000000d1
|
||||||
CSEG _STATE_ERROR 000000a9
|
CSEG _STATE_ERROR 000000ad
|
||||||
CSEG SW_CHECK_PROCESS 00000119
|
CSEG SW_CHECK_PROCESS 00000131
|
||||||
DEF drem16uL r14
|
DEF drem16uL r14
|
||||||
DEF drem16uH r15
|
DEF drem16uH r15
|
||||||
DEF dres16uL r16
|
DEF dres16uL r16
|
||||||
@ -562,36 +563,36 @@ DEF dd16uH r17
|
|||||||
DEF dv16uL r18
|
DEF dv16uL r18
|
||||||
DEF dv16uH r19
|
DEF dv16uH r19
|
||||||
DEF dcnt16u r20
|
DEF dcnt16u r20
|
||||||
CSEG div16u 000000b6
|
CSEG div16u 000000ba
|
||||||
CSEG d16u_1 000000b9
|
CSEG d16u_1 000000bd
|
||||||
CSEG d16u_2 000000be
|
CSEG d16u_2 000000c2
|
||||||
CSEG d16u_3 000000c7
|
CSEG d16u_3 000000cb
|
||||||
CSEG DELAY_LOOP_16 000000c9
|
CSEG DELAY_LOOP_16 000000cd
|
||||||
CSEG OW_PRESENCE 00000127
|
CSEG OW_PRESENCE 0000013f
|
||||||
CSEG OW_SEND_BYTE 0000013c
|
CSEG OW_SEND_BYTE 00000154
|
||||||
CSEG OW_RD_BYTE 0000015d
|
CSEG OW_RD_BYTE 00000175
|
||||||
CSEG _TEMP_RD_TO_UNSIGNED 000000e8
|
CSEG _TEMP_RD_TO_UNSIGNED 000000ed
|
||||||
CSEG _TEMP_RD_CONTINUE 000000f1
|
CSEG _TEMP_RD_CONTINUE 000000f6
|
||||||
CSEG _TEMP_RD_END 000000fa
|
CSEG _TEMP_RD_END 000000ff
|
||||||
CSEG _USI_TRANSMIT_LOOP 00000112
|
CSEG _USI_TRANSMIT_LOOP 0000012a
|
||||||
CSEG _INTO_DEFAULT_STATE 00000122
|
CSEG _INTO_DEFAULT_STATE 0000013a
|
||||||
CSEG _SW_CHECK_PROCESS_END 00000125
|
CSEG _SW_CHECK_PROCESS_END 0000013d
|
||||||
CSEG OW_CHECK_PRESENCE 00000136
|
CSEG OW_CHECK_PRESENCE 0000014e
|
||||||
CSEG _EXIT 0000013b
|
CSEG _EXIT 00000153
|
||||||
CSEG _OW_SEND_BYTE_LOOP 00000140
|
CSEG _OW_SEND_BYTE_LOOP 00000158
|
||||||
CSEG _OW_SEND_0 00000143
|
CSEG _OW_SEND_0 0000015b
|
||||||
CSEG _OW_SEND_1 0000014e
|
CSEG _OW_SEND_1 00000166
|
||||||
CSEG _OW_SEND_BYTE_END 00000158
|
CSEG _OW_SEND_BYTE_END 00000170
|
||||||
CSEG _OW_RD_BYTE_LP 00000162
|
CSEG _OW_RD_BYTE_LP 0000017a
|
||||||
EQU dividend 00000061
|
EQU dividend 00000061
|
||||||
EQU divisor 0000000a
|
EQU divisor 0000000a
|
||||||
CSEG DIV_LOOP 00000180
|
CSEG DIV_LOOP 00000198
|
||||||
CSEG DISPLAY_SYMBOLS 000001ba
|
CSEG DISPLAY_SYMBOLS 000001d2
|
||||||
CSEG _loop_2 000001a0
|
CSEG _loop_2 000001b8
|
||||||
CSEG _loop_0 000001a1
|
CSEG _loop_0 000001b9
|
||||||
CSEG _dec_0 000001a2
|
CSEG _dec_0 000001ba
|
||||||
CSEG _loop_1 000001a4
|
CSEG _loop_1 000001bc
|
||||||
CSEG _loop_3 000001a6
|
CSEG _loop_3 000001be
|
||||||
CSEG DELAY 000001ac
|
CSEG DELAY 000001c4
|
||||||
CSEG _DELAY_1 000001af
|
CSEG _DELAY_1 000001c7
|
||||||
CSEG _DELAY_2 000001b0
|
CSEG _DELAY_2 000001c8
|
||||||
|
|||||||
Binary file not shown.
@ -32,60 +32,61 @@
|
|||||||
<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>
|
||||||
|
<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>182</LINE></RESET_vect>
|
||||||
<TIMER0_COMPA_vect><FILE>main.asm</FILE><LINE>87</LINE></TIMER0_COMPA_vect>
|
<TIMER0_COMPA_vect><FILE>main.asm</FILE><LINE>88</LINE></TIMER0_COMPA_vect>
|
||||||
<PCINT0_vect><FILE>main.asm</FILE><LINE>52</LINE></PCINT0_vect>
|
<PCINT0_vect><FILE>main.asm</FILE><LINE>53</LINE></PCINT0_vect>
|
||||||
<_PCINT0_vect_end><FILE>main.asm</FILE><LINE>77</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>73</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>99</LINE></_CLR_CURRENT_DIGIT>
|
||||||
<_indicate_1><FILE>main.asm</FILE><LINE>102</LINE></_indicate_1>
|
<_indicate_1><FILE>main.asm</FILE><LINE>103</LINE></_indicate_1>
|
||||||
<_indicate_2><FILE>main.asm</FILE><LINE>124</LINE></_indicate_2>
|
<_indicate_2><FILE>main.asm</FILE><LINE>125</LINE></_indicate_2>
|
||||||
<DISPLAY_DECODER><FILE>main.asm</FILE><LINE>573</LINE></DISPLAY_DECODER>
|
<DISPLAY_DECODER><FILE>main.asm</FILE><LINE>588</LINE></DISPLAY_DECODER>
|
||||||
<USI_TRANSMIT><FILE>main.asm</FILE><LINE>382</LINE></USI_TRANSMIT>
|
<USI_TRANSMIT><FILE>main.asm</FILE><LINE>397</LINE></USI_TRANSMIT>
|
||||||
<_indicate_3><FILE>main.asm</FILE><LINE>141</LINE></_indicate_3>
|
<_indicate_3><FILE>main.asm</FILE><LINE>142</LINE></_indicate_3>
|
||||||
<_indicate_4><FILE>main.asm</FILE><LINE>157</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>188</LINE></MCU_INIT>
|
||||||
<continue><FILE>main.asm</FILE><LINE>224</LINE></continue>
|
<continue><FILE>main.asm</FILE><LINE>211</LINE></continue>
|
||||||
<LOOP><FILE>main.asm</FILE><LINE>243</LINE></LOOP>
|
<LOOP><FILE>main.asm</FILE><LINE>232</LINE></LOOP>
|
||||||
<_STATE_DEFAULT><FILE>main.asm</FILE><LINE>247</LINE></_STATE_DEFAULT>
|
<_STATE_DEFAULT><FILE>main.asm</FILE><LINE>236</LINE></_STATE_DEFAULT>
|
||||||
<_STATE_PROGRAM><FILE>main.asm</FILE><LINE>266</LINE></_STATE_PROGRAM>
|
<_STATE_PROGRAM><FILE>main.asm</FILE><LINE>255</LINE></_STATE_PROGRAM>
|
||||||
<DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>531</LINE></DISPLAY_UPD_DIGITS>
|
<DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>546</LINE></DISPLAY_UPD_DIGITS>
|
||||||
<TEMP_CONV><FILE>main.asm</FILE><LINE>361</LINE></TEMP_CONV>
|
<TEMP_CONV><FILE>main.asm</FILE><LINE>376</LINE></TEMP_CONV>
|
||||||
<DEBOUNCE_SW><FILE>main.asm</FILE><LINE>590</LINE></DEBOUNCE_SW>
|
<DEBOUNCE_SW><FILE>main.asm</FILE><LINE>605</LINE></DEBOUNCE_SW>
|
||||||
<TEMP_RD><FILE>main.asm</FILE><LINE>295</LINE></TEMP_RD>
|
<TEMP_RD><FILE>main.asm</FILE><LINE>284</LINE></TEMP_RD>
|
||||||
<_STATE_ERROR><FILE>main.asm</FILE><LINE>271</LINE></_STATE_ERROR>
|
<_STATE_ERROR><FILE>main.asm</FILE><LINE>260</LINE></_STATE_ERROR>
|
||||||
<SW_CHECK_PROCESS><FILE>main.asm</FILE><LINE>414</LINE></SW_CHECK_PROCESS>
|
<SW_CHECK_PROCESS><FILE>main.asm</FILE><LINE>429</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>288</LINE></DELAY_LOOP_16>
|
<DELAY_LOOP_16><FILE>main.asm</FILE><LINE>277</LINE></DELAY_LOOP_16>
|
||||||
<OW_PRESENCE><FILE>main.asm</FILE><LINE>439</LINE></OW_PRESENCE>
|
<OW_PRESENCE><FILE>main.asm</FILE><LINE>454</LINE></OW_PRESENCE>
|
||||||
<OW_SEND_BYTE><FILE>main.asm</FILE><LINE>466</LINE></OW_SEND_BYTE>
|
<OW_SEND_BYTE><FILE>main.asm</FILE><LINE>481</LINE></OW_SEND_BYTE>
|
||||||
<OW_RD_BYTE><FILE>main.asm</FILE><LINE>499</LINE></OW_RD_BYTE>
|
<OW_RD_BYTE><FILE>main.asm</FILE><LINE>514</LINE></OW_RD_BYTE>
|
||||||
<_TEMP_RD_TO_UNSIGNED><FILE>main.asm</FILE><LINE>329</LINE></_TEMP_RD_TO_UNSIGNED>
|
<_TEMP_RD_TO_UNSIGNED><FILE>main.asm</FILE><LINE>319</LINE></_TEMP_RD_TO_UNSIGNED>
|
||||||
<_TEMP_RD_CONTINUE><FILE>main.asm</FILE><LINE>340</LINE></_TEMP_RD_CONTINUE>
|
<_TEMP_RD_CONTINUE><FILE>main.asm</FILE><LINE>330</LINE></_TEMP_RD_CONTINUE>
|
||||||
<_TEMP_RD_END><FILE>main.asm</FILE><LINE>350</LINE></_TEMP_RD_END>
|
<_TEMP_RD_END><FILE>main.asm</FILE><LINE>340</LINE></_TEMP_RD_END>
|
||||||
<_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>400</LINE></_USI_TRANSMIT_LOOP>
|
<_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>415</LINE></_USI_TRANSMIT_LOOP>
|
||||||
<_INTO_DEFAULT_STATE><FILE>main.asm</FILE><LINE>427</LINE></_INTO_DEFAULT_STATE>
|
<_INTO_DEFAULT_STATE><FILE>main.asm</FILE><LINE>442</LINE></_INTO_DEFAULT_STATE>
|
||||||
<_SW_CHECK_PROCESS_END><FILE>main.asm</FILE><LINE>430</LINE></_SW_CHECK_PROCESS_END>
|
<_SW_CHECK_PROCESS_END><FILE>main.asm</FILE><LINE>445</LINE></_SW_CHECK_PROCESS_END>
|
||||||
<OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>455</LINE></OW_CHECK_PRESENCE>
|
<OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>470</LINE></OW_CHECK_PRESENCE>
|
||||||
<_EXIT><FILE>main.asm</FILE><LINE>461</LINE></_EXIT>
|
<_EXIT><FILE>main.asm</FILE><LINE>476</LINE></_EXIT>
|
||||||
<_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>471</LINE></_OW_SEND_BYTE_LOOP>
|
<_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>486</LINE></_OW_SEND_BYTE_LOOP>
|
||||||
<_OW_SEND_0><FILE>main.asm</FILE><LINE>475</LINE></_OW_SEND_0>
|
<_OW_SEND_0><FILE>main.asm</FILE><LINE>490</LINE></_OW_SEND_0>
|
||||||
<_OW_SEND_1><FILE>main.asm</FILE><LINE>483</LINE></_OW_SEND_1>
|
<_OW_SEND_1><FILE>main.asm</FILE><LINE>498</LINE></_OW_SEND_1>
|
||||||
<_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>490</LINE></_OW_SEND_BYTE_END>
|
<_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>505</LINE></_OW_SEND_BYTE_END>
|
||||||
<_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>505</LINE></_OW_RD_BYTE_LP>
|
<_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>520</LINE></_OW_RD_BYTE_LP>
|
||||||
<DIV_LOOP><FILE>main.asm</FILE><LINE>548</LINE></DIV_LOOP>
|
<DIV_LOOP><FILE>main.asm</FILE><LINE>563</LINE></DIV_LOOP>
|
||||||
<DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>640</LINE></DISPLAY_SYMBOLS>
|
<DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>655</LINE></DISPLAY_SYMBOLS>
|
||||||
<_loop_2><FILE>main.asm</FILE><LINE>596</LINE></_loop_2>
|
<_loop_2><FILE>main.asm</FILE><LINE>611</LINE></_loop_2>
|
||||||
<_loop_0><FILE>main.asm</FILE><LINE>598</LINE></_loop_0>
|
<_loop_0><FILE>main.asm</FILE><LINE>613</LINE></_loop_0>
|
||||||
<_dec_0><FILE>main.asm</FILE><LINE>600</LINE></_dec_0>
|
<_dec_0><FILE>main.asm</FILE><LINE>615</LINE></_dec_0>
|
||||||
<_loop_1><FILE>main.asm</FILE><LINE>603</LINE></_loop_1>
|
<_loop_1><FILE>main.asm</FILE><LINE>618</LINE></_loop_1>
|
||||||
<_loop_3><FILE>main.asm</FILE><LINE>606</LINE></_loop_3>
|
<_loop_3><FILE>main.asm</FILE><LINE>621</LINE></_loop_3>
|
||||||
<DELAY><FILE>main.asm</FILE><LINE>617</LINE></DELAY>
|
<DELAY><FILE>main.asm</FILE><LINE>632</LINE></DELAY>
|
||||||
<_DELAY_1><FILE>main.asm</FILE><LINE>622</LINE></_DELAY_1>
|
<_DELAY_1><FILE>main.asm</FILE><LINE>637</LINE></_DELAY_1>
|
||||||
<_DELAY_2><FILE>main.asm</FILE><LINE>624</LINE></_DELAY_2>
|
<_DELAY_2><FILE>main.asm</FILE><LINE>639</LINE></_DELAY_2>
|
||||||
</LABELS>
|
</LABELS>
|
||||||
</ASSEMBLER_INFO>
|
</ASSEMBLER_INFO>
|
||||||
|
|||||||
49
main.asm
49
main.asm
@ -27,8 +27,9 @@ DIGITS: .BYTE 4 ; Ячейки, где хранят
|
|||||||
CURRENT_DIGIT: .BYTE 1 ; Номер разряда индикатора, который сейчас горит
|
CURRENT_DIGIT: .BYTE 1 ; Номер разряда индикатора, который сейчас горит
|
||||||
SW_FLAGS: .BYTE 1 ; Состояние кнопок
|
SW_FLAGS: .BYTE 1 ; Состояние кнопок
|
||||||
HYSTERESIS: .BYTE 1 ; Отклонение температуры от уставки
|
HYSTERESIS: .BYTE 1 ; Отклонение температуры от уставки
|
||||||
TEMP_L: .BYTE 1
|
TEMP_L: .BYTE 1 ; Младший байт температуры
|
||||||
TEMP_H: .BYTE 1
|
TEMP_H: .BYTE 1 ; Старший байт температуры
|
||||||
|
TEMP_F: .BYTE 1 ; Дробная часть
|
||||||
;//</editor-fold>
|
;//</editor-fold>
|
||||||
|
|
||||||
|
|
||||||
@ -162,8 +163,7 @@ _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, TEMP_F
|
||||||
ldi TEMP_REG_A, 0
|
|
||||||
rcall DISPLAY_DECODER
|
rcall DISPLAY_DECODER
|
||||||
rcall USI_TRANSMIT
|
rcall USI_TRANSMIT
|
||||||
|
|
||||||
@ -207,19 +207,6 @@ MCU_INIT:
|
|||||||
outi r16, UCSRB, (1<<RXEN) | (1<<TXEN) ; Включение приема и передачии
|
outi r16, UCSRB, (1<<RXEN) | (1<<TXEN) ; Включение приема и передачии
|
||||||
outi r16, UCSRC, (1<<UCSZ1) | (1<<UCSZ0) ; Асинхронный режим, 8 бит фрейм, 1 стоповый бит
|
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:
|
continue:
|
||||||
clr r1
|
clr r1
|
||||||
@ -231,6 +218,8 @@ continue:
|
|||||||
clr r16
|
clr r16
|
||||||
sts TEMP_L, r16
|
sts TEMP_L, r16
|
||||||
sts TEMP_H, r16
|
sts TEMP_H, r16
|
||||||
|
ldi r16, 0xf0
|
||||||
|
sts TEMP_F, r16
|
||||||
|
|
||||||
|
|
||||||
display_load 0 ; загружаем число, которое нужно показать на индикатор
|
display_load 0 ; загружаем число, которое нужно показать на индикатор
|
||||||
@ -297,6 +286,7 @@ TEMP_RD:
|
|||||||
push r17
|
push r17
|
||||||
push r18
|
push r18
|
||||||
push r19
|
push r19
|
||||||
|
push r20
|
||||||
; cli
|
; cli
|
||||||
|
|
||||||
rcall OW_PRESENCE
|
rcall OW_PRESENCE
|
||||||
@ -348,10 +338,35 @@ _TEMP_RD_CONTINUE: ; Температура = Число с АЦП / 16 (
|
|||||||
lsr r18
|
lsr r18
|
||||||
ror r17
|
ror r17
|
||||||
_TEMP_RD_END:
|
_TEMP_RD_END:
|
||||||
|
lds r19, TEMP_L
|
||||||
|
brtc PC+2
|
||||||
|
neg r19 ; переводим обратно в знаковое число если минус
|
||||||
|
|
||||||
|
; далее происходит такое для получения дробной части:
|
||||||
|
; ((n<<3) + (n<<1))>>4 или (n*10)/16
|
||||||
|
mov r20, r19
|
||||||
|
andi r19, 0x0f
|
||||||
|
mov r20, r19
|
||||||
|
lsl r19
|
||||||
|
lsl r19
|
||||||
|
lsl r19
|
||||||
|
|
||||||
|
lsl r20
|
||||||
|
|
||||||
|
add r19, r20
|
||||||
|
|
||||||
|
lsr r19
|
||||||
|
lsr r19
|
||||||
|
lsr r19
|
||||||
|
lsr r19
|
||||||
|
|
||||||
|
; записываем данные
|
||||||
sts TEMP_L, r17
|
sts TEMP_L, r17
|
||||||
sts TEMP_H, r18
|
sts TEMP_H, r18
|
||||||
|
sts TEMP_F, r19
|
||||||
|
|
||||||
; sei
|
; sei
|
||||||
|
pop r20
|
||||||
pop r19
|
pop r19
|
||||||
pop r18
|
pop r18
|
||||||
pop r17
|
pop r17
|
||||||
|
|||||||
107
main.hex
107
main.hex
@ -1,59 +1,62 @@
|
|||||||
:020000020000FC
|
:020000020000FC
|
||||||
:0200000064C0DA
|
:0200000069C0D5
|
||||||
:0200160018953B
|
:0200160018953B
|
||||||
:10001A0015C00F931F932F933F930FB7B49908C03E
|
:10001A0015C00F931F932F933F930FB7B49908C03E
|
||||||
:10002A0020916000203009F003C011E010936000B5
|
:10002A0020916000203009F003C011E010936000B5
|
||||||
:10003A000FBF3F912F911F910F9118954F935F9387
|
:10003A000FBF3F912F911F910F9118954F935F9387
|
||||||
:10004A000F935FB74091670045300CF403C0442713
|
:10004A000F935FB74091670045300CF403C0442713
|
||||||
:10005A0040936700403061F4939894989598009182
|
:10005A0040936700403081F49398949895980EF0F5
|
||||||
:10006A006500002311F0929A01C0929858D1D3D01A
|
:10006A0002C00BE002C000916500002311F0929AD1
|
||||||
:10007A00413041F4929894989598939A009164002B
|
:10007A0001C0929869D1E4D0413041F492989498A1
|
||||||
:10008A004ED1C9D0423059F4929893989598949A3F
|
:10008A009598939A009164005FD1DAD0423059F47E
|
||||||
:10009A000091630044D1002D0F77002EBCD043306D
|
:10009A00929893989598949A0091630055D1002D5F
|
||||||
:1000AA0039F4929893989498959A00E038D1B3D0FD
|
:1000AA000F77002ECDD0433041F4929893989498CC
|
||||||
:1000BA004395409367005FBF0F915F914F911895E9
|
:1000BA00959A00916C0048D1C3D04395409367004C
|
||||||
:1000CA000FED0DBF0EE701BB01EC07BB0CE108BB4E
|
:1000CA005FBF0F915F914F9118950FED0DBF0EE72E
|
||||||
:1000DA0002E000BF05E003BF09E106BF01E009BF76
|
:1000DA0001BB01EC07BB0CE108BB02E000BF05E075
|
||||||
:1000EA0000E20BBF0CE100BD03E309B900E002B96D
|
:1000EA0003BF09E106BF01E009BF00E20BBF0CE153
|
||||||
:1000FA0008E10AB906E003B93BEF387F383F09F057
|
:1000FA0000BD03E309B900E002B908E10AB906E064
|
||||||
:10010A0006C00CEF10E90095109521E0120F11249A
|
:10010A0003B909E0019511241092670000E00093F9
|
||||||
:10011A001092670000E000936000002700936A00D5
|
:10011A006000002700936A0000936B0000EF0093D1
|
||||||
:10012A0000936B0080E090E000916000003079F469
|
:10012A006C0080E090E000916000003079F4F2D039
|
||||||
:10013A00DCD070FD969A70FF969863D0FBD0FAD007
|
:10013A0070FD969A70FF969879D011D110D12ED071
|
||||||
:10014A002ED010916A00812F10916B00912F0130EF
|
:10014A0010916A00812F10916B00912F013011F4E8
|
||||||
:10015A0011F4CBD06CD0023039F71BE01093630056
|
:10015A00E1D082D0023039F71BE01093630010938C
|
||||||
:10016A001093640010936500109366000000DCCFC2
|
:10016A00640010936500109366000000DCCFEE2453
|
||||||
:10017A00EE24FF1841E1001F111F4A9509F4089562
|
:10017A00FF1841E1001F111F4A9509F40895EE1C6A
|
||||||
:10018A00EE1CFF1CE21AF30A20F4E20EF31E889416
|
:10018A00FF1CE21AF30A20F4E20EF31E8894F2CF5F
|
||||||
:10019A00F2CF0894F0CF41503040E8F708950F931A
|
:10019A000894F0CF41503040E8F708950F931F9329
|
||||||
:1001AA001F932F933F9351D00CEC802E63D00EEB0C
|
:1001AA002F933F934F9366D00CEC802E78D00EEBB2
|
||||||
:1001BA00802E60D0AAE6B0E07ED0ABE6B0E07BD07D
|
:1001BA00802E75D0AAE6B0E093D0ABE6B0E090D03E
|
||||||
:1001CA0010916A0020916B002F93287F283F09F035
|
:1001CA0010916A0020916B002F93287F283F11F02D
|
||||||
:1001DA0006C02F912095109521E0120F09C02F918A
|
:1001DA00E89409C02F9168941095209531E0130F87
|
||||||
:1001EA002695179526951795269517952695179569
|
:1001EA0030E0231F01C02F91269517952695179564
|
||||||
:1001FA0010936A0020936B003F912F911F910F91EA
|
:1001FA00269517952695179530916A00432F3F70DB
|
||||||
:10020A0008950F9322D00CEC802E34D004E4802E73
|
:10020A00432F330F330F330F440F340F3695369580
|
||||||
:10021A0031D00F9108950F930FB800E40EB90BE196
|
:10021A003695369510936A0020936B0030936C00E4
|
||||||
:10022A000DB9769BFDCFC09AC0980F9108950F9390
|
:10022A004F913F912F911F910F9108950F9322D0D3
|
||||||
:10023A0081D0B29B0196B39B0197B49B01C003C0C6
|
:10023A000CEC802E34D004E4802E31D00F91089536
|
||||||
:10024A0000E0009360000F910895F894B99A33E0A2
|
:10024A000F930FB800E40EB90BE10DB9769BFDCF01
|
||||||
:10025A004EEBA1DFB99830E04AE89DDF05D033E0E4
|
:10025A00C09AC0980F9108950F9381D0B29B0196CE
|
||||||
:10026A0042E399DF78940895B19B716002C0B19915
|
:10026A00B39B0197B49B01C003C000E000936000F8
|
||||||
:10027A007E7F08950F931F93082D18E0069508F4C2
|
:10027A000F910895F894B99A33E04EEB8BDFB99851
|
||||||
:10028A0058F0F894B99A30E046E785DFB99830E03B
|
:10028A0030E04AE887DF05D033E042E383DF789441
|
||||||
:10029A0042E181DF78940AC0F894B99A30E04AE0E2
|
:10029A000895B19B716002C0B1997E7F08950F9352
|
||||||
:1002AA007ADFB99830E04EE776DF78941A9531F71D
|
:1002AA001F93082D18E0069508F458F0F894B99AA7
|
||||||
:1002BA001F910F9108950F931F93002718E0F89448
|
:1002BA0030E046E76FDFB99830E042E16BDF7894CF
|
||||||
:1002CA000695B99A30E04AE066DFB99830E040E135
|
:1002CA000AC0F894B99A30E04AE064DFB99830E09D
|
||||||
:1002DA0062DFB199006830E04CE65DDF1A9581F77C
|
:1002DA004EE760DF78941A9531F71F910F910895D0
|
||||||
:1002EA000C9378941F910F910895F8945F9354E0BA
|
:1002EA000F931F93002718E0F8940695B99A30E007
|
||||||
:1002FA00A3E6B0E0809361009093620000916100F0
|
:1002FA004AE050DFB99830E040E14CDFB19900683C
|
||||||
:10030A00109162002AE030E033DFED920093610041
|
:10030A0030E04CE647DF1A9581F70C9378941F91F9
|
||||||
:10031A00109362005A9591F75F91789408950F931C
|
:10031A000F910895F8945F9354E0A3E6B0E08093B8
|
||||||
:10032A001F93EAE7F3E01127E00FF11F04901F91F2
|
:10032A0061009093620000916100109162002AE0DE
|
||||||
:10033A000F9108950F931F932F932AE01FEF0FEF4A
|
:10033A0030E01DDFED9200936100109362005A9540
|
||||||
:10034A000A95F1F71A95D9F72A95C1F72F911F91B6
|
:10034A0091F75F91789408950F931F93E4EAF3E08D
|
||||||
:10035A000F9108950F931F930FEF1FEF1A95000047
|
:10035A001127E00FF11F04901F910F9108950F9339
|
||||||
:10036A0000000000D9F70A95C1F71F910F9108956F
|
:10036A001F932F932AE01FEF0FEF0A95F1F71A95C3
|
||||||
:0C037A00C0F9A4B0999282F880909CBF5A
|
:10037A00D9F72A95C1F72F911F910F9108950F93DD
|
||||||
|
:10038A001F930FEF1FEF1A95000000000000D9F726
|
||||||
|
:10039A000A95C1F71F910F910895C0F9A4B09992D7
|
||||||
|
:0603AA0082F880909CBF68
|
||||||
:00000001FF
|
:00000001FF
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user