mirror of
https://github.com/sergeyyarkov/attiny2313a_thermostat.git
synced 2026-10-11 10:18:56 +03:00
send data to uart
This commit is contained in:
parent
54571b0e23
commit
482bb3794c
1
NOTES.md
1
NOTES.md
@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
ОСНОВНОЕ:
|
ОСНОВНОЕ:
|
||||||
|
|
||||||
- сделать подпрограмму, которая будет проверять текущую температуру с уставкой учитывая гистерезис
|
|
||||||
- сделать подпрограмму, которя будет опрашивать кнопки и в зависимости от нажатия переключють состояние программы
|
- сделать подпрограмму, которя будет опрашивать кнопки и в зависимости от нажатия переключють состояние программы
|
||||||
- сделать программу, которая будет сохранять уставку температуры и гистерезис в EEPROM (перед инициализации МК
|
- сделать программу, которая будет сохранять уставку температуры и гистерезис в EEPROM (перед инициализации МК
|
||||||
необходимо чтобы данные брались из EEPROM и записывались в соответствующие ячейки)
|
необходимо чтобы данные брались из EEPROM и записывались в соответствующие ячейки)
|
||||||
|
|||||||
@ -7,77 +7,79 @@
|
|||||||
:10004A000F931F935FB74091670045300CF403C0CC
|
:10004A000F931F935FB74091670045300CF403C0CC
|
||||||
:10005A00442740936700403081F493989498959888
|
:10005A00442740936700403081F493989498959888
|
||||||
:10006A000EF002C00BE002C000916500002311F0FF
|
:10006A000EF002C00BE002C000916500002311F0FF
|
||||||
:10007A00929A01C09298F8D173D1413081F4929842
|
:10007A00929A01C092980FD28CD1413081F4929811
|
||||||
:10008A00949895980091640030916500032B11F0C3
|
:10008A00949895980091640030916500032B11F0C3
|
||||||
:10009A00939A01C0939800916400E6D161D14230ED
|
:10009A00939A01C0939800916400FDD17AD14230BD
|
||||||
:1000AA0059F4929893989598949A00916300DCD1A8
|
:1000AA0059F4929893989598949A00916300F3D191
|
||||||
:1000BA00002D0F77002E54D1433041F49298939833
|
:1000BA00002D0F77002E6DD1433041F4929893981A
|
||||||
:1000CA009498959A00916B00CFD14AD14395409369
|
:1000CA009498959A00916B00E6D163D14395409339
|
||||||
:1000DA0067005FBF1F910F915F914F9118950FEDC8
|
:1000DA0067005FBF1F910F915F914F9118950FEDC8
|
||||||
:1000EA000DBF0FE701BB01EE07BB0CE108BB02E045
|
:1000EA000DBF0FE701BB01EE07BB0CE108BB02E045
|
||||||
:1000FA0000BF05E003BF09E106BF00E20BBF0CE148
|
:1000FA0000BF05E003BF09E106BF00E20BBF0CE148
|
||||||
:10010A0000BD11241092670000E0009360000CE229
|
:10010A0000BD03E309B900E002B908E00AB906E054
|
||||||
:10011A0000936D0001E000936C0005E000936E000F
|
:10011A0003B911241092670000E0009360000CE21A
|
||||||
:10012A0001E000936F0000270093690000936A00C2
|
:10012A0000936D0001E000936C0005E000936E00FF
|
||||||
:10013A0000EF00936B00B6D000917000083209F40A
|
:10013A0001E000936F0000270093690000936A00B2
|
||||||
:10014A0005C012E0109360009ED101C098D180E0F2
|
:10014A0000EF00936B00C5D000917000083209F4EB
|
||||||
:10015A0090E000916000003031F496986BD18FD016
|
:10015A0005C012E010936000ADD101C0A7D180E0C4
|
||||||
:10016A0001E009BF39D0013019F4969863D104D15E
|
:10016A0090E000916000003039F496987AD1A2D0DC
|
||||||
:10017A00023079F7969AEDCFEE24FF1841E1001F7D
|
:10017A0001E009BF50D039D0013019F4969871D1F5
|
||||||
:10018A00111F4A9509F40895EE1CFF1CE21AF30A9E
|
:10018A0014D1023071F7969AECCFEE24FF1841E1B0
|
||||||
:10019A0020F4E20EF31E8894F2CF0894F0CFFF18F1
|
:10019A00001F111F4A9509F40895EE1CFF1CE21A6C
|
||||||
:1001AA0029E0001F2A9509F40895FF1CF11A18F492
|
:1001AA00F30A20F4E20EF31E8894F2CF0894F0CFFB
|
||||||
:1001BA00F10E8894F6CF0894F4CF5527442760E1CE
|
:1001BA00FF1829E0001F2A9509F40895FF1CF11A77
|
||||||
:1001CA003695279510F4400F511F57954795379547
|
:1001CA0018F4F10E8894F6CF0894F4CF55274427F3
|
||||||
:1001DA0027956A95B9F708950F931F932F933F9325
|
:1001DA0060E13695279510F4400F511F57954795C2
|
||||||
:1001EA004F935F936F937F930091690010916A0018
|
:1001EA00379527956A95B9F708950F930091690095
|
||||||
:1001FA002AE030E0E2DF022F132F20916B00332731
|
:1001FA00502E0DD000916B00502E09D000B3017023
|
||||||
:10020A00020F131F109371000093720040916D004A
|
:10020A00502E05D004E0502E02D00F9108955D9B28
|
||||||
:10021A0050916C0060916E004F935F937727461B55
|
:10021A00FECF5CB808950F931F932F933F934F938C
|
||||||
:10022A00570BB42EA52E5F914F917727460F571F74
|
:10022A005F930091690010916A002AE030E0CEDF06
|
||||||
:10023A00D42EC52E0EF004C0009510950F5F1F4FE7
|
:10023A00022F132F20916B003327020F131F1093E5
|
||||||
:10024A00B016A10624F40D151C054CF40FC04091FC
|
:10024A0071000093720040916D0050916C006091B2
|
||||||
:10025A006F00442311F4909801C0909A07C040910E
|
:10025A006E004F935F937727461B570BB42EA52E3C
|
||||||
:10026A006F00442311F4909A01C090987F916F9186
|
:10026A005F914F917727460F571FD42EC52E0EF058
|
||||||
:10027A005F914F913F912F911F910F9108951F9375
|
:10027A0004C0009510950F5F1F4FB016A10624F415
|
||||||
:10028A0065D05CE034E34DEF19D15CE034E34DEF27
|
:10028A000D151C054CF40FC040916F00442311F466
|
||||||
:10029A0015D112D010916900812F10916A00912F07
|
:10029A00909801C0909A07C040916F00442311F4CE
|
||||||
:1002AA001F9108950F9376D003E3802E88D0A0E79C
|
:1002AA00909A01C090985F914F913F912F911F9121
|
||||||
:1002BA00B0E0A6D00F9108950F931F932F933F9309
|
:1002BA000F9108951F9361D053E137E84DEF15D19F
|
||||||
:1002CA004F9368D00CEC802E7AD00EEB802E77D02C
|
:1002CA0012D010916900812F10916A00912F1F910D
|
||||||
:1002DA00A9E6B0E095D0AAE6B0E092D01091690004
|
:1002DA0008950F9378D003E3802E8AD0A0E7B0E088
|
||||||
:1002EA0020916A002F93287F283F11F0E89409C0D3
|
:1002EA00A6D00F9108950F931F932F933F934F9387
|
||||||
:1002FA002F9168941095209531E0130F30E0231F59
|
:1002FA006AD070FF3CC00CEC802E7AD00EEB802EB8
|
||||||
:10030A0001C02F912695179526951795269517952D
|
:10030A0077D0A9E6B0E093D0AAE6B0E090D01091F9
|
||||||
:10031A0026951795309169000EF43195432F3F7059
|
:10031A00690020916A002F93287F283F11F0E89402
|
||||||
:10032A00432F330F330F330F440F340F369536955F
|
:10032A0007C02F916894109520951F5F2F4F01C029
|
||||||
:10033A00369536951093690020936A0030936B00C6
|
:10033A002F91269517952695179526951795269503
|
||||||
:10034A004F913F912F911F910F9108950F9322D0B2
|
:10034A001795309169000EF43195432F3F70432F72
|
||||||
:10035A000CEC802E34D004E4802E31D00F91089515
|
:10035A00330F330F330F440F340F369536953695D6
|
||||||
:10036A000F930FB800E40EB90BE10DB9769BFDCFE0
|
:10036A0036951093690020936A0030936B004F9181
|
||||||
:10037A00C09AC0980F9108950F938CD0B29B0196A2
|
:10037A003F912F911F910F9108950F9324D070FFF1
|
||||||
:10038A00B39B0197B49B01C003C000E000936000D7
|
:10038A0006C00CEC802E34D004E4802E31D00F91BC
|
||||||
:10039A000F910895F894B99A33E04EEB8BD0B9983F
|
:10039A0008950F930FB800E40EB90BE10DB9769BDF
|
||||||
:1003AA0030E04AE887D005D033E042E383D078943E
|
:1003AA00FDCFC09AC0980F9108950F938AD0B29B3F
|
||||||
:1003BA000895B19B716002C0B1997E7F08950F9331
|
:1003BA000196B39B0197B49B01C003C000E0009370
|
||||||
:1003CA001F93082D18E0069508F458F0F894B99A86
|
:1003CA0060000F910895F894B99A33E04EEB89D002
|
||||||
:1003DA0030E046E76FD0B99830E042E16BD07894CC
|
:1003DA00B99830E04AE885D005D033E042E381D0CD
|
||||||
:1003EA000AC0F894B99A30E04AE064D0B99830E08B
|
:1003EA0078940895B19B716002C0B1997E7F089597
|
||||||
:1003FA004EE760D078941A9531F71F910F910895BE
|
:1003FA000F931F93F894082D18E0069508F448F017
|
||||||
:10040A000F931F93002718E0F8940695B99A30E0E5
|
:10040A00B99A30E046E76DD0B99830E042E169D058
|
||||||
:10041A004AE050D0B99830E040E14CD0B199006838
|
:10041A0008C0B99A30E04AE064D0B99830E04EE7B3
|
||||||
:10042A0030E04CE647D01A9581F70C9378941F91E7
|
:10042A0060D01A9551F778941F910F9108950F9300
|
||||||
:10043A000F910895F8945F9354E0A3E6B0E0809397
|
:10043A001F93F894002718E00695B99A30E04AE02D
|
||||||
:10044A0061009093620000916100109162002AE0BD
|
:10044A0050D0B99830E040E14CD0B199006830E022
|
||||||
:10045A0030E092DEED9200936100109362005A95AB
|
:10045A004CE647D01A9581F70C9378941F910F9127
|
||||||
:10046A0091F75F91789408950F931F93E0EFF4E06A
|
:10046A000895F8945F9354E0A3E6B0E080936100A6
|
||||||
:10047A001127E00FF11F04901F910F910895C59A5B
|
:10047A009093620000916100109162002AE030E0DE
|
||||||
:10048A0022D0C5980895C59A1ED01DD01CD01BD065
|
:10048A0084DEED9200936100109362005A9591F711
|
||||||
:10049A00C59808950F931F932F932AE01FEF0FEF2C
|
:10049A005F91789408950F931F93EEE1F5E0112789
|
||||||
:1004AA000A95F1F71A95D9F72A95C1F72F911F9155
|
:1004AA00E00FF11F04901F910F910895C59A22D071
|
||||||
:1004BA000F91089541503040E8F708954150304077
|
:1004BA00C5980895C59A1ED01DD01CD01BD0C598CA
|
||||||
:1004CA005040E0F708950F931F932F9326E00FEF04
|
:1004CA0008950F931F932F932AE01FEF0FEF0A95BA
|
||||||
:1004DA001FEF1A95F1F70A95D9F72A95C1F72F91C7
|
:1004DA00F1F71A95D9F72A95C1F72F911F910F9124
|
||||||
:1004EA001F910F910895C0F9A4B0999282F8809053
|
:1004EA00089541503040E8F7089541503040504057
|
||||||
:0204FA009CBFA5
|
:1004FA00E0F708950F931F932F9326E00FEF1FEF56
|
||||||
|
:10050A001A95F1F70A95D9F72A95C1F72F911F91F4
|
||||||
|
:10051A000F910895C0F9A4B0999282F880909CBF77
|
||||||
:00000001FF
|
:00000001FF
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
AVRASM ver. 2.2.7 main.asm Mon Jun 26 09:43:03 2023
|
AVRASM ver. 2.2.7 main.asm Mon Jun 26 12:19:45 2023
|
||||||
|
|
||||||
|
|
||||||
EQU SIGNATURE_000 0000001e
|
EQU SIGNATURE_000 0000001e
|
||||||
@ -558,25 +558,26 @@ CSEG _INTO_PROGRAM_STATE 0000001a
|
|||||||
CSEG _CLR_CURRENT_DIGIT 0000002d
|
CSEG _CLR_CURRENT_DIGIT 0000002d
|
||||||
CSEG _indicate_1 00000030
|
CSEG _indicate_1 00000030
|
||||||
CSEG _indicate_2 00000042
|
CSEG _indicate_2 00000042
|
||||||
CSEG DISPLAY_DECODER 00000239
|
CSEG DISPLAY_DECODER 00000250
|
||||||
CSEG USI_TRANSMIT 000001b5
|
CSEG USI_TRANSMIT 000001ce
|
||||||
CSEG _indicate_3 00000054
|
CSEG _indicate_3 00000054
|
||||||
CSEG _indicate_4 00000061
|
CSEG _indicate_4 00000061
|
||||||
CSEG _indicate_exit 0000006b
|
CSEG _indicate_exit 0000006b
|
||||||
CSEG MCU_INIT 00000076
|
CSEG MCU_INIT 00000076
|
||||||
CSEG RD_F_CODE 00000157
|
CSEG RD_F_CODE 0000016e
|
||||||
CSEG ERR_FAMILY_CODE 000000a6
|
CSEG ERR_FAMILY_CODE 000000ae
|
||||||
CSEG START_PROGRAM 000000ab
|
CSEG START_PROGRAM 000000b3
|
||||||
CSEG BEEP_LONG 00000248
|
CSEG BEEP_LONG 0000025f
|
||||||
CSEG BEEP_SHORT 00000244
|
CSEG BEEP_SHORT 0000025b
|
||||||
CSEG LOOP 000000ae
|
CSEG LOOP 000000b6
|
||||||
CSEG _STATE_DEFAULT 000000b0
|
CSEG _STATE_DEFAULT 000000b8
|
||||||
CSEG _STATE_PROGRAM 000000b8
|
CSEG _STATE_PROGRAM 000000c1
|
||||||
CSEG DISPLAY_UPD_DIGITS 0000021f
|
CSEG DISPLAY_UPD_DIGITS 00000236
|
||||||
CSEG TEMP_UPD 00000144
|
CSEG TEMP_UPD 0000015f
|
||||||
CSEG TEMP_COMPARSION 000000f1
|
CSEG TEMP_COMPARSION 00000110
|
||||||
CSEG _STATE_ERROR 000000bd
|
CSEG TEMP_SEND_UART 000000fa
|
||||||
CSEG SW_CHECK_PROCESS 000001c1
|
CSEG _STATE_ERROR 000000c6
|
||||||
|
CSEG SW_CHECK_PROCESS 000001da
|
||||||
DEF drem16uL r14
|
DEF drem16uL r14
|
||||||
DEF drem16uH r15
|
DEF drem16uH r15
|
||||||
DEF dres16uL r16
|
DEF dres16uL r16
|
||||||
@ -586,19 +587,19 @@ DEF dd16uH r17
|
|||||||
DEF dv16uL r18
|
DEF dv16uL r18
|
||||||
DEF dv16uH r19
|
DEF dv16uH r19
|
||||||
DEF dcnt16u r20
|
DEF dcnt16u r20
|
||||||
CSEG div16u 000000c1
|
CSEG div16u 000000ca
|
||||||
CSEG d16u_1 000000c4
|
CSEG d16u_1 000000cd
|
||||||
CSEG d16u_2 000000c9
|
CSEG d16u_2 000000d2
|
||||||
CSEG d16u_3 000000d2
|
CSEG d16u_3 000000db
|
||||||
DEF drem8u r15
|
DEF drem8u r15
|
||||||
DEF dres8u r16
|
DEF dres8u r16
|
||||||
DEF dd8u r16
|
DEF dd8u r16
|
||||||
DEF dv8u r17
|
DEF dv8u r17
|
||||||
DEF dcnt8u r18
|
DEF dcnt8u r18
|
||||||
CSEG div8u 000000d4
|
CSEG div8u 000000dd
|
||||||
CSEG d8u_1 000000d6
|
CSEG d8u_1 000000df
|
||||||
CSEG d8u_2 000000da
|
CSEG d8u_2 000000e3
|
||||||
CSEG d8u_3 000000e0
|
CSEG d8u_3 000000e9
|
||||||
DEF mc16uL r16
|
DEF mc16uL r16
|
||||||
DEF mc16uH r17
|
DEF mc16uH r17
|
||||||
DEF mp16uL r18
|
DEF mp16uL r18
|
||||||
@ -608,51 +609,54 @@ DEF m16u1 r19
|
|||||||
DEF m16u2 r20
|
DEF m16u2 r20
|
||||||
DEF m16u3 r21
|
DEF m16u3 r21
|
||||||
DEF mcnt16u r22
|
DEF mcnt16u r22
|
||||||
CSEG mpy16u 000000e2
|
CSEG mpy16u 000000eb
|
||||||
CSEG m16u_1 000000e7
|
CSEG m16u_1 000000f0
|
||||||
CSEG noad8 000000ea
|
CSEG noad8 000000f3
|
||||||
|
CSEG UART_WR_BYTE 0000010c
|
||||||
DEF temp_r_l r16
|
DEF temp_r_l r16
|
||||||
DEF temp_r_h r17
|
DEF temp_r_h r17
|
||||||
DEF min_r_trhd_l r11
|
DEF min_r_trhd_l r11
|
||||||
DEF min_r_trhd_h r10
|
DEF min_r_trhd_h r10
|
||||||
DEF max_r_trhd_l r13
|
DEF max_r_trhd_l r13
|
||||||
DEF max_r_trhd_h r12
|
DEF max_r_trhd_h r12
|
||||||
CSEG _NEGATE_TEMP 00000121
|
CSEG _NEGATE_TEMP 0000013e
|
||||||
CSEG _COMPARE 00000125
|
CSEG _COMPARE 00000142
|
||||||
CSEG _MIN_THRESHOLD 0000012c
|
CSEG _MIN_THRESHOLD 00000149
|
||||||
CSEG _MAX_THRESHOLD 00000134
|
CSEG _MAX_THRESHOLD 00000151
|
||||||
CSEG _COMPARSION_EXIT 0000013b
|
CSEG _COMPARSION_EXIT 00000158
|
||||||
CSEG TEMP_CONV 000001ab
|
CSEG TEMP_CONV 000001c2
|
||||||
CSEG DELAY_LOOP_24 00000263
|
CSEG DELAY_LOOP_24 0000027a
|
||||||
CSEG TEMP_RD 00000161
|
CSEG TEMP_RD 00000178
|
||||||
CSEG OW_PRESENCE 000001cf
|
CSEG OW_PRESENCE 000001e8
|
||||||
CSEG OW_SEND_BYTE 000001e4
|
CSEG OW_SEND_BYTE 000001fd
|
||||||
CSEG OW_RD_BYTE 00000205
|
CSEG OW_RD_BYTE 0000021c
|
||||||
CSEG _TEMP_RD_TO_UNSIGNED 0000017d
|
CSEG _TEMP_RD_EXIT 000001bc
|
||||||
CSEG _TEMP_RD_CONTINUE 00000186
|
CSEG _TEMP_RD_TO_UNSIGNED 00000196
|
||||||
CSEG _TEMP_RD_END 0000018f
|
CSEG _TEMP_RD_CONTINUE 0000019d
|
||||||
CSEG _USI_TRANSMIT_LOOP 000001ba
|
CSEG _TEMP_RD_END 000001a6
|
||||||
CSEG DEBOUNCE_SW 0000024f
|
CSEG _TEMP_CONV_EXIT 000001cc
|
||||||
CSEG _INTO_DEFAULT_STATE 000001ca
|
CSEG _USI_TRANSMIT_LOOP 000001d3
|
||||||
CSEG _SW_CHECK_PROCESS_END 000001cd
|
CSEG DEBOUNCE_SW 00000266
|
||||||
CSEG DELAY_LOOP_16 0000025f
|
CSEG _INTO_DEFAULT_STATE 000001e3
|
||||||
CSEG OW_CHECK_PRESENCE 000001de
|
CSEG _SW_CHECK_PROCESS_END 000001e6
|
||||||
CSEG _EXIT 000001e3
|
CSEG DELAY_LOOP_16 00000276
|
||||||
CSEG _OW_SEND_BYTE_LOOP 000001e8
|
CSEG OW_CHECK_PRESENCE 000001f7
|
||||||
CSEG _OW_SEND_0 000001eb
|
CSEG _EXIT 000001fc
|
||||||
CSEG _OW_SEND_1 000001f6
|
CSEG _OW_SEND_BYTE_LOOP 00000202
|
||||||
CSEG _OW_SEND_BYTE_END 00000200
|
CSEG _OW_SEND_0 00000205
|
||||||
CSEG _OW_RD_BYTE_LP 0000020a
|
CSEG _OW_SEND_1 0000020e
|
||||||
|
CSEG _OW_SEND_BYTE_END 00000216
|
||||||
|
CSEG _OW_RD_BYTE_LP 00000221
|
||||||
EQU dividend 00000061
|
EQU dividend 00000061
|
||||||
EQU divisor 0000000a
|
EQU divisor 0000000a
|
||||||
CSEG DIV_LOOP 00000228
|
CSEG DIV_LOOP 0000023f
|
||||||
CSEG DISPLAY_SYMBOLS 00000278
|
CSEG DISPLAY_SYMBOLS 0000028f
|
||||||
CSEG DELAY 00000268
|
CSEG DELAY 0000027f
|
||||||
CSEG _loop_2 00000253
|
CSEG _loop_2 0000026a
|
||||||
CSEG _loop_0 00000254
|
CSEG _loop_0 0000026b
|
||||||
CSEG _dec_0 00000255
|
CSEG _dec_0 0000026c
|
||||||
CSEG _loop_1 00000257
|
CSEG _loop_1 0000026e
|
||||||
CSEG _loop_3 00000259
|
CSEG _loop_3 00000270
|
||||||
CSEG _DELAY_0 0000026c
|
CSEG _DELAY_0 00000283
|
||||||
CSEG _DELAY_1 0000026d
|
CSEG _DELAY_1 00000284
|
||||||
CSEG _DELAY_2 0000026e
|
CSEG _DELAY_2 00000285
|
||||||
|
|||||||
Binary file not shown.
@ -49,25 +49,26 @@
|
|||||||
<_CLR_CURRENT_DIGIT><FILE>main.asm</FILE><LINE>108</LINE></_CLR_CURRENT_DIGIT>
|
<_CLR_CURRENT_DIGIT><FILE>main.asm</FILE><LINE>108</LINE></_CLR_CURRENT_DIGIT>
|
||||||
<_indicate_1><FILE>main.asm</FILE><LINE>112</LINE></_indicate_1>
|
<_indicate_1><FILE>main.asm</FILE><LINE>112</LINE></_indicate_1>
|
||||||
<_indicate_2><FILE>main.asm</FILE><LINE>132</LINE></_indicate_2>
|
<_indicate_2><FILE>main.asm</FILE><LINE>132</LINE></_indicate_2>
|
||||||
<DISPLAY_DECODER><FILE>main.asm</FILE><LINE>741</LINE></DISPLAY_DECODER>
|
<DISPLAY_DECODER><FILE>main.asm</FILE><LINE>778</LINE></DISPLAY_DECODER>
|
||||||
<USI_TRANSMIT><FILE>main.asm</FILE><LINE>554</LINE></USI_TRANSMIT>
|
<USI_TRANSMIT><FILE>main.asm</FILE><LINE>595</LINE></USI_TRANSMIT>
|
||||||
<_indicate_3><FILE>main.asm</FILE><LINE>150</LINE></_indicate_3>
|
<_indicate_3><FILE>main.asm</FILE><LINE>150</LINE></_indicate_3>
|
||||||
<_indicate_4><FILE>main.asm</FILE><LINE>166</LINE></_indicate_4>
|
<_indicate_4><FILE>main.asm</FILE><LINE>166</LINE></_indicate_4>
|
||||||
<_indicate_exit><FILE>main.asm</FILE><LINE>178</LINE></_indicate_exit>
|
<_indicate_exit><FILE>main.asm</FILE><LINE>178</LINE></_indicate_exit>
|
||||||
<MCU_INIT><FILE>main.asm</FILE><LINE>197</LINE></MCU_INIT>
|
<MCU_INIT><FILE>main.asm</FILE><LINE>197</LINE></MCU_INIT>
|
||||||
<RD_F_CODE><FILE>main.asm</FILE><LINE>426</LINE></RD_F_CODE>
|
<RD_F_CODE><FILE>main.asm</FILE><LINE>457</LINE></RD_F_CODE>
|
||||||
<ERR_FAMILY_CODE><FILE>main.asm</FILE><LINE>253</LINE></ERR_FAMILY_CODE>
|
<ERR_FAMILY_CODE><FILE>main.asm</FILE><LINE>253</LINE></ERR_FAMILY_CODE>
|
||||||
<START_PROGRAM><FILE>main.asm</FILE><LINE>258</LINE></START_PROGRAM>
|
<START_PROGRAM><FILE>main.asm</FILE><LINE>258</LINE></START_PROGRAM>
|
||||||
<BEEP_LONG><FILE>main.asm</FILE><LINE>765</LINE></BEEP_LONG>
|
<BEEP_LONG><FILE>main.asm</FILE><LINE>802</LINE></BEEP_LONG>
|
||||||
<BEEP_SHORT><FILE>main.asm</FILE><LINE>757</LINE></BEEP_SHORT>
|
<BEEP_SHORT><FILE>main.asm</FILE><LINE>794</LINE></BEEP_SHORT>
|
||||||
<LOOP><FILE>main.asm</FILE><LINE>267</LINE></LOOP>
|
<LOOP><FILE>main.asm</FILE><LINE>267</LINE></LOOP>
|
||||||
<_STATE_DEFAULT><FILE>main.asm</FILE><LINE>271</LINE></_STATE_DEFAULT>
|
<_STATE_DEFAULT><FILE>main.asm</FILE><LINE>271</LINE></_STATE_DEFAULT>
|
||||||
<_STATE_PROGRAM><FILE>main.asm</FILE><LINE>279</LINE></_STATE_PROGRAM>
|
<_STATE_PROGRAM><FILE>main.asm</FILE><LINE>280</LINE></_STATE_PROGRAM>
|
||||||
<DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>700</LINE></DISPLAY_UPD_DIGITS>
|
<DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>737</LINE></DISPLAY_UPD_DIGITS>
|
||||||
<TEMP_UPD><FILE>main.asm</FILE><LINE>409</LINE></TEMP_UPD>
|
<TEMP_UPD><FILE>main.asm</FILE><LINE>441</LINE></TEMP_UPD>
|
||||||
<TEMP_COMPARSION><FILE>main.asm</FILE><LINE>298</LINE></TEMP_COMPARSION>
|
<TEMP_COMPARSION><FILE>main.asm</FILE><LINE>334</LINE></TEMP_COMPARSION>
|
||||||
<_STATE_ERROR><FILE>main.asm</FILE><LINE>285</LINE></_STATE_ERROR>
|
<TEMP_SEND_UART><FILE>main.asm</FILE><LINE>300</LINE></TEMP_SEND_UART>
|
||||||
<SW_CHECK_PROCESS><FILE>main.asm</FILE><LINE>585</LINE></SW_CHECK_PROCESS>
|
<_STATE_ERROR><FILE>main.asm</FILE><LINE>286</LINE></_STATE_ERROR>
|
||||||
|
<SW_CHECK_PROCESS><FILE>main.asm</FILE><LINE>626</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>
|
||||||
@ -79,42 +80,45 @@
|
|||||||
<mpy16u><FILE>mpy16u.asm</FILE><LINE>31</LINE></mpy16u>
|
<mpy16u><FILE>mpy16u.asm</FILE><LINE>31</LINE></mpy16u>
|
||||||
<m16u_1><FILE>mpy16u.asm</FILE><LINE>37</LINE></m16u_1>
|
<m16u_1><FILE>mpy16u.asm</FILE><LINE>37</LINE></m16u_1>
|
||||||
<noad8><FILE>mpy16u.asm</FILE><LINE>40</LINE></noad8>
|
<noad8><FILE>mpy16u.asm</FILE><LINE>40</LINE></noad8>
|
||||||
<_NEGATE_TEMP><FILE>main.asm</FILE><LINE>365</LINE></_NEGATE_TEMP>
|
<UART_WR_BYTE><FILE>main.asm</FILE><LINE>327</LINE></UART_WR_BYTE>
|
||||||
<_COMPARE><FILE>main.asm</FILE><LINE>371</LINE></_COMPARE>
|
<_NEGATE_TEMP><FILE>main.asm</FILE><LINE>399</LINE></_NEGATE_TEMP>
|
||||||
<_MIN_THRESHOLD><FILE>main.asm</FILE><LINE>381</LINE></_MIN_THRESHOLD>
|
<_COMPARE><FILE>main.asm</FILE><LINE>405</LINE></_COMPARE>
|
||||||
<_MAX_THRESHOLD><FILE>main.asm</FILE><LINE>390</LINE></_MAX_THRESHOLD>
|
<_MIN_THRESHOLD><FILE>main.asm</FILE><LINE>415</LINE></_MIN_THRESHOLD>
|
||||||
<_COMPARSION_EXIT><FILE>main.asm</FILE><LINE>397</LINE></_COMPARSION_EXIT>
|
<_MAX_THRESHOLD><FILE>main.asm</FILE><LINE>424</LINE></_MAX_THRESHOLD>
|
||||||
<TEMP_CONV><FILE>main.asm</FILE><LINE>534</LINE></TEMP_CONV>
|
<_COMPARSION_EXIT><FILE>main.asm</FILE><LINE>431</LINE></_COMPARSION_EXIT>
|
||||||
<DELAY_LOOP_24><FILE>main.asm</FILE><LINE>809</LINE></DELAY_LOOP_24>
|
<TEMP_CONV><FILE>main.asm</FILE><LINE>571</LINE></TEMP_CONV>
|
||||||
<TEMP_RD><FILE>main.asm</FILE><LINE>442</LINE></TEMP_RD>
|
<DELAY_LOOP_24><FILE>main.asm</FILE><LINE>846</LINE></DELAY_LOOP_24>
|
||||||
<OW_PRESENCE><FILE>main.asm</FILE><LINE>609</LINE></OW_PRESENCE>
|
<TEMP_RD><FILE>main.asm</FILE><LINE>473</LINE></TEMP_RD>
|
||||||
<OW_SEND_BYTE><FILE>main.asm</FILE><LINE>636</LINE></OW_SEND_BYTE>
|
<OW_PRESENCE><FILE>main.asm</FILE><LINE>650</LINE></OW_PRESENCE>
|
||||||
<OW_RD_BYTE><FILE>main.asm</FILE><LINE>669</LINE></OW_RD_BYTE>
|
<OW_SEND_BYTE><FILE>main.asm</FILE><LINE>677</LINE></OW_SEND_BYTE>
|
||||||
<_TEMP_RD_TO_UNSIGNED><FILE>main.asm</FILE><LINE>477</LINE></_TEMP_RD_TO_UNSIGNED>
|
<OW_RD_BYTE><FILE>main.asm</FILE><LINE>708</LINE></OW_RD_BYTE>
|
||||||
<_TEMP_RD_CONTINUE><FILE>main.asm</FILE><LINE>488</LINE></_TEMP_RD_CONTINUE>
|
<_TEMP_RD_EXIT><FILE>main.asm</FILE><LINE>563</LINE></_TEMP_RD_EXIT>
|
||||||
<_TEMP_RD_END><FILE>main.asm</FILE><LINE>498</LINE></_TEMP_RD_END>
|
<_TEMP_RD_TO_UNSIGNED><FILE>main.asm</FILE><LINE>511</LINE></_TEMP_RD_TO_UNSIGNED>
|
||||||
<_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>572</LINE></_USI_TRANSMIT_LOOP>
|
<_TEMP_RD_CONTINUE><FILE>main.asm</FILE><LINE>524</LINE></_TEMP_RD_CONTINUE>
|
||||||
<DEBOUNCE_SW><FILE>main.asm</FILE><LINE>775</LINE></DEBOUNCE_SW>
|
<_TEMP_RD_END><FILE>main.asm</FILE><LINE>534</LINE></_TEMP_RD_END>
|
||||||
<_INTO_DEFAULT_STATE><FILE>main.asm</FILE><LINE>598</LINE></_INTO_DEFAULT_STATE>
|
<_TEMP_CONV_EXIT><FILE>main.asm</FILE><LINE>588</LINE></_TEMP_CONV_EXIT>
|
||||||
<_SW_CHECK_PROCESS_END><FILE>main.asm</FILE><LINE>601</LINE></_SW_CHECK_PROCESS_END>
|
<_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>613</LINE></_USI_TRANSMIT_LOOP>
|
||||||
<DELAY_LOOP_16><FILE>main.asm</FILE><LINE>801</LINE></DELAY_LOOP_16>
|
<DEBOUNCE_SW><FILE>main.asm</FILE><LINE>812</LINE></DEBOUNCE_SW>
|
||||||
<OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>625</LINE></OW_CHECK_PRESENCE>
|
<_INTO_DEFAULT_STATE><FILE>main.asm</FILE><LINE>639</LINE></_INTO_DEFAULT_STATE>
|
||||||
<_EXIT><FILE>main.asm</FILE><LINE>631</LINE></_EXIT>
|
<_SW_CHECK_PROCESS_END><FILE>main.asm</FILE><LINE>642</LINE></_SW_CHECK_PROCESS_END>
|
||||||
<_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>641</LINE></_OW_SEND_BYTE_LOOP>
|
<DELAY_LOOP_16><FILE>main.asm</FILE><LINE>838</LINE></DELAY_LOOP_16>
|
||||||
<_OW_SEND_0><FILE>main.asm</FILE><LINE>645</LINE></_OW_SEND_0>
|
<OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>666</LINE></OW_CHECK_PRESENCE>
|
||||||
<_OW_SEND_1><FILE>main.asm</FILE><LINE>653</LINE></_OW_SEND_1>
|
<_EXIT><FILE>main.asm</FILE><LINE>672</LINE></_EXIT>
|
||||||
<_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>660</LINE></_OW_SEND_BYTE_END>
|
<_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>683</LINE></_OW_SEND_BYTE_LOOP>
|
||||||
<_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>675</LINE></_OW_RD_BYTE_LP>
|
<_OW_SEND_0><FILE>main.asm</FILE><LINE>687</LINE></_OW_SEND_0>
|
||||||
<DIV_LOOP><FILE>main.asm</FILE><LINE>717</LINE></DIV_LOOP>
|
<_OW_SEND_1><FILE>main.asm</FILE><LINE>693</LINE></_OW_SEND_1>
|
||||||
<DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>843</LINE></DISPLAY_SYMBOLS>
|
<_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>698</LINE></_OW_SEND_BYTE_END>
|
||||||
<DELAY><FILE>main.asm</FILE><LINE>818</LINE></DELAY>
|
<_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>714</LINE></_OW_RD_BYTE_LP>
|
||||||
<_loop_2><FILE>main.asm</FILE><LINE>781</LINE></_loop_2>
|
<DIV_LOOP><FILE>main.asm</FILE><LINE>754</LINE></DIV_LOOP>
|
||||||
<_loop_0><FILE>main.asm</FILE><LINE>783</LINE></_loop_0>
|
<DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>880</LINE></DISPLAY_SYMBOLS>
|
||||||
<_dec_0><FILE>main.asm</FILE><LINE>785</LINE></_dec_0>
|
<DELAY><FILE>main.asm</FILE><LINE>855</LINE></DELAY>
|
||||||
<_loop_1><FILE>main.asm</FILE><LINE>788</LINE></_loop_1>
|
<_loop_2><FILE>main.asm</FILE><LINE>818</LINE></_loop_2>
|
||||||
<_loop_3><FILE>main.asm</FILE><LINE>791</LINE></_loop_3>
|
<_loop_0><FILE>main.asm</FILE><LINE>820</LINE></_loop_0>
|
||||||
<_DELAY_0><FILE>main.asm</FILE><LINE>824</LINE></_DELAY_0>
|
<_dec_0><FILE>main.asm</FILE><LINE>822</LINE></_dec_0>
|
||||||
<_DELAY_1><FILE>main.asm</FILE><LINE>826</LINE></_DELAY_1>
|
<_loop_1><FILE>main.asm</FILE><LINE>825</LINE></_loop_1>
|
||||||
<_DELAY_2><FILE>main.asm</FILE><LINE>828</LINE></_DELAY_2>
|
<_loop_3><FILE>main.asm</FILE><LINE>828</LINE></_loop_3>
|
||||||
|
<_DELAY_0><FILE>main.asm</FILE><LINE>861</LINE></_DELAY_0>
|
||||||
|
<_DELAY_1><FILE>main.asm</FILE><LINE>863</LINE></_DELAY_1>
|
||||||
|
<_DELAY_2><FILE>main.asm</FILE><LINE>865</LINE></_DELAY_2>
|
||||||
</LABELS>
|
</LABELS>
|
||||||
</ASSEMBLER_INFO>
|
</ASSEMBLER_INFO>
|
||||||
|
|||||||
85
main.asm
85
main.asm
@ -210,10 +210,10 @@ MCU_INIT:
|
|||||||
outi r16, PCMSK0, (1<<PCINT2) | (1<<PCINT3) | (1<<PCINT4) ; для кнопок
|
outi r16, PCMSK0, (1<<PCINT2) | (1<<PCINT3) | (1<<PCINT4) ; для кнопок
|
||||||
|
|
||||||
; **** ИНИЦИАЛИЗАЦИЯ USART **************************************
|
; **** ИНИЦИАЛИЗАЦИЯ USART **************************************
|
||||||
; outi r16, UBRRL, LOW(51) ; 9600 БОД
|
outi r16, UBRRL, LOW(51) ; 9600 БОД
|
||||||
; outi r16, UBRRH, HIGH(51) ; 9600 БОД
|
outi r16, UBRRH, HIGH(51) ; 9600 БОД
|
||||||
; outi r16, UCSRB, (1<<TXEN) ; Включение передачии
|
outi r16, UCSRB, (1<<TXEN) ; Включение передачии
|
||||||
; outi r16, UCSRC, (1<<UCSZ1) | (1<<UCSZ0) ; Асинхронный режим, 8 бит фрейм, 1 стоповый бит
|
outi r16, UCSRC, (1<<UCSZ1) | (1<<UCSZ0) ; Асинхронный режим, 8 бит фрейм, 1 стоповый бит
|
||||||
|
|
||||||
; **** ИНИЦИАЛИЗАЦИЯ ДАННЫХ В ОЗУ ******************************
|
; **** ИНИЦИАЛИЗАЦИЯ ДАННЫХ В ОЗУ ******************************
|
||||||
clr r1
|
clr r1
|
||||||
@ -273,9 +273,10 @@ _STATE_DEFAULT:
|
|||||||
brne _STATE_PROGRAM
|
brne _STATE_PROGRAM
|
||||||
cbi LED_ERR_PORT, LED_ERR_PIN
|
cbi LED_ERR_PORT, LED_ERR_PIN
|
||||||
rcall DISPLAY_UPD_DIGITS
|
rcall DISPLAY_UPD_DIGITS
|
||||||
rcall TEMP_UPD
|
rcall TEMP_UPD ; обновление данных о температуре
|
||||||
outi r16, TIMSK, (1<<OCIE0A) ; вкл. индикатор
|
outi r16, TIMSK, (1<<OCIE0A) ; вкл. индикатор
|
||||||
rcall TEMP_COMPARSION
|
rcall TEMP_COMPARSION ; логика термостата
|
||||||
|
rcall TEMP_SEND_UART ; отпрака данных в UART
|
||||||
_STATE_PROGRAM:
|
_STATE_PROGRAM:
|
||||||
cpi r16, MCU_STATE_PROGRAM
|
cpi r16, MCU_STATE_PROGRAM
|
||||||
brne _STATE_ERROR
|
brne _STATE_ERROR
|
||||||
@ -295,6 +296,41 @@ _STATE_ERROR:
|
|||||||
.INCLUDE "div8u.asm"
|
.INCLUDE "div8u.asm"
|
||||||
.INCLUDE "mpy16u.asm"
|
.INCLUDE "mpy16u.asm"
|
||||||
|
|
||||||
|
//<editor-fold defaultstate="collapsed" desc="Подпрограмма: отправка данных в UART">
|
||||||
|
TEMP_SEND_UART:
|
||||||
|
push r16
|
||||||
|
; целая часть
|
||||||
|
lds r16, TEMP_L
|
||||||
|
mov r5, r16
|
||||||
|
rcall UART_WR_BYTE
|
||||||
|
|
||||||
|
; дробная часть
|
||||||
|
lds r16, TEMP_F
|
||||||
|
mov r5, r16
|
||||||
|
rcall UART_WR_BYTE
|
||||||
|
|
||||||
|
; состояние реле
|
||||||
|
in r16, PIND
|
||||||
|
andi r16, (1<<RELAY_PIN)
|
||||||
|
mov r5, r16
|
||||||
|
rcall UART_WR_BYTE
|
||||||
|
|
||||||
|
ldi r16, 0x04 ; EOT (End Of Transmission)
|
||||||
|
mov r5, r16
|
||||||
|
rcall UART_WR_BYTE
|
||||||
|
|
||||||
|
pop r16
|
||||||
|
ret
|
||||||
|
//</editor-fold>
|
||||||
|
|
||||||
|
//<editor-fold defaultstate="collapsed" desc="Подпрограмма: отправка байта в UART из регистра r5">
|
||||||
|
UART_WR_BYTE:
|
||||||
|
sbis UCSRA, UDRE
|
||||||
|
rjmp UART_WR_BYTE
|
||||||
|
out UDR, r5
|
||||||
|
ret//</editor-fold>
|
||||||
|
|
||||||
|
//<editor-fold defaultstate="collapsed" desc="Подпрограмма: сравнение температуры с уставкой">
|
||||||
TEMP_COMPARSION:
|
TEMP_COMPARSION:
|
||||||
push r16
|
push r16
|
||||||
push r17
|
push r17
|
||||||
@ -302,8 +338,6 @@ TEMP_COMPARSION:
|
|||||||
push r19
|
push r19
|
||||||
push r20
|
push r20
|
||||||
push r21
|
push r21
|
||||||
push r22
|
|
||||||
push r23
|
|
||||||
;
|
;
|
||||||
; lds dd8u, SETTING_HYST
|
; lds dd8u, SETTING_HYST
|
||||||
; ldi dv8u, 10
|
; ldi dv8u, 10
|
||||||
@ -395,22 +429,19 @@ _MAX_THRESHOLD:
|
|||||||
rjmp PC+2
|
rjmp PC+2
|
||||||
relay_off
|
relay_off
|
||||||
_COMPARSION_EXIT:
|
_COMPARSION_EXIT:
|
||||||
pop r23
|
|
||||||
pop r22
|
|
||||||
pop r21
|
pop r21
|
||||||
pop r20
|
pop r20
|
||||||
pop r19
|
pop r19
|
||||||
pop r18
|
pop r18
|
||||||
pop r17
|
pop r17
|
||||||
pop r16
|
pop r16
|
||||||
ret
|
ret//</editor-fold>
|
||||||
|
|
||||||
//<editor-fold defaultstate="collapsed" desc="Подпрограмма: обновляем данные о температуре">
|
//<editor-fold defaultstate="collapsed" desc="Подпрограмма: обновляем данные о температуре">
|
||||||
TEMP_UPD:
|
TEMP_UPD:
|
||||||
push r17
|
push r17
|
||||||
rcall TEMP_CONV
|
rcall TEMP_CONV
|
||||||
DELAY24 500000
|
DELAY24 800000
|
||||||
DELAY24 500000
|
|
||||||
rcall TEMP_RD
|
rcall TEMP_RD
|
||||||
|
|
||||||
; обновляем данные в ячейках
|
; обновляем данные в ячейках
|
||||||
@ -448,6 +479,9 @@ TEMP_RD:
|
|||||||
; cli
|
; cli
|
||||||
|
|
||||||
rcall OW_PRESENCE
|
rcall OW_PRESENCE
|
||||||
|
sbrs OWFR, OWPRF
|
||||||
|
rjmp _TEMP_RD_EXIT
|
||||||
|
|
||||||
ldi r16, DS18B20_CMD_SKIPROM
|
ldi r16, DS18B20_CMD_SKIPROM
|
||||||
mov OW_CMD_r, r16
|
mov OW_CMD_r, r16
|
||||||
rcall OW_SEND_BYTE
|
rcall OW_SEND_BYTE
|
||||||
@ -479,10 +513,12 @@ _TEMP_RD_TO_UNSIGNED:
|
|||||||
set
|
set
|
||||||
com r17
|
com r17
|
||||||
com r18
|
com r18
|
||||||
ldi r19, 1
|
subi r17, low(-1)
|
||||||
add r17, r19
|
sbci r18, high(-1)
|
||||||
ldi r19, 0
|
; ldi r19, 1
|
||||||
adc r18, r19
|
; add r17, r19
|
||||||
|
; ldi r19, 0
|
||||||
|
; adc r18, r19
|
||||||
rjmp PC+2
|
rjmp PC+2
|
||||||
|
|
||||||
_TEMP_RD_CONTINUE: ; Температура = Число с АЦП / 16 (сдвиг вправо 4)
|
_TEMP_RD_CONTINUE: ; Температура = Число с АЦП / 16 (сдвиг вправо 4)
|
||||||
@ -524,6 +560,7 @@ _TEMP_RD_END:
|
|||||||
sts TEMP_F, r19
|
sts TEMP_F, r19
|
||||||
|
|
||||||
; sei
|
; sei
|
||||||
|
_TEMP_RD_EXIT:
|
||||||
pop r20
|
pop r20
|
||||||
pop r19
|
pop r19
|
||||||
pop r18
|
pop r18
|
||||||
@ -536,6 +573,9 @@ TEMP_CONV:
|
|||||||
; cli
|
; cli
|
||||||
|
|
||||||
rcall OW_PRESENCE
|
rcall OW_PRESENCE
|
||||||
|
sbrs OWFR, OWPRF
|
||||||
|
rjmp _TEMP_CONV_EXIT
|
||||||
|
|
||||||
ldi r16, DS18B20_CMD_SKIPROM
|
ldi r16, DS18B20_CMD_SKIPROM
|
||||||
mov OW_CMD_r, r16
|
mov OW_CMD_r, r16
|
||||||
rcall OW_SEND_BYTE
|
rcall OW_SEND_BYTE
|
||||||
@ -545,6 +585,7 @@ TEMP_CONV:
|
|||||||
rcall OW_SEND_BYTE
|
rcall OW_SEND_BYTE
|
||||||
|
|
||||||
; sei
|
; sei
|
||||||
|
_TEMP_CONV_EXIT:
|
||||||
pop r16
|
pop r16
|
||||||
ret
|
ret
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
@ -636,6 +677,7 @@ _EXIT:
|
|||||||
OW_SEND_BYTE:
|
OW_SEND_BYTE:
|
||||||
push r16
|
push r16
|
||||||
push r17
|
push r17
|
||||||
|
cli
|
||||||
mov r16, OW_CMD_r
|
mov r16, OW_CMD_r
|
||||||
ldi r17, 8
|
ldi r17, 8
|
||||||
_OW_SEND_BYTE_LOOP:
|
_OW_SEND_BYTE_LOOP:
|
||||||
@ -643,23 +685,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
|
||||||
|
sei
|
||||||
pop r17
|
pop r17
|
||||||
pop r16
|
pop r16
|
||||||
ret
|
ret
|
||||||
@ -669,9 +708,9 @@ _OW_SEND_BYTE_END:
|
|||||||
OW_RD_BYTE:
|
OW_RD_BYTE:
|
||||||
push r16
|
push r16
|
||||||
push r17
|
push r17
|
||||||
|
cli
|
||||||
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
|
||||||
@ -689,8 +728,6 @@ _OW_RD_BYTE_LP:
|
|||||||
pop r16
|
pop r16
|
||||||
ret
|
ret
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
|
|
||||||
|
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
|
|
||||||
//<editor-fold defaultstate="collapsed" desc="Подпрограмма: обновление ячеек в SRAM для индикатора">
|
//<editor-fold defaultstate="collapsed" desc="Подпрограмма: обновление ячеек в SRAM для индикатора">
|
||||||
|
|||||||
126
main.hex
126
main.hex
@ -7,69 +7,77 @@
|
|||||||
:10004A000F931F935FB74091670045300CF403C0CC
|
:10004A000F931F935FB74091670045300CF403C0CC
|
||||||
:10005A00442740936700403081F493989498959888
|
:10005A00442740936700403081F493989498959888
|
||||||
:10006A000EF002C00BE002C000916500002311F0FF
|
:10006A000EF002C00BE002C000916500002311F0FF
|
||||||
:10007A00929A01C09298BDD138D1413081F49298B8
|
:10007A00929A01C09298FED17BD1413081F4929834
|
||||||
:10008A00949895980091640030916500032B11F0C3
|
:10008A00949895980091640030916500032B11F0C3
|
||||||
:10009A00939A01C0939800916400ABD126D1423063
|
:10009A00939A01C0939800916400ECD169D14230DF
|
||||||
:1000AA0059F4929893989598949A00916300A1D1E3
|
:1000AA0059F4929893989598949A00916300E2D1A2
|
||||||
:1000BA00002D0F77002E19D1433041F4929893986E
|
:1000BA00002D0F77002E5CD1433041F4929893982B
|
||||||
:1000CA009498959A00916B0094D10FD143954093DF
|
:1000CA009498959A00916B00D5D152D1439540935B
|
||||||
:1000DA0067005FBF1F910F915F914F9118950FEDC8
|
:1000DA0067005FBF1F910F915F914F9118950FEDC8
|
||||||
:1000EA000DBF0FE701BB01EE07BB0CE108BB02E045
|
:1000EA000DBF0FE701BB01EE07BB0CE108BB02E045
|
||||||
:1000FA0000BF05E003BF09E106BF00E20BBF0CE148
|
:1000FA0000BF05E003BF09E106BF00E20BBF0CE148
|
||||||
:10010A0000BD11241092670000E0009360000CE229
|
:10010A0000BD11241092670000E0009360000CE229
|
||||||
:10011A0000936D0001E000936C0005E000936E000F
|
:10011A0000936D0001E000936C0005E000936E000F
|
||||||
:10012A0001E000936F0008E1102F000F000F000F8D
|
:10012A0001E000936F0000270093690000936A00C2
|
||||||
:10013A00110F010F009371000027009369000093CB
|
:10013A0000EF00936B0053E137E84DEFC5D15CE067
|
||||||
:10014A006A0000EF00936B0072D0009170000832D1
|
:10014A0034E34DEFC1D1B2D000917000083209F406
|
||||||
:10015A0009F405C012E0109360005AD101C054D1CD
|
:10015A0005C012E0109360009CD101C096D180E0E6
|
||||||
:10016A0080E090E000916000003031F4969827D149
|
:10016A0090E000916000003031F4969869D18BD00C
|
||||||
:10017A004BD001E009BF39D0013019F496981FD14C
|
:10017A0001E009BF39D0013019F4969861D104D150
|
||||||
:10018A00C0D0023079F7969AEDCFEE24FF1841E1FC
|
:10018A00023079F7969AEDCFEE24FF1841E1001F6D
|
||||||
:10019A00001F111F4A9509F40895EE1CFF1CE21A6C
|
:10019A00111F4A9509F40895EE1CFF1CE21AF30A8E
|
||||||
:1001AA00F30A20F4E20EF31E8894F2CF0894F0CFFB
|
:1001AA0020F4E20EF31E8894F2CF0894F0CFFF18E1
|
||||||
:1001BA00FF1829E0001F2A9509F40895FF1CF11A77
|
:1001BA0029E0001F2A9509F40895FF1CF11A18F482
|
||||||
:1001CA0018F4F10E8894F6CF0894F4CF55274427F3
|
:1001CA00F10E8894F6CF0894F4CF5527442760E1BE
|
||||||
:1001DA0060E13695279510F4400F511F57954795C2
|
:1001DA003695279510F4400F511F57954795379537
|
||||||
:1001EA00379527956A95B9F708950F931F932F931B
|
:1001EA0027956A95B9F708950F931F932F933F9315
|
||||||
:1001FA003F934F935F936F936F915F914F913F91AD
|
:1001FA004F935F930091690010916A002AE030E002
|
||||||
:10020A002F911F910F9108951F9365D05CE034E3FD
|
:10020A00E4DF022F132F20916B003327020F131FF5
|
||||||
:10021A004DEF19D15CE034E34DEF15D112D01091B6
|
:10021A00109371000093720040916D0050916C0030
|
||||||
:10022A006900812F10916A00912F1F9108950F93F1
|
:10022A0060916E004F935F937727461B570BB42E4E
|
||||||
:10023A0076D003E3802E88D0A0E7B0E0A6D00F9155
|
:10023A00A52E5F914F917727460F571FD42EC52EB3
|
||||||
:10024A0008950F931F932F933F934F9368D00CEC0D
|
:10024A000EF004C0009510950F5F1F4FB016A1065F
|
||||||
:10025A00802E7AD00EEB802E77D0A9E6B0E095D02A
|
:10025A0024F40D151C054CF40FC040916F00442383
|
||||||
:10026A00AAE6B0E092D01091690020916A002F931B
|
:10026A0011F4909801C0909A07C040916F004423FE
|
||||||
:10027A00287F283F11F0E89409C02F9168941095BF
|
:10027A0011F4909A01C090985F914F913F912F91FC
|
||||||
:10028A00209531E0130F30E0231F01C02F912695EE
|
:10028A001F910F9108951F9367D05CE034E34DEFFF
|
||||||
:10029A0017952695179526951795269517953091B2
|
:10029A001BD15CE034E34DEF17D112D01091690005
|
||||||
:1002AA0069000EF43195432F3F70432F330F330FFC
|
:1002AA00812F10916A00912F1F9108950F937AD090
|
||||||
:1002BA00330F440F340F369536953695369510938D
|
:1002BA0003E3802E8CD0A0E7B0E0A8D00F91089578
|
||||||
:1002CA00690020936A0030936B004F913F912F9100
|
:1002CA000F931F932F933F934F936CD070FF3EC0B1
|
||||||
:1002DA001F910F9108950F9322D00CEC802E34D0E9
|
:1002DA000CEC802E7CD00EEB802E79D0A9E6B0E013
|
||||||
:1002EA0004E4802E31D00F9108950F930FB800E4E3
|
:1002EA0095D0AAE6B0E092D01091690020916A00F8
|
||||||
:1002FA000EB90BE10DB9769BFDCFC09AC0980F914C
|
:1002FA002F93287F283F11F0E89409C02F91689422
|
||||||
:10030A0008950F938CD0B29B0196B39B0197B49B2F
|
:10030A001095209531E0130F30E0231F01C02F9183
|
||||||
:10031A0001C003C000E0009360000F910895F894B3
|
:10031A002695179526951795269517952695179537
|
||||||
:10032A00B99A33E04EEB8BD0B99830E04AE887D0DF
|
:10032A00309169000EF43195432F3F70432F330FFC
|
||||||
:10033A0005D033E042E383D078940895B19B71608D
|
:10033A00330F330F440F340F36953695369536956D
|
||||||
:10034A0002C0B1997E7F08950F931F93082D18E07C
|
:10034A001093690020936A0030936B004F913F919C
|
||||||
:10035A00069508F458F0F894B99A30E046E76FD059
|
:10035A002F911F910F9108950F9324D070FF06C01B
|
||||||
:10036A00B99830E042E16BD078940AC0F894B99A0F
|
:10036A000CEC802E34D004E4802E31D00F91089505
|
||||||
:10037A0030E04AE064D0B99830E04EE760D0789433
|
:10037A000F930FB800E40EB90BE10DB9769BFDCFD0
|
||||||
:10038A001A9531F71F910F9108950F931F93002724
|
:10038A00C09AC0980F9108950F938AD0B29B019694
|
||||||
:10039A0018E0F8940695B99A30E04AE050D0B99836
|
:10039A00B39B0197B49B01C003C000E000936000C7
|
||||||
:1003AA0030E040E14CD0B199006830E04CE647D0EB
|
:1003AA000F910895F894B99A33E04EEB89D0B99831
|
||||||
:1003BA001A9581F70C9378941F910F910895F894E8
|
:1003BA0030E04AE885D005D033E042E381D0789432
|
||||||
:1003CA005F9354E0A3E6B0E08093610090936200EB
|
:1003CA000895B19B716002C0B1997E7F08950F9321
|
||||||
:1003DA0000916100109162002AE030E0D6DEED92D1
|
:1003DA001F93F894082D18E0069508F448F0B99A86
|
||||||
:1003EA0000936100109362005A9591F75F91789497
|
:1003EA0030E046E76DD0B99830E042E169D008C004
|
||||||
:1003FA0008950F931F93EAE7F4E01127E00FF11F26
|
:1003FA00B99A30E04AE064D0B99830E04EE760D06C
|
||||||
:10040A0004901F910F910895C59A22D0C598089516
|
:10040A001A9551F778941F910F9108950F931F939E
|
||||||
:10041A00C59A1ED01DD01CD01BD0C59808950F9325
|
:10041A00F894002718E00695B99A30E04AE050D0DF
|
||||||
:10042A001F932F932AE01FEF0FEF0A95F1F71A9502
|
:10042A00B99830E040E14CD0B199006830E04CE630
|
||||||
:10043A00D9F72A95C1F72F911F910F91089541502D
|
:10043A0047D01A9581F70C9378941F910F910895DC
|
||||||
:10044A003040E8F70895415030405040E0F70895B1
|
:10044A00F8945F9354E0A3E6B0E080936100909340
|
||||||
:10045A000F931F932F9326E00FEF1FEF1A95F1F7D3
|
:10045A00620000916100109162002AE030E094DEAF
|
||||||
:10046A000A95D9F72A95C1F72F911F910F910895EF
|
:10046A00ED9200936100109362005A9591F75F91A3
|
||||||
:0C047A00C0F9A4B0999282F880909CBF59
|
:10047A00789408950F931F93ECEFF4E01127E00F9F
|
||||||
|
:10048A00F11F04901F910F910895C59A22D0C59823
|
||||||
|
:10049A000895C59A1ED01DD01CD01BD0C5980895AA
|
||||||
|
:1004AA000F931F932F932AE01FEF0FEF0A95F1F78F
|
||||||
|
:1004BA001A95D9F72A95C1F72F911F910F9108958F
|
||||||
|
:1004CA0041503040E8F70895415030405040E0F73D
|
||||||
|
:1004DA0008950F931F932F9326E00FEF1FEF1A959E
|
||||||
|
:1004EA00F1F70A95D9F72A95C1F72F911F910F9124
|
||||||
|
:0E04FA000895C0F9A4B0999282F880909CBF3A
|
||||||
:00000001FF
|
:00000001FF
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user