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