mirror of
https://github.com/sergeyyarkov/attiny2313a_thermostat.git
synced 2026-10-11 18:28:53 +03:00
some delay
This commit is contained in:
parent
00dffd63fd
commit
0f4110bfd4
56
firmware.asm
56
firmware.asm
@ -7,7 +7,7 @@
|
|||||||
; Package: SOIC-20W_7.5x12.8mm_P1.27mm
|
; Package: SOIC-20W_7.5x12.8mm_P1.27mm
|
||||||
; Assembler: AVR macro assembler 2.2.7
|
; Assembler: AVR macro assembler 2.2.7
|
||||||
; Clock frequency: 12 MHz External Crystal Oscillator
|
; Clock frequency: 12 MHz External Crystal Oscillator
|
||||||
; Fuses: lfuse: , hfuse: , efuse: , lock:
|
; Fuses: lfuse: 0x4F, hfuse: 0x9F, efuse: 0xFF, lock: 0xFF
|
||||||
;
|
;
|
||||||
; Written by Sergey Yarkov 22.01.2023
|
; Written by Sergey Yarkov 22.01.2023
|
||||||
|
|
||||||
@ -16,12 +16,24 @@
|
|||||||
|
|
||||||
.DEF tmp_r_a = r16
|
.DEF tmp_r_a = r16
|
||||||
|
|
||||||
.DSEG
|
;========================================;
|
||||||
|
; LABELS ;
|
||||||
|
;========================================;
|
||||||
|
|
||||||
|
.EQU LED_POWER_PORT = PD6
|
||||||
|
|
||||||
|
|
||||||
|
;========================================;
|
||||||
|
; CODE SEGMENT ;
|
||||||
|
;========================================;
|
||||||
|
|
||||||
.CSEG
|
.CSEG
|
||||||
.ORG 0x00
|
.ORG 0x00
|
||||||
|
|
||||||
; MCU VECTORS
|
;========================================;
|
||||||
|
; VECTORS ;
|
||||||
|
;========================================;
|
||||||
|
|
||||||
rjmp RESET_vect ; Program start at RESET vector
|
rjmp RESET_vect ; Program start at RESET vector
|
||||||
reti ; External Interrupt Request 0 / inactive
|
reti ; External Interrupt Request 0 / inactive
|
||||||
reti ; External Interrupt Request 1 / inactive
|
reti ; External Interrupt Request 1 / inactive
|
||||||
@ -55,17 +67,47 @@ MCU_INIT:
|
|||||||
rjmp LOOP
|
rjmp LOOP
|
||||||
|
|
||||||
INIT_PORTS:
|
INIT_PORTS:
|
||||||
ldi r16, (1<<PD6)
|
ldi r16, (1<<LED_POWER_PORT)
|
||||||
out DDRD, r16
|
out DDRD, r16
|
||||||
out PORTD, r16
|
out PORTD, r16
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;
|
;========================================;
|
||||||
; MAIN PROGRAM LOOP
|
; MAIN PROGRAM LOOP ;
|
||||||
|
;========================================;
|
||||||
|
|
||||||
LOOP:
|
LOOP:
|
||||||
nop
|
ldi r16, (1<<LED_POWER_PORT)
|
||||||
|
out PORTD, r16
|
||||||
|
|
||||||
|
rcall DELAY
|
||||||
|
rcall DELAY
|
||||||
|
|
||||||
|
ldi r16, (0<<LED_POWER_PORT)
|
||||||
|
out PORTD, r16
|
||||||
|
|
||||||
|
rcall DELAY
|
||||||
|
rcall DELAY
|
||||||
|
|
||||||
rjmp LOOP
|
rjmp LOOP
|
||||||
|
|
||||||
|
DELAY:
|
||||||
|
ldi r16, 255 ; 1 clock cycle
|
||||||
|
_DEL_1:
|
||||||
|
ldi r17, 255 ; 1 clock cycle
|
||||||
|
_DEL_2:
|
||||||
|
dec r17 ; 1 clock cycle
|
||||||
|
nop ; 1 clock cycle
|
||||||
|
brne _DEL_2 ; 2 clock cycle when jumping / 1 when continue
|
||||||
|
|
||||||
|
dec r16 ; 1 clock cycle
|
||||||
|
brne _DEL_1 ; 2 clock cycle when jumping / 1 when continue
|
||||||
|
ret
|
||||||
|
|
||||||
INFO: .DB "AVR Thermostat. Written by Sergey Yarkov 22.01.2023"
|
INFO: .DB "AVR Thermostat. Written by Sergey Yarkov 22.01.2023"
|
||||||
|
|
||||||
|
;========================================;
|
||||||
|
; EEPROM SEGMENT ;
|
||||||
|
;========================================;
|
||||||
|
|
||||||
.ESEG
|
.ESEG
|
||||||
11
firmware.hex
11
firmware.hex
@ -2,9 +2,10 @@
|
|||||||
:1000000014C0189518951895189518951895189561
|
:1000000014C0189518951895189518951895189561
|
||||||
:100010001895189518951895189518951895189578
|
:100010001895189518951895189518951895189578
|
||||||
:10002000189518951895189518950FED0DBF01D0D6
|
:10002000189518951895189518950FED0DBF01D0D6
|
||||||
:1000300004C000E401BB02BB08950000FECF41569E
|
:1000300004C000E401BB02BB089500E402BB06D08B
|
||||||
:100040005220546865726D6F737461742E205772FC
|
:1000400005D000E002BB02D001D0F7CF0FEF1FEFC9
|
||||||
:10005000697474656E2062792053657267657920D2
|
:100050001A950000E9F70A95D1F708954156522004
|
||||||
:100060005961726B6F762032322E30312E3230323F
|
:10006000546865726D6F737461742E205772697471
|
||||||
:0200700033005B
|
:1000700074656E20627920536572676579205961D5
|
||||||
|
:10008000726B6F762032322E30312E3230323300A6
|
||||||
:00000001FF
|
:00000001FF
|
||||||
|
|||||||
134
firmware.lss
134
firmware.lss
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
AVRASM ver. 2.2.7 firmware.asm Sun Jan 22 20:26:00 2023
|
AVRASM ver. 2.2.7 firmware.asm Tue Jan 24 01:18:37 2023
|
||||||
|
|
||||||
firmware.asm(14): Including file 'tn2313Adef.inc'
|
firmware.asm(14): Including file 'tn2313Adef.inc'
|
||||||
firmware.asm(14): Including file 'tn2313Adef.inc'
|
firmware.asm(14): Including file 'tn2313Adef.inc'
|
||||||
@ -13,7 +13,7 @@ firmware.asm(14): Including file 'tn2313Adef.inc'
|
|||||||
; Package: SOIC-20W_7.5x12.8mm_P1.27mm
|
; Package: SOIC-20W_7.5x12.8mm_P1.27mm
|
||||||
; Assembler: AVR macro assembler 2.2.7
|
; Assembler: AVR macro assembler 2.2.7
|
||||||
; Clock frequency: 12 MHz External Crystal Oscillator
|
; Clock frequency: 12 MHz External Crystal Oscillator
|
||||||
; Fuses: lfuse: , hfuse: , efuse: , lock:
|
; Fuses: lfuse: 0x4F, hfuse: 0x9F, efuse: 0xFF, lock: 0xFF
|
||||||
;
|
;
|
||||||
; Written by Sergey Yarkov 22.01.2023
|
; Written by Sergey Yarkov 22.01.2023
|
||||||
|
|
||||||
@ -720,12 +720,24 @@ firmware.asm(14): Including file 'tn2313Adef.inc'
|
|||||||
|
|
||||||
.DEF tmp_r_a = r16
|
.DEF tmp_r_a = r16
|
||||||
|
|
||||||
.DSEG
|
;========================================;
|
||||||
|
; LABELS ;
|
||||||
|
;========================================;
|
||||||
|
|
||||||
|
.EQU LED_POWER_PORT = PD6
|
||||||
|
|
||||||
|
|
||||||
|
;========================================;
|
||||||
|
; CODE SEGMENT ;
|
||||||
|
;========================================;
|
||||||
|
|
||||||
.CSEG
|
.CSEG
|
||||||
.ORG 0x00
|
.ORG 0x00
|
||||||
|
|
||||||
; MCU VECTORS
|
;========================================;
|
||||||
|
; VECTORS ;
|
||||||
|
;========================================;
|
||||||
|
|
||||||
000000 c014 rjmp RESET_vect ; Program start at RESET vector
|
000000 c014 rjmp RESET_vect ; Program start at RESET vector
|
||||||
000001 9518 reti ; External Interrupt Request 0 / inactive
|
000001 9518 reti ; External Interrupt Request 0 / inactive
|
||||||
000002 9518 reti ; External Interrupt Request 1 / inactive
|
000002 9518 reti ; External Interrupt Request 1 / inactive
|
||||||
@ -759,44 +771,74 @@ firmware.asm(14): Including file 'tn2313Adef.inc'
|
|||||||
000018 c004 rjmp LOOP
|
000018 c004 rjmp LOOP
|
||||||
|
|
||||||
INIT_PORTS:
|
INIT_PORTS:
|
||||||
000019 e400 ldi r16, (1<<PD6)
|
000019 e400 ldi r16, (1<<LED_POWER_PORT)
|
||||||
00001a bb01 out DDRD, r16
|
00001a bb01 out DDRD, r16
|
||||||
00001b bb02 out PORTD, r16
|
00001b bb02 out PORTD, r16
|
||||||
00001c 9508 ret
|
00001c 9508 ret
|
||||||
|
|
||||||
;
|
;========================================;
|
||||||
; MAIN PROGRAM LOOP
|
; MAIN PROGRAM LOOP ;
|
||||||
LOOP:
|
;========================================;
|
||||||
00001d 0000 nop
|
|
||||||
00001e cffe rjmp LOOP
|
|
||||||
|
|
||||||
00001f 5641
|
LOOP:
|
||||||
000020 2052
|
00001d e400 ldi r16, (1<<LED_POWER_PORT)
|
||||||
000021 6854
|
00001e bb02 out PORTD, r16
|
||||||
000022 7265
|
|
||||||
000023 6f6d
|
00001f d006 rcall DELAY
|
||||||
000024 7473
|
000020 d005 rcall DELAY
|
||||||
000025 7461
|
|
||||||
000026 202e
|
000021 e000 ldi r16, (0<<LED_POWER_PORT)
|
||||||
000027 7257
|
000022 bb02 out PORTD, r16
|
||||||
000028 7469
|
|
||||||
000029 6574
|
000023 d002 rcall DELAY
|
||||||
00002a 206e
|
000024 d001 rcall DELAY
|
||||||
00002b 7962
|
|
||||||
00002c 5320
|
000025 cff7 rjmp LOOP
|
||||||
00002d 7265
|
|
||||||
00002e 6567
|
DELAY:
|
||||||
00002f 2079
|
000026 ef0f ldi r16, 255 ; 1 clock cycle
|
||||||
000030 6159
|
_DEL_1:
|
||||||
000031 6b72
|
000027 ef1f ldi r17, 255 ; 1 clock cycle
|
||||||
000032 766f
|
_DEL_2:
|
||||||
000033 3220
|
000028 951a dec r17 ; 1 clock cycle
|
||||||
000034 2e32
|
000029 0000 nop ; 1 clock cycle
|
||||||
000035 3130
|
00002a f7e9 brne _DEL_2 ; 2 clock cycle when jumping / 1 when continue
|
||||||
000036 322e
|
|
||||||
000037 3230
|
00002b 950a dec r16 ; 1 clock cycle
|
||||||
firmware.asm(69): warning: .cseg .db misalignment - padding zero byte
|
00002c f7d1 brne _DEL_1 ; 2 clock cycle when jumping / 1 when continue
|
||||||
000038 0033 INFO: .DB "AVR Thermostat. Written by Sergey Yarkov 22.01.2023"
|
00002d 9508 ret
|
||||||
|
|
||||||
|
00002e 5641
|
||||||
|
00002f 2052
|
||||||
|
000030 6854
|
||||||
|
000031 7265
|
||||||
|
000032 6f6d
|
||||||
|
000033 7473
|
||||||
|
000034 7461
|
||||||
|
000035 202e
|
||||||
|
000036 7257
|
||||||
|
000037 7469
|
||||||
|
000038 6574
|
||||||
|
000039 206e
|
||||||
|
00003a 7962
|
||||||
|
00003b 5320
|
||||||
|
00003c 7265
|
||||||
|
00003d 6567
|
||||||
|
00003e 2079
|
||||||
|
00003f 6159
|
||||||
|
000040 6b72
|
||||||
|
000041 766f
|
||||||
|
000042 3220
|
||||||
|
000043 2e32
|
||||||
|
000044 3130
|
||||||
|
000045 322e
|
||||||
|
000046 3230
|
||||||
|
firmware.asm(107): warning: .cseg .db misalignment - padding zero byte
|
||||||
|
000047 0033 INFO: .DB "AVR Thermostat. Written by Sergey Yarkov 22.01.2023"
|
||||||
|
|
||||||
|
;========================================;
|
||||||
|
; EEPROM SEGMENT ;
|
||||||
|
;========================================;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -817,36 +859,36 @@ counted separately from r26..r31 here.
|
|||||||
"ATtiny2313A" register use summary:
|
"ATtiny2313A" register use summary:
|
||||||
x : 0 y : 0 z : 0 r0 : 0 r1 : 0 r2 : 0 r3 : 0 r4 : 0
|
x : 0 y : 0 z : 0 r0 : 0 r1 : 0 r2 : 0 r3 : 0 r4 : 0
|
||||||
r5 : 0 r6 : 0 r7 : 0 r8 : 0 r9 : 0 r10: 0 r11: 0 r12: 0
|
r5 : 0 r6 : 0 r7 : 0 r8 : 0 r9 : 0 r10: 0 r11: 0 r12: 0
|
||||||
r13: 0 r14: 0 r15: 0 r16: 5 r17: 0 r18: 0 r19: 0 r20: 0
|
r13: 0 r14: 0 r15: 0 r16: 11 r17: 2 r18: 0 r19: 0 r20: 0
|
||||||
r21: 0 r22: 0 r23: 0 r24: 0 r25: 0 r26: 0 r27: 0 r28: 0
|
r21: 0 r22: 0 r23: 0 r24: 0 r25: 0 r26: 0 r27: 0 r28: 0
|
||||||
r29: 0 r30: 0 r31: 0
|
r29: 0 r30: 0 r31: 0
|
||||||
Registers used: 1 out of 35 (2.9%)
|
Registers used: 2 out of 35 (5.7%)
|
||||||
|
|
||||||
"ATtiny2313A" instruction use summary:
|
"ATtiny2313A" instruction use summary:
|
||||||
.lds : 0 .sts : 0 adc : 0 add : 0 adiw : 0 and : 0
|
.lds : 0 .sts : 0 adc : 0 add : 0 adiw : 0 and : 0
|
||||||
andi : 0 asr : 0 bclr : 0 bld : 0 brbc : 0 brbs : 0
|
andi : 0 asr : 0 bclr : 0 bld : 0 brbc : 0 brbs : 0
|
||||||
brcc : 0 brcs : 0 break : 0 breq : 0 brge : 0 brhc : 0
|
brcc : 0 brcs : 0 break : 0 breq : 0 brge : 0 brhc : 0
|
||||||
brhs : 0 brid : 0 brie : 0 brlo : 0 brlt : 0 brmi : 0
|
brhs : 0 brid : 0 brie : 0 brlo : 0 brlt : 0 brmi : 0
|
||||||
brne : 0 brpl : 0 brsh : 0 brtc : 0 brts : 0 brvc : 0
|
brne : 2 brpl : 0 brsh : 0 brtc : 0 brts : 0 brvc : 0
|
||||||
brvs : 0 bset : 0 bst : 0 cbi : 0 cbr : 0 clc : 0
|
brvs : 0 bset : 0 bst : 0 cbi : 0 cbr : 0 clc : 0
|
||||||
clh : 0 cli : 0 cln : 0 clr : 0 cls : 0 clt : 0
|
clh : 0 cli : 0 cln : 0 clr : 0 cls : 0 clt : 0
|
||||||
clv : 0 clz : 0 com : 0 cp : 0 cpc : 0 cpi : 0
|
clv : 0 clz : 0 com : 0 cp : 0 cpc : 0 cpi : 0
|
||||||
cpse : 0 dec : 0 eor : 0 icall : 0 ijmp : 0 in : 0
|
cpse : 0 dec : 2 eor : 0 icall : 0 ijmp : 0 in : 0
|
||||||
inc : 0 ld : 0 ldd : 0 ldi : 2 lds : 0 lpm : 0
|
inc : 0 ld : 0 ldd : 0 ldi : 6 lds : 0 lpm : 0
|
||||||
lsl : 0 lsr : 0 mov : 0 movw : 0 neg : 0 nop : 1
|
lsl : 0 lsr : 0 mov : 0 movw : 0 neg : 0 nop : 1
|
||||||
or : 0 ori : 0 out : 3 pop : 0 push : 0 rcall : 1
|
or : 0 ori : 0 out : 5 pop : 0 push : 0 rcall : 5
|
||||||
ret : 1 reti : 20 rjmp : 3 rol : 0 ror : 0 sbc : 0
|
ret : 2 reti : 20 rjmp : 3 rol : 0 ror : 0 sbc : 0
|
||||||
sbci : 0 sbi : 0 sbic : 0 sbis : 0 sbiw : 0 sbr : 0
|
sbci : 0 sbi : 0 sbic : 0 sbis : 0 sbiw : 0 sbr : 0
|
||||||
sbrc : 0 sbrs : 0 sec : 0 seh : 0 sei : 0 sen : 0
|
sbrc : 0 sbrs : 0 sec : 0 seh : 0 sei : 0 sen : 0
|
||||||
ser : 0 ses : 0 set : 0 sev : 0 sez : 0 sleep : 0
|
ser : 0 ses : 0 set : 0 sev : 0 sez : 0 sleep : 0
|
||||||
spm : 0 st : 0 std : 0 sts : 0 sub : 0 subi : 0
|
spm : 0 st : 0 std : 0 sts : 0 sub : 0 subi : 0
|
||||||
swap : 0 tst : 0 wdr : 0
|
swap : 0 tst : 0 wdr : 0
|
||||||
Instructions used: 7 out of 105 (6.7%)
|
Instructions used: 9 out of 105 (8.6%)
|
||||||
|
|
||||||
"ATtiny2313A" memory use summary [bytes]:
|
"ATtiny2313A" memory use summary [bytes]:
|
||||||
Segment Begin End Code Data Used Size Use%
|
Segment Begin End Code Data Used Size Use%
|
||||||
---------------------------------------------------------------
|
---------------------------------------------------------------
|
||||||
[.cseg] 0x000000 0x000072 62 52 114 2048 5.6%
|
[.cseg] 0x000000 0x000090 92 52 144 2048 7.0%
|
||||||
[.dseg] 0x000060 0x000060 0 0 0 128 0.0%
|
[.dseg] 0x000060 0x000060 0 0 0 128 0.0%
|
||||||
[.eseg] 0x000000 0x000000 0 0 0 128 0.0%
|
[.eseg] 0x000000 0x000000 0 0 0 128 0.0%
|
||||||
|
|
||||||
|
|||||||
163
firmware.lst
Normal file
163
firmware.lst
Normal file
@ -0,0 +1,163 @@
|
|||||||
|
gavrasm Gerd's AVR assembler version 5.4 (C)2022 by DG4FAC
|
||||||
|
----------------------------------------------------------
|
||||||
|
|
||||||
|
Path: /home/sergeyyarkov/Documents/Applications/attiny2313a_thermostat/
|
||||||
|
Source file: firmware.asm
|
||||||
|
Hex file: firmware.hex
|
||||||
|
Eeprom file: firmware.eep
|
||||||
|
Compiled: 24.01.2023, 01:15:04
|
||||||
|
Pass: 2
|
||||||
|
|
||||||
|
1: ;
|
||||||
|
2: ; Project name: thermostat
|
||||||
|
3: ; Description: Electronic thermostat on AVR Microcontroller
|
||||||
|
4: ; Source code: https://github.com/sergeyyarkov/attiny2313a_thermostat
|
||||||
|
5: ; Device: ATtiny2313A
|
||||||
|
6: ; Device Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/doc8246.pdf
|
||||||
|
7: ; Package: SOIC-20W_7.5x12.8mm_P1.27mm
|
||||||
|
8: ; Assembler: AVR macro assembler 2.2.7
|
||||||
|
9: ; Clock frequency: 12 MHz External Crystal Oscillator
|
||||||
|
10: ; Fuses: lfuse: 0x4F, hfuse: 0x9F, efuse: 0xFF, lock: 0xFF
|
||||||
|
11: ;
|
||||||
|
12: ; Written by Sergey Yarkov 22.01.2023
|
||||||
|
13:
|
||||||
|
14: .INCLUDE "tn2313Adef.inc"
|
||||||
|
-> Warning 009: Include defs not necessary, using internal values!
|
||||||
|
File: /home/sergeyyarkov/Documents/Applications/attiny2313a_thermostat/firmware.asm, Line: 14
|
||||||
|
Source line: .INCLUDE "tn2313Adef.inc"
|
||||||
|
15: .LIST
|
||||||
|
16:
|
||||||
|
17: .DEF tmp_r_a = r16
|
||||||
|
18:
|
||||||
|
19: ;========================================;
|
||||||
|
20: ; LABELS ;
|
||||||
|
21: ;========================================;
|
||||||
|
22:
|
||||||
|
23: .EQU LED_POWER_PORT = PD6
|
||||||
|
24:
|
||||||
|
25:
|
||||||
|
26: ;========================================;
|
||||||
|
27: ; CODE SEGMENT ;
|
||||||
|
28: ;========================================;
|
||||||
|
29:
|
||||||
|
30: .CSEG
|
||||||
|
31: .ORG 0x00
|
||||||
|
32:
|
||||||
|
33: ;========================================;
|
||||||
|
34: ; VECTORS ;
|
||||||
|
35: ;========================================;
|
||||||
|
36:
|
||||||
|
37: 000000 C014 rjmp RESET_vect ; Program start at RESET vector
|
||||||
|
38: 000001 9518 reti ; External Interrupt Request 0 / inactive
|
||||||
|
39: 000002 9518 reti ; External Interrupt Request 1 / inactive
|
||||||
|
40: 000003 9518 reti ; Timer/Counter1 Capture Event / inactive
|
||||||
|
41: 000004 9518 reti ; Timer/Counter1 Compare Match A / inactive
|
||||||
|
42: 000005 9518 reti ; Timer/Counter1 Overflow / inactive
|
||||||
|
43: 000006 9518 reti ; Timer/Counter0 Overflow / inactive
|
||||||
|
44: 000007 9518 reti ; USART0, Rx Complete / inactive
|
||||||
|
45: 000008 9518 reti ; USART0 Data Register Empty / inactive
|
||||||
|
46: 000009 9518 reti ; USART0, Tx Complete / inactive
|
||||||
|
47: 00000A 9518 reti ; Analog Comparator / inactive
|
||||||
|
48: 00000B 9518 reti ; Pin Change Interrupt Request 0/ inactive
|
||||||
|
49: 00000C 9518 reti ; Timer/Counter1 Compare Match B / inactive
|
||||||
|
50: 00000D 9518 reti ; Timer/Counter0 Compare Match A / inactive
|
||||||
|
51: 00000E 9518 reti ; Timer/Counter0 Compare Match B / inactive
|
||||||
|
52: 00000F 9518 reti ; USI Start Condition/ inactive
|
||||||
|
53: 000010 9518 reti ; USI Overflow / inactive
|
||||||
|
54: 000011 9518 reti ; EEPROM Ready/ inactive
|
||||||
|
55: 000012 9518 reti ; Watchdog Timer Overflow / inactive
|
||||||
|
56: 000013 9518 reti ; Pin Change Interrupt Request 1 / inactive
|
||||||
|
57: 000014 9518 reti ; Pin Change Interrupt Request 2 / inactive
|
||||||
|
58:
|
||||||
|
59: RESET_vect:
|
||||||
|
60: ;
|
||||||
|
61: ; INIT STACK POINTER
|
||||||
|
62: 000015 ED0F ldi tmp_r_a, low(RAMEND)
|
||||||
|
63: 000016 BF0D out SPL, tmp_r_a
|
||||||
|
64:
|
||||||
|
65: MCU_INIT:
|
||||||
|
66: 000017 D001 rcall INIT_PORTS
|
||||||
|
67: 000018 C004 rjmp LOOP
|
||||||
|
68:
|
||||||
|
69: INIT_PORTS:
|
||||||
|
70: 000019 E400 ldi r16, (1<<LED_POWER_PORT)
|
||||||
|
71: 00001A BB01 out DDRD, r16
|
||||||
|
72: 00001B BB02 out PORTD, r16
|
||||||
|
73: 00001C 9508 ret
|
||||||
|
74:
|
||||||
|
75: ;========================================;
|
||||||
|
76: ; MAIN PROGRAM LOOP ;
|
||||||
|
77: ;========================================;
|
||||||
|
78:
|
||||||
|
79: LOOP:
|
||||||
|
80: 00001D E400 ldi r16, (1<<LED_POWER_PORT)
|
||||||
|
81: 00001E BB02 out PORTD, r16
|
||||||
|
82:
|
||||||
|
83: 00001F D006 rcall DELAY
|
||||||
|
84: 000020 D005 rcall DELAY
|
||||||
|
85:
|
||||||
|
86: 000021 E000 ldi r16, (0<<LED_POWER_PORT)
|
||||||
|
87: 000022 BB02 out PORTD, r16
|
||||||
|
88:
|
||||||
|
89: 000023 D002 rcall DELAY
|
||||||
|
90: 000024 D001 rcall DELAY
|
||||||
|
91:
|
||||||
|
92: 000025 CFF7 rjmp LOOP
|
||||||
|
93:
|
||||||
|
94: DELAY:
|
||||||
|
95: 000026 E302 ldi r16, 50 ; 1 clock cycle
|
||||||
|
96: _DEL_1:
|
||||||
|
97: 000027 EF1F ldi r17, 255 ; 1 clock cycle
|
||||||
|
98: _DEL_2:
|
||||||
|
99: 000028 951A dec r17 ; 1 clock cycle
|
||||||
|
100: 000029 0000 nop ; 1 clock cycle
|
||||||
|
101: 00002A F7E9 brne _DEL_2 ; 2 clock cycle when jumping / 1 when continue
|
||||||
|
102:
|
||||||
|
103: 00002B 950A dec r16 ; 1 clock cycle
|
||||||
|
104: 00002C F7D1 brne _DEL_1 ; 2 clock cycle when jumping / 1 when continue
|
||||||
|
105: 00002D 9508 ret
|
||||||
|
106:
|
||||||
|
107: INFO: .DB "AVR Thermostat. Written by Sergey Yarkov 22.01.2023"
|
||||||
|
-> Warning 004: Number of bytes on line is odd, added 00 to fit program memory!
|
||||||
|
File: /home/sergeyyarkov/Documents/Applications/attiny2313a_thermostat/firmware.asm, Line: 107
|
||||||
|
Source line: INFO: .DB "AVR Thermostat. Written by Sergey Yarkov 22.01.2023"
|
||||||
|
00002E 5641 2052 4854 5245
|
||||||
|
000032 4F4D 5453 5441 202E
|
||||||
|
000036 5257 5449 4554 204E
|
||||||
|
00003A 5942 5320 5245 4547
|
||||||
|
00003E 2059 4159 4B52 564F
|
||||||
|
000042 3220 2E32 3130 322E
|
||||||
|
000046 3230 0033
|
||||||
|
108:
|
||||||
|
109: ;========================================;
|
||||||
|
110: ; EEPROM SEGMENT ;
|
||||||
|
111: ;========================================;
|
||||||
|
112:
|
||||||
|
113: .ESEG
|
||||||
|
|
||||||
|
List of symbols:
|
||||||
|
Type nDef nUsed Decimalval Hexval Name
|
||||||
|
T 1 1 89 59 ATTINY2313A
|
||||||
|
L 1 2 21 15 RESET_VECT
|
||||||
|
L 1 0 23 17 MCU_INIT
|
||||||
|
L 1 2 25 19 INIT_PORTS
|
||||||
|
L 1 4 29 1D LOOP
|
||||||
|
L 1 8 38 26 DELAY
|
||||||
|
L 1 2 39 27 _DEL_1
|
||||||
|
L 1 2 40 28 _DEL_2
|
||||||
|
L 1 0 46 2E INFO
|
||||||
|
R 1 2 16 10 TMP_R_A
|
||||||
|
C 1 0 23 17 NOW_Y
|
||||||
|
C 1 0 1 01 NOW_M
|
||||||
|
C 1 0 24 18 NOW_D
|
||||||
|
C 1 0 44950 AF96 NOW_I
|
||||||
|
C 1 3 6 06 LED_POWER_PORT
|
||||||
|
No macros.
|
||||||
|
|
||||||
|
Program : 46 words.
|
||||||
|
Constants : 26 words.
|
||||||
|
Total program memory: 72 words.
|
||||||
|
Eeprom space : 0 bytes.
|
||||||
|
Data segment : 0 bytes.
|
||||||
|
Compilation completed, no errors.
|
||||||
|
Compilation ended 24.01.2023, 01:15:04
|
||||||
11
firmware.pro
Normal file
11
firmware.pro
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
/avr_sim_project_file
|
||||||
|
/home/sergeyyarkov/Documents/Applications/attiny2313a_thermostat/firmware.asm
|
||||||
|
mainasm=firmware.asm
|
||||||
|
file=firmware.lst,98,9,55
|
||||||
|
file=firmware.asm,1,1,1
|
||||||
|
clock=12000000, Div8
|
||||||
|
device-type=ATtiny2313A
|
||||||
|
device-package=20-pin-PDIP_SOIC
|
||||||
|
include=firmware.asm B89
|
||||||
|
windows=acepstwz
|
||||||
|
alert1=0,0,-1,-1,,0,0
|
||||||
Loading…
x
Reference in New Issue
Block a user