mirror of
https://github.com/sergeyyarkov/attiny2313a_thermostat.git
synced 2026-10-11 10:18:56 +03:00
relay pin
This commit is contained in:
parent
3891e13bea
commit
ab5a9cedf6
12
NOTES.md
Normal file
12
NOTES.md
Normal file
@ -0,0 +1,12 @@
|
||||
|
||||
ОСНОВНОЕ:
|
||||
|
||||
- сделать подпрограмму, которая будет проверять флаг включен сейчас индикатор или выключен и вызывать ее в гл.цикле
|
||||
- сделать подпрограмму, которая будет проверять текущую температуру с уставкой учитывая гистерезис
|
||||
- сделать подпрограмму, которя будет опрашивать кнопки и в зависимости от нажатия переключють состояние программы
|
||||
- сделать программу, которая будет сохранять уставку температуры и гистерезис в EEPROM (перед инициализации МК
|
||||
необходимо чтобы данные брались из EEPROM и записывались в соответствующие ячейки)
|
||||
|
||||
ДОПОЛНИТЕЛЬНО (если хватит памяти):
|
||||
|
||||
- отправлять данные температуры в UART ("целая-часть:дробная-часть\n")
|
||||
@ -13,6 +13,7 @@
|
||||
.EQU DIGIT_4_PIN = PD5 ; Пин разряда индикатора 4
|
||||
|
||||
.EQU LED_ERR_PIN = PD6 ; Светодиод который говорит о том, что МК в состоянии ошибки
|
||||
.EQU LED_ERR_PORT = PORTD
|
||||
|
||||
.EQU OW_LINE = PB1 ; Пин шины 1-Wire
|
||||
.EQU OW_DDR = DDRB
|
||||
|
||||
@ -1,64 +1,64 @@
|
||||
:020000020000FC
|
||||
:0200000073C0CB
|
||||
:0200000074C0CA
|
||||
:0200160018953B
|
||||
:10001A0015C00F931F932F933F930FB7B49908C03E
|
||||
:10002A0020916000203009F003C011E010936000B5
|
||||
:10003A000FBF3F912F911F910F9118954F935F9387
|
||||
:10004A000F931F935FB74091670045300CF403C0CC
|
||||
:10005A00442740936700403081F493989498959888
|
||||
:10006A000EF002C00BE002C000916500002311F0FF
|
||||
:10007A00929A01C0929867D1E2D0413081F4929865
|
||||
:10008A00949895980091640030916500032B11F0C3
|
||||
:10009A00939A01C093980091640055D1D0D0423010
|
||||
:1000AA0059F4929893989598949A009163004BD139
|
||||
:1000BA00002D0F77002EC3D0433041F492989398C5
|
||||
:1000CA009498959A00916C003ED1B9D0439540938B
|
||||
:1000DA0067005FBF1F910F915F914F9118950FEDC8
|
||||
:1000EA000DBF0EE701BB01EE07BB0CE108BB02E046
|
||||
:1000FA0000BF05E003BF09E106BF01E009BF00E256
|
||||
:10010A000BBF0CE100BD11241092670000E00093C0
|
||||
:10011A006000002700936A0000936B0000EF0093D1
|
||||
:10012A006C001CD180E090E000916000003079F40E
|
||||
:10013A00F0D070FD969A70FF969877D01AD119D19F
|
||||
:10014A002AD010916A00812F10916B00912F0130F3
|
||||
:10015A0011F4DFD080D0023039F71BE0109363002E
|
||||
:10016A001093640010936500109366000000DCCFC2
|
||||
:10017A00EE24FF1841E1001F111F4A9509F4089562
|
||||
:10018A00EE1CFF1CE21AF30A20F4E20EF31E889416
|
||||
:10019A00F2CF0894F0CF0F931F932F933F934F936F
|
||||
:1001AA0068D00CEC802E7AD00EEB802E77D0AAE69F
|
||||
:1001BA00B0E095D0ABE6B0E092D010916A00209101
|
||||
:1001CA006B002F93287F283F11F0E89409C02F91E4
|
||||
:1001DA0068941095209531E0130F30E0231F01C079
|
||||
:1001EA002F91269517952695179526951795269555
|
||||
:1001FA00179530916A000EF43195432F3F70432FC3
|
||||
:10020A00330F330F330F440F340F36953695369527
|
||||
:10021A00369510936A0020936B0030936C004F91CF
|
||||
:10022A003F912F911F910F9108950F9322D00CECBB
|
||||
:10023A00802E34D004E4802E31D00F9108950F938C
|
||||
:10024A000FB800E40EB90BE10DB9769BFDCFC09A49
|
||||
:10025A00C0980F9108950F938CD0B29B0196B39BCF
|
||||
:10026A000197B49B01C003C000E0009360000F91A6
|
||||
:10027A000895F894B99A33E04EEB8BD0B99830E0F0
|
||||
:10028A004AE887D005D033E042E383D078940895D2
|
||||
:10029A00B19B716002C0B1997E7F08950F931F933D
|
||||
:1002AA00082D18E0069508F458F0F894B99A30E049
|
||||
:1002BA0046E76FD0B99830E042E16BD078940AC033
|
||||
:1002CA00F894B99A30E04AE064D0B99830E04EE741
|
||||
:1002DA0060D078941A9531F71F910F9108950F9372
|
||||
:1002EA001F93002718E0F8940695B99A30E04AE07F
|
||||
:1002FA0050D0B99830E040E14CD0B199006830E074
|
||||
:10030A004CE647D01A9581F70C9378941F910F9178
|
||||
:10031A000895F8945F9354E0A3E6B0E080936100F7
|
||||
:10032A009093620000916100109162002AE030E02F
|
||||
:10033A001FDFED9200936100109362005A9591F7C6
|
||||
:10034A005F91789408950F931F93E4ECF3E01127DB
|
||||
:10035A00E00FF11F04901F910F910895C59A1DD0C7
|
||||
:10036A00C5980895C59A19D018D017D016D0C5982F
|
||||
:10037A0008950F931F932F932AE01FEF0FEF0A950B
|
||||
:10038A00F1F71A95D9F72A95C1F72F911F910F9175
|
||||
:10039A00089541503040E8F708950F931F932F9323
|
||||
:1003AA0026E00FEF1FEF1A95F1F70A95D9F72A956C
|
||||
:1003BA00C1F72F911F910F910895C0F9A4B0999296
|
||||
:0603CA0082F880909CBF48
|
||||
:10001A0016C018950F931F932F933F930FB7B49958
|
||||
:10002A0008C020916000203009F003C011E010934D
|
||||
:10003A0060000FBF3F912F911F910F9118954F9319
|
||||
:10004A005F930F931F935FB74091670045300CF49D
|
||||
:10005A0003C0442740936700403081F493989498F2
|
||||
:10006A0095980EF002C00BE002C0009165000023D3
|
||||
:10007A0011F0929A01C0929867D1E2D0413081F48E
|
||||
:10008A009298949895980091640030916500032B9A
|
||||
:10009A0011F0939A01C093980091640055D1D0D081
|
||||
:1000AA00423059F4929893989598949A00916300E3
|
||||
:1000BA004BD1002D0F77002EC3D0433041F49298D4
|
||||
:1000CA0093989498959A00916C003ED1B9D0439533
|
||||
:1000DA00409367005FBF1F910F915F914F911895F1
|
||||
:1000EA000FED0DBF0FE701BB01EE07BB0CE108BB2B
|
||||
:1000FA0002E000BF05E003BF09E106BF00E20BBF53
|
||||
:10010A000CE100BD11241092670000E0009360002A
|
||||
:10011A00002700936A0000936B0000EF00936C00C5
|
||||
:10012A001ED180E090E000916000003081F4969842
|
||||
:10013A00F1D07CD01FD11ED12FD010916A00812F0F
|
||||
:10014A0010916B00912F0F9301E009BF0F910130BD
|
||||
:10015A0019F49698DFD080D0023029F7969A1BE0DE
|
||||
:10016A001093630010936400109365001093660067
|
||||
:10017A00DACFEE24FF1841E1001F111F4A9509F456
|
||||
:10018A000895EE1CFF1CE21AF30A20F4E20EF31E95
|
||||
:10019A008894F2CF0894F0CF0F931F932F933F9335
|
||||
:1001AA004F9368D00CEC802E7AD00EEB802E77D04D
|
||||
:1001BA00AAE6B0E095D0ABE6B0E092D010916A0022
|
||||
:1001CA0020916B002F93287F283F11F0E89409C0F3
|
||||
:1001DA002F9168941095209531E0130F30E0231F7A
|
||||
:1001EA0001C02F912695179526951795269517954F
|
||||
:1001FA002695179530916A000EF43195432F3F707A
|
||||
:10020A00432F330F330F330F440F340F3695369580
|
||||
:10021A003695369510936A0020936B0030936C00E4
|
||||
:10022A004F913F912F911F910F9108950F9322D0D3
|
||||
:10023A000CEC802E34D004E4802E31D00F91089536
|
||||
:10024A000F930FB800E40EB90BE10DB9769BFDCF01
|
||||
:10025A00C09AC0980F9108950F938CD0B29B0196C3
|
||||
:10026A00B39B0197B49B01C003C000E000936000F8
|
||||
:10027A000F910895F894B99A33E04EEB8BD0B99860
|
||||
:10028A0030E04AE887D005D033E042E383D078945F
|
||||
:10029A000895B19B716002C0B1997E7F08950F9352
|
||||
:1002AA001F93082D18E0069508F458F0F894B99AA7
|
||||
:1002BA0030E046E76FD0B99830E042E16BD07894ED
|
||||
:1002CA000AC0F894B99A30E04AE064D0B99830E0AC
|
||||
:1002DA004EE760D078941A9531F71F910F910895DF
|
||||
:1002EA000F931F93002718E0F8940695B99A30E007
|
||||
:1002FA004AE050D0B99830E040E14CD0B19900685A
|
||||
:10030A0030E04CE647D01A9581F70C9378941F9108
|
||||
:10031A000F910895F8945F9354E0A3E6B0E08093B8
|
||||
:10032A0061009093620000916100109162002AE0DE
|
||||
:10033A0030E01FDFED9200936100109362005A953E
|
||||
:10034A0091F75F91789408950F931F93E6ECF3E089
|
||||
:10035A001127E00FF11F04901F910F910895C59A7C
|
||||
:10036A001DD0C5980895C59A19D018D017D016D09F
|
||||
:10037A00C59808950F931F932F932AE01FEF0FEF4D
|
||||
:10038A000A95F1F71A95D9F72A95C1F72F911F9176
|
||||
:10039A000F91089541503040E8F708950F931F9345
|
||||
:1003AA002F9326E00FEF1FEF1A95F1F70A95D9F769
|
||||
:1003BA002A95C1F72F911F910F910895C0F9A4B002
|
||||
:0803CA00999282F880909CBF1B
|
||||
:00000001FF
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
|
||||
AVRASM ver. 2.2.7 main.asm Thu Jun 22 12:07:49 2023
|
||||
AVRASM ver. 2.2.7 main.asm Thu Jun 22 18:27:57 2023
|
||||
|
||||
|
||||
EQU SIGNATURE_000 0000001e
|
||||
@ -490,6 +490,7 @@ EQU DIGIT_2_PIN 00000003
|
||||
EQU DIGIT_3_PIN 00000004
|
||||
EQU DIGIT_4_PIN 00000005
|
||||
EQU LED_ERR_PIN 00000006
|
||||
EQU LED_ERR_PORT 00000012
|
||||
EQU OW_LINE 00000001
|
||||
EQU OW_DDR 00000017
|
||||
EQU OW_PIN 00000016
|
||||
@ -533,30 +534,30 @@ DSEG HYSTERESIS 00000069
|
||||
DSEG TEMP_L 0000006a
|
||||
DSEG TEMP_H 0000006b
|
||||
DSEG TEMP_F 0000006c
|
||||
CSEG RESET_vect 00000074
|
||||
CSEG TIMER0_COMPA_vect 00000023
|
||||
CSEG RESET_vect 00000075
|
||||
CSEG TIMER0_COMPA_vect 00000024
|
||||
CSEG PCINT0_vect 0000000e
|
||||
CSEG _PCINT0_vect_end 0000001d
|
||||
CSEG _INTO_PROGRAM_STATE 0000001a
|
||||
CSEG _CLR_CURRENT_DIGIT 0000002d
|
||||
CSEG _indicate_1 00000030
|
||||
CSEG _indicate_2 00000042
|
||||
CSEG DISPLAY_DECODER 000001a8
|
||||
CSEG USI_TRANSMIT 00000124
|
||||
CSEG _indicate_3 00000054
|
||||
CSEG _indicate_4 00000061
|
||||
CSEG _indicate_exit 0000006b
|
||||
CSEG MCU_INIT 00000076
|
||||
CSEG BEEP_SHORT 000001b3
|
||||
CSEG LOOP 00000099
|
||||
CSEG _STATE_DEFAULT 0000009b
|
||||
CSEG _PCINT0_vect_end 0000001e
|
||||
CSEG _INTO_PROGRAM_STATE 0000001b
|
||||
CSEG _CLR_CURRENT_DIGIT 0000002e
|
||||
CSEG _indicate_1 00000031
|
||||
CSEG _indicate_2 00000043
|
||||
CSEG DISPLAY_DECODER 000001a9
|
||||
CSEG USI_TRANSMIT 00000125
|
||||
CSEG _indicate_3 00000055
|
||||
CSEG _indicate_4 00000062
|
||||
CSEG _indicate_exit 0000006c
|
||||
CSEG MCU_INIT 00000077
|
||||
CSEG BEEP_SHORT 000001b4
|
||||
CSEG LOOP 00000098
|
||||
CSEG _STATE_DEFAULT 0000009a
|
||||
CSEG _STATE_PROGRAM 000000ac
|
||||
CSEG DISPLAY_UPD_DIGITS 0000018e
|
||||
CSEG TEMP_CONV 0000011a
|
||||
CSEG DEBOUNCE_SW 000001be
|
||||
CSEG TEMP_RD 000000d0
|
||||
CSEG _STATE_ERROR 000000b0
|
||||
CSEG SW_CHECK_PROCESS 00000130
|
||||
CSEG DISPLAY_UPD_DIGITS 0000018f
|
||||
CSEG TEMP_CONV 0000011b
|
||||
CSEG DEBOUNCE_SW 000001bf
|
||||
CSEG TEMP_RD 000000d1
|
||||
CSEG _STATE_ERROR 000000b1
|
||||
CSEG SW_CHECK_PROCESS 00000131
|
||||
DEF drem16uL r14
|
||||
DEF drem16uH r15
|
||||
DEF dres16uL r16
|
||||
@ -566,38 +567,38 @@ DEF dd16uH r17
|
||||
DEF dv16uL r18
|
||||
DEF dv16uH r19
|
||||
DEF dcnt16u r20
|
||||
CSEG div16u 000000bd
|
||||
CSEG d16u_1 000000c0
|
||||
CSEG d16u_2 000000c5
|
||||
CSEG d16u_3 000000ce
|
||||
CSEG OW_PRESENCE 0000013e
|
||||
CSEG OW_SEND_BYTE 00000153
|
||||
CSEG OW_RD_BYTE 00000174
|
||||
CSEG _TEMP_RD_TO_UNSIGNED 000000ec
|
||||
CSEG _TEMP_RD_CONTINUE 000000f5
|
||||
CSEG _TEMP_RD_END 000000fe
|
||||
CSEG _USI_TRANSMIT_LOOP 00000129
|
||||
CSEG _INTO_DEFAULT_STATE 00000139
|
||||
CSEG _SW_CHECK_PROCESS_END 0000013c
|
||||
CSEG DELAY_LOOP_16 000001ce
|
||||
CSEG OW_CHECK_PRESENCE 0000014d
|
||||
CSEG _EXIT 00000152
|
||||
CSEG _OW_SEND_BYTE_LOOP 00000157
|
||||
CSEG _OW_SEND_0 0000015a
|
||||
CSEG _OW_SEND_1 00000165
|
||||
CSEG _OW_SEND_BYTE_END 0000016f
|
||||
CSEG _OW_RD_BYTE_LP 00000179
|
||||
CSEG div16u 000000be
|
||||
CSEG d16u_1 000000c1
|
||||
CSEG d16u_2 000000c6
|
||||
CSEG d16u_3 000000cf
|
||||
CSEG OW_PRESENCE 0000013f
|
||||
CSEG OW_SEND_BYTE 00000154
|
||||
CSEG OW_RD_BYTE 00000175
|
||||
CSEG _TEMP_RD_TO_UNSIGNED 000000ed
|
||||
CSEG _TEMP_RD_CONTINUE 000000f6
|
||||
CSEG _TEMP_RD_END 000000ff
|
||||
CSEG _USI_TRANSMIT_LOOP 0000012a
|
||||
CSEG _INTO_DEFAULT_STATE 0000013a
|
||||
CSEG _SW_CHECK_PROCESS_END 0000013d
|
||||
CSEG DELAY_LOOP_16 000001cf
|
||||
CSEG OW_CHECK_PRESENCE 0000014e
|
||||
CSEG _EXIT 00000153
|
||||
CSEG _OW_SEND_BYTE_LOOP 00000158
|
||||
CSEG _OW_SEND_0 0000015b
|
||||
CSEG _OW_SEND_1 00000166
|
||||
CSEG _OW_SEND_BYTE_END 00000170
|
||||
CSEG _OW_RD_BYTE_LP 0000017a
|
||||
EQU dividend 00000061
|
||||
EQU divisor 0000000a
|
||||
CSEG DIV_LOOP 00000197
|
||||
CSEG DISPLAY_SYMBOLS 000001e2
|
||||
CSEG DELAY 000001d2
|
||||
CSEG BEEP_LONG 000001b7
|
||||
CSEG _loop_2 000001c2
|
||||
CSEG _loop_0 000001c3
|
||||
CSEG _dec_0 000001c4
|
||||
CSEG _loop_1 000001c6
|
||||
CSEG _loop_3 000001c8
|
||||
CSEG _DELAY_0 000001d6
|
||||
CSEG _DELAY_1 000001d7
|
||||
CSEG _DELAY_2 000001d8
|
||||
CSEG DIV_LOOP 00000198
|
||||
CSEG DISPLAY_SYMBOLS 000001e3
|
||||
CSEG DELAY 000001d3
|
||||
CSEG BEEP_LONG 000001b8
|
||||
CSEG _loop_2 000001c3
|
||||
CSEG _loop_0 000001c4
|
||||
CSEG _dec_0 000001c5
|
||||
CSEG _loop_1 000001c7
|
||||
CSEG _loop_3 000001c9
|
||||
CSEG _DELAY_0 000001d7
|
||||
CSEG _DELAY_1 000001d8
|
||||
CSEG _DELAY_2 000001d9
|
||||
|
||||
Binary file not shown.
@ -33,62 +33,62 @@
|
||||
<TEMP_L><FILE>main.asm</FILE><LINE>30</LINE></TEMP_L>
|
||||
<TEMP_H><FILE>main.asm</FILE><LINE>31</LINE></TEMP_H>
|
||||
<TEMP_F><FILE>main.asm</FILE><LINE>32</LINE></TEMP_F>
|
||||
<RESET_vect><FILE>main.asm</FILE><LINE>183</LINE></RESET_vect>
|
||||
<TIMER0_COMPA_vect><FILE>main.asm</FILE><LINE>88</LINE></TIMER0_COMPA_vect>
|
||||
<RESET_vect><FILE>main.asm</FILE><LINE>186</LINE></RESET_vect>
|
||||
<TIMER0_COMPA_vect><FILE>main.asm</FILE><LINE>91</LINE></TIMER0_COMPA_vect>
|
||||
<PCINT0_vect><FILE>main.asm</FILE><LINE>53</LINE></PCINT0_vect>
|
||||
<_PCINT0_vect_end><FILE>main.asm</FILE><LINE>78</LINE></_PCINT0_vect_end>
|
||||
<_INTO_PROGRAM_STATE><FILE>main.asm</FILE><LINE>74</LINE></_INTO_PROGRAM_STATE>
|
||||
<_CLR_CURRENT_DIGIT><FILE>main.asm</FILE><LINE>100</LINE></_CLR_CURRENT_DIGIT>
|
||||
<_indicate_1><FILE>main.asm</FILE><LINE>104</LINE></_indicate_1>
|
||||
<_indicate_2><FILE>main.asm</FILE><LINE>124</LINE></_indicate_2>
|
||||
<DISPLAY_DECODER><FILE>main.asm</FILE><LINE>577</LINE></DISPLAY_DECODER>
|
||||
<USI_TRANSMIT><FILE>main.asm</FILE><LINE>390</LINE></USI_TRANSMIT>
|
||||
<_indicate_3><FILE>main.asm</FILE><LINE>142</LINE></_indicate_3>
|
||||
<_indicate_4><FILE>main.asm</FILE><LINE>158</LINE></_indicate_4>
|
||||
<_indicate_exit><FILE>main.asm</FILE><LINE>170</LINE></_indicate_exit>
|
||||
<MCU_INIT><FILE>main.asm</FILE><LINE>189</LINE></MCU_INIT>
|
||||
<BEEP_SHORT><FILE>main.asm</FILE><LINE>593</LINE></BEEP_SHORT>
|
||||
<LOOP><FILE>main.asm</FILE><LINE>232</LINE></LOOP>
|
||||
<_STATE_DEFAULT><FILE>main.asm</FILE><LINE>236</LINE></_STATE_DEFAULT>
|
||||
<_STATE_PROGRAM><FILE>main.asm</FILE><LINE>255</LINE></_STATE_PROGRAM>
|
||||
<DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>536</LINE></DISPLAY_UPD_DIGITS>
|
||||
<TEMP_CONV><FILE>main.asm</FILE><LINE>370</LINE></TEMP_CONV>
|
||||
<DEBOUNCE_SW><FILE>main.asm</FILE><LINE>611</LINE></DEBOUNCE_SW>
|
||||
<TEMP_RD><FILE>main.asm</FILE><LINE>278</LINE></TEMP_RD>
|
||||
<_STATE_ERROR><FILE>main.asm</FILE><LINE>260</LINE></_STATE_ERROR>
|
||||
<SW_CHECK_PROCESS><FILE>main.asm</FILE><LINE>421</LINE></SW_CHECK_PROCESS>
|
||||
<_PCINT0_vect_end><FILE>main.asm</FILE><LINE>81</LINE></_PCINT0_vect_end>
|
||||
<_INTO_PROGRAM_STATE><FILE>main.asm</FILE><LINE>77</LINE></_INTO_PROGRAM_STATE>
|
||||
<_CLR_CURRENT_DIGIT><FILE>main.asm</FILE><LINE>103</LINE></_CLR_CURRENT_DIGIT>
|
||||
<_indicate_1><FILE>main.asm</FILE><LINE>107</LINE></_indicate_1>
|
||||
<_indicate_2><FILE>main.asm</FILE><LINE>127</LINE></_indicate_2>
|
||||
<DISPLAY_DECODER><FILE>main.asm</FILE><LINE>579</LINE></DISPLAY_DECODER>
|
||||
<USI_TRANSMIT><FILE>main.asm</FILE><LINE>392</LINE></USI_TRANSMIT>
|
||||
<_indicate_3><FILE>main.asm</FILE><LINE>145</LINE></_indicate_3>
|
||||
<_indicate_4><FILE>main.asm</FILE><LINE>161</LINE></_indicate_4>
|
||||
<_indicate_exit><FILE>main.asm</FILE><LINE>173</LINE></_indicate_exit>
|
||||
<MCU_INIT><FILE>main.asm</FILE><LINE>192</LINE></MCU_INIT>
|
||||
<BEEP_SHORT><FILE>main.asm</FILE><LINE>595</LINE></BEEP_SHORT>
|
||||
<LOOP><FILE>main.asm</FILE><LINE>234</LINE></LOOP>
|
||||
<_STATE_DEFAULT><FILE>main.asm</FILE><LINE>238</LINE></_STATE_DEFAULT>
|
||||
<_STATE_PROGRAM><FILE>main.asm</FILE><LINE>256</LINE></_STATE_PROGRAM>
|
||||
<DISPLAY_UPD_DIGITS><FILE>main.asm</FILE><LINE>538</LINE></DISPLAY_UPD_DIGITS>
|
||||
<TEMP_CONV><FILE>main.asm</FILE><LINE>372</LINE></TEMP_CONV>
|
||||
<DEBOUNCE_SW><FILE>main.asm</FILE><LINE>613</LINE></DEBOUNCE_SW>
|
||||
<TEMP_RD><FILE>main.asm</FILE><LINE>280</LINE></TEMP_RD>
|
||||
<_STATE_ERROR><FILE>main.asm</FILE><LINE>262</LINE></_STATE_ERROR>
|
||||
<SW_CHECK_PROCESS><FILE>main.asm</FILE><LINE>423</LINE></SW_CHECK_PROCESS>
|
||||
<div16u><FILE>div16u.asm</FILE><LINE>32</LINE></div16u>
|
||||
<d16u_1><FILE>div16u.asm</FILE><LINE>36</LINE></d16u_1>
|
||||
<d16u_2><FILE>div16u.asm</FILE><LINE>42</LINE></d16u_2>
|
||||
<d16u_3><FILE>div16u.asm</FILE><LINE>52</LINE></d16u_3>
|
||||
<OW_PRESENCE><FILE>main.asm</FILE><LINE>445</LINE></OW_PRESENCE>
|
||||
<OW_SEND_BYTE><FILE>main.asm</FILE><LINE>472</LINE></OW_SEND_BYTE>
|
||||
<OW_RD_BYTE><FILE>main.asm</FILE><LINE>505</LINE></OW_RD_BYTE>
|
||||
<_TEMP_RD_TO_UNSIGNED><FILE>main.asm</FILE><LINE>313</LINE></_TEMP_RD_TO_UNSIGNED>
|
||||
<_TEMP_RD_CONTINUE><FILE>main.asm</FILE><LINE>324</LINE></_TEMP_RD_CONTINUE>
|
||||
<_TEMP_RD_END><FILE>main.asm</FILE><LINE>334</LINE></_TEMP_RD_END>
|
||||
<_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>408</LINE></_USI_TRANSMIT_LOOP>
|
||||
<_INTO_DEFAULT_STATE><FILE>main.asm</FILE><LINE>434</LINE></_INTO_DEFAULT_STATE>
|
||||
<_SW_CHECK_PROCESS_END><FILE>main.asm</FILE><LINE>437</LINE></_SW_CHECK_PROCESS_END>
|
||||
<DELAY_LOOP_16><FILE>main.asm</FILE><LINE>637</LINE></DELAY_LOOP_16>
|
||||
<OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>461</LINE></OW_CHECK_PRESENCE>
|
||||
<_EXIT><FILE>main.asm</FILE><LINE>467</LINE></_EXIT>
|
||||
<_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>477</LINE></_OW_SEND_BYTE_LOOP>
|
||||
<_OW_SEND_0><FILE>main.asm</FILE><LINE>481</LINE></_OW_SEND_0>
|
||||
<_OW_SEND_1><FILE>main.asm</FILE><LINE>489</LINE></_OW_SEND_1>
|
||||
<_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>496</LINE></_OW_SEND_BYTE_END>
|
||||
<_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>511</LINE></_OW_RD_BYTE_LP>
|
||||
<DIV_LOOP><FILE>main.asm</FILE><LINE>553</LINE></DIV_LOOP>
|
||||
<DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>669</LINE></DISPLAY_SYMBOLS>
|
||||
<DELAY><FILE>main.asm</FILE><LINE>644</LINE></DELAY>
|
||||
<BEEP_LONG><FILE>main.asm</FILE><LINE>601</LINE></BEEP_LONG>
|
||||
<_loop_2><FILE>main.asm</FILE><LINE>617</LINE></_loop_2>
|
||||
<_loop_0><FILE>main.asm</FILE><LINE>619</LINE></_loop_0>
|
||||
<_dec_0><FILE>main.asm</FILE><LINE>621</LINE></_dec_0>
|
||||
<_loop_1><FILE>main.asm</FILE><LINE>624</LINE></_loop_1>
|
||||
<_loop_3><FILE>main.asm</FILE><LINE>627</LINE></_loop_3>
|
||||
<_DELAY_0><FILE>main.asm</FILE><LINE>650</LINE></_DELAY_0>
|
||||
<_DELAY_1><FILE>main.asm</FILE><LINE>652</LINE></_DELAY_1>
|
||||
<_DELAY_2><FILE>main.asm</FILE><LINE>654</LINE></_DELAY_2>
|
||||
<OW_PRESENCE><FILE>main.asm</FILE><LINE>447</LINE></OW_PRESENCE>
|
||||
<OW_SEND_BYTE><FILE>main.asm</FILE><LINE>474</LINE></OW_SEND_BYTE>
|
||||
<OW_RD_BYTE><FILE>main.asm</FILE><LINE>507</LINE></OW_RD_BYTE>
|
||||
<_TEMP_RD_TO_UNSIGNED><FILE>main.asm</FILE><LINE>315</LINE></_TEMP_RD_TO_UNSIGNED>
|
||||
<_TEMP_RD_CONTINUE><FILE>main.asm</FILE><LINE>326</LINE></_TEMP_RD_CONTINUE>
|
||||
<_TEMP_RD_END><FILE>main.asm</FILE><LINE>336</LINE></_TEMP_RD_END>
|
||||
<_USI_TRANSMIT_LOOP><FILE>main.asm</FILE><LINE>410</LINE></_USI_TRANSMIT_LOOP>
|
||||
<_INTO_DEFAULT_STATE><FILE>main.asm</FILE><LINE>436</LINE></_INTO_DEFAULT_STATE>
|
||||
<_SW_CHECK_PROCESS_END><FILE>main.asm</FILE><LINE>439</LINE></_SW_CHECK_PROCESS_END>
|
||||
<DELAY_LOOP_16><FILE>main.asm</FILE><LINE>639</LINE></DELAY_LOOP_16>
|
||||
<OW_CHECK_PRESENCE><FILE>main.asm</FILE><LINE>463</LINE></OW_CHECK_PRESENCE>
|
||||
<_EXIT><FILE>main.asm</FILE><LINE>469</LINE></_EXIT>
|
||||
<_OW_SEND_BYTE_LOOP><FILE>main.asm</FILE><LINE>479</LINE></_OW_SEND_BYTE_LOOP>
|
||||
<_OW_SEND_0><FILE>main.asm</FILE><LINE>483</LINE></_OW_SEND_0>
|
||||
<_OW_SEND_1><FILE>main.asm</FILE><LINE>491</LINE></_OW_SEND_1>
|
||||
<_OW_SEND_BYTE_END><FILE>main.asm</FILE><LINE>498</LINE></_OW_SEND_BYTE_END>
|
||||
<_OW_RD_BYTE_LP><FILE>main.asm</FILE><LINE>513</LINE></_OW_RD_BYTE_LP>
|
||||
<DIV_LOOP><FILE>main.asm</FILE><LINE>555</LINE></DIV_LOOP>
|
||||
<DISPLAY_SYMBOLS><FILE>main.asm</FILE><LINE>671</LINE></DISPLAY_SYMBOLS>
|
||||
<DELAY><FILE>main.asm</FILE><LINE>646</LINE></DELAY>
|
||||
<BEEP_LONG><FILE>main.asm</FILE><LINE>603</LINE></BEEP_LONG>
|
||||
<_loop_2><FILE>main.asm</FILE><LINE>619</LINE></_loop_2>
|
||||
<_loop_0><FILE>main.asm</FILE><LINE>621</LINE></_loop_0>
|
||||
<_dec_0><FILE>main.asm</FILE><LINE>623</LINE></_dec_0>
|
||||
<_loop_1><FILE>main.asm</FILE><LINE>626</LINE></_loop_1>
|
||||
<_loop_3><FILE>main.asm</FILE><LINE>629</LINE></_loop_3>
|
||||
<_DELAY_0><FILE>main.asm</FILE><LINE>652</LINE></_DELAY_0>
|
||||
<_DELAY_1><FILE>main.asm</FILE><LINE>654</LINE></_DELAY_1>
|
||||
<_DELAY_2><FILE>main.asm</FILE><LINE>656</LINE></_DELAY_2>
|
||||
</LABELS>
|
||||
</ASSEMBLER_INFO>
|
||||
|
||||
20
macros.asm
20
macros.asm
@ -17,6 +17,26 @@
|
||||
cbi OW_DDR, OW_LINE
|
||||
.ENDMACRO
|
||||
|
||||
.MACRO relay_on
|
||||
sbi RELAY_PORT, RELAY_PIN
|
||||
.ENDMACRO
|
||||
|
||||
.MACRO relay_off
|
||||
cbi RELAY_PORT, RELAY_PIN
|
||||
.ENDMACRO
|
||||
|
||||
.MACRO display_on
|
||||
push r16
|
||||
outi r16, TIMSK, (1<<OCIE0A)
|
||||
pop r16
|
||||
.ENDMACRO
|
||||
|
||||
.MACRO display_off
|
||||
push r16
|
||||
outi r16, TIMSK, (0<<OCIE0A)
|
||||
pop r16
|
||||
.ENDMACRO
|
||||
|
||||
.MACRO DELAY16
|
||||
ldi DELAY_16_r, HIGH(@0*F_CPU/4-2)
|
||||
ldi DELAY_8_r, LOW(@0*F_CPU/4-2)
|
||||
|
||||
16
main.asm
16
main.asm
@ -51,12 +51,15 @@ TEMP_F: .BYTE 1 ; Дробная часть
|
||||
|
||||
//<editor-fold defaultstate="collapsed" desc="Прерывание: изменение состояния пина">
|
||||
PCINT0_vect:
|
||||
reti
|
||||
push r16
|
||||
push r17
|
||||
push r18
|
||||
push r19
|
||||
in r16, SREG
|
||||
|
||||
; display_off
|
||||
|
||||
; in r17, SW_PIN
|
||||
; clr r18
|
||||
; ldi r18, (1<<SW_PLUS_PIN) | (1<<SW_MINUS_PIN)
|
||||
@ -188,7 +191,7 @@ RESET_vect:
|
||||
; **** ПРОЦЕСС ИНИЦИАЛИЗАЦИИ МК **********************************
|
||||
MCU_INIT:
|
||||
; **** ИНИЦИАЛИЗАЦИЯ ПИНОВ *************************************
|
||||
outi r16, DDRD, (1<<LED_ERR_PIN) | (1<<DIGIT_1_PIN) | (1<<DIGIT_2_PIN) | (1<<DIGIT_3_PIN) | (1<<DIGIT_4_PIN) | (1<<UART_TX_PIN)
|
||||
outi r16, DDRD, (1<<LED_ERR_PIN) | (1<<DIGIT_1_PIN) | (1<<DIGIT_2_PIN) | (1<<DIGIT_3_PIN) | (1<<DIGIT_4_PIN) | (1<<UART_TX_PIN) | (1<<RELAY_PIN)
|
||||
outi r16, DDRB, (1<<USI_CLK_PIN) | (1<<USI_DO_PIN) | (1<<USI_LATCH_PIN) | (0<<SW_PLUS_PIN) | (0<<SW_MINUS_PIN) | (0<<SW_SET_PIN) | (1<<BUZZER_PIN)
|
||||
outi r16, PORTB, (1<<SW_PLUS_PIN) | (1<<SW_MINUS_PIN) | (1<<SW_SET_PIN)
|
||||
|
||||
@ -196,7 +199,6 @@ MCU_INIT:
|
||||
outi r16, TCCR0A, (1<<WGM01) ; режим CTC Compare A
|
||||
outi r16, TCCR0B, (1<<CS02) | (1<<CS00) ; 1024 делитель
|
||||
outi r16, OCR0A, 25 ; число для сравнения. (60Hz)
|
||||
outi r16, TIMSK, (1<<OCIE0A) ; включение прерывания по совпадению
|
||||
|
||||
; **** ПРЕРЫВАНИЕ ПО ИЗМЕНЕНИЮ СОСТОЯНИЯ ПИНОВ ******************
|
||||
outi r16, GIMSK, (1<<PCIE0)
|
||||
@ -236,11 +238,8 @@ LOOP:
|
||||
_STATE_DEFAULT:
|
||||
cpi r16, MCU_STATE_DEFAULT
|
||||
brne _STATE_PROGRAM
|
||||
cbi LED_ERR_PORT, LED_ERR_PIN
|
||||
rcall DISPLAY_UPD_DIGITS
|
||||
sbrc OWFR, OWPRF
|
||||
sbi PORTD, PD6
|
||||
sbrs OWFR, OWPRF
|
||||
cbi PORTD, PD6
|
||||
|
||||
rcall TEMP_CONV
|
||||
rcall DEBOUNCE_SW
|
||||
@ -252,20 +251,23 @@ _STATE_DEFAULT:
|
||||
lds r17, TEMP_H
|
||||
mov DISP_NUM_H, r17
|
||||
|
||||
display_on
|
||||
|
||||
_STATE_PROGRAM:
|
||||
cpi r16, MCU_STATE_PROGRAM
|
||||
brne _STATE_ERROR
|
||||
cbi LED_ERR_PORT, LED_ERR_PIN
|
||||
rcall DISPLAY_UPD_DIGITS
|
||||
rcall SW_CHECK_PROCESS
|
||||
_STATE_ERROR:
|
||||
cpi r16, MCU_STATE_ERROR
|
||||
brne LOOP
|
||||
sbi LED_ERR_PORT, LED_ERR_PIN
|
||||
ldi r17, 11
|
||||
sts DIGITS, r17
|
||||
sts DIGITS+1, r17
|
||||
sts DIGITS+2, r17
|
||||
sts DIGITS+3, r17
|
||||
nop
|
||||
|
||||
rjmp LOOP
|
||||
//</editor-fold>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user