mirror of
https://github.com/sergeyyarkov/attiny2313a_thermostat.git
synced 2026-10-11 10:18:56 +03:00
upd
This commit is contained in:
parent
2855e84b11
commit
a02fb3bcd3
32
firmware.asm
32
firmware.asm
@ -110,13 +110,13 @@ MCU_INIT:
|
|||||||
; sbi PORTD, PD4
|
; sbi PORTD, PD4
|
||||||
; sbi PORTD, PD5
|
; sbi PORTD, PD5
|
||||||
|
|
||||||
ldi TEMP_REG_A, 4
|
ldi TEMP_REG_A, 1
|
||||||
sts DISPLAY_DIGIT, TEMP_REG_A
|
sts DISPLAY_DIGIT, TEMP_REG_A
|
||||||
|
|
||||||
ldi TEMP_REG_A, 3
|
ldi TEMP_REG_A, 1
|
||||||
sts DISPLAY_DIGIT+1, TEMP_REG_A
|
sts DISPLAY_DIGIT+1, TEMP_REG_A
|
||||||
|
|
||||||
ldi TEMP_REG_A, 2
|
ldi TEMP_REG_A, 9
|
||||||
sts DISPLAY_DIGIT+2, TEMP_REG_A
|
sts DISPLAY_DIGIT+2, TEMP_REG_A
|
||||||
|
|
||||||
ldi TEMP_REG_A, 1
|
ldi TEMP_REG_A, 1
|
||||||
@ -173,7 +173,6 @@ ret
|
|||||||
LOOP:
|
LOOP:
|
||||||
rcall TOGGLE_POWER_LED
|
rcall TOGGLE_POWER_LED
|
||||||
rcall DISPLAY_INDICATE
|
rcall DISPLAY_INDICATE
|
||||||
; rcall USI_TRANSMIT
|
|
||||||
|
|
||||||
; ldi TEMP_REG_B, 10
|
; ldi TEMP_REG_B, 10
|
||||||
; cp r1, TEMP_REG_B
|
; cp r1, TEMP_REG_B
|
||||||
@ -200,27 +199,50 @@ LOOP:
|
|||||||
|
|
||||||
DISPLAY_INDICATE:
|
DISPLAY_INDICATE:
|
||||||
sbi PORTD, DIGIT_1_PIN
|
sbi PORTD, DIGIT_1_PIN
|
||||||
|
lds TEMP_REG_A, DISPLAY_DIGIT+3
|
||||||
|
rcall DISPLAY_DECODER
|
||||||
|
rcall USI_TRANSMIT
|
||||||
rcall DELAY
|
rcall DELAY
|
||||||
cbi PORTD, DIGIT_1_PIN
|
cbi PORTD, DIGIT_1_PIN
|
||||||
|
|
||||||
sbi PORTD, DIGIT_2_PIN
|
sbi PORTD, DIGIT_2_PIN
|
||||||
|
lds TEMP_REG_A, DISPLAY_DIGIT+2
|
||||||
|
rcall DISPLAY_DECODER
|
||||||
|
rcall USI_TRANSMIT
|
||||||
rcall DELAY
|
rcall DELAY
|
||||||
cbi PORTD, DIGIT_2_PIN
|
cbi PORTD, DIGIT_2_PIN
|
||||||
|
|
||||||
sbi PORTD, DIGIT_3_PIN
|
sbi PORTD, DIGIT_3_PIN
|
||||||
|
lds TEMP_REG_A, DISPLAY_DIGIT+1
|
||||||
|
rcall DISPLAY_DECODER
|
||||||
|
rcall USI_TRANSMIT
|
||||||
rcall DELAY
|
rcall DELAY
|
||||||
cbi PORTD, DIGIT_3_PIN
|
cbi PORTD, DIGIT_3_PIN
|
||||||
|
|
||||||
sbi PORTD, DIGIT_4_PIN
|
sbi PORTD, DIGIT_4_PIN
|
||||||
|
lds TEMP_REG_A, DISPLAY_DIGIT
|
||||||
|
rcall DISPLAY_DECODER
|
||||||
|
rcall USI_TRANSMIT
|
||||||
rcall DELAY
|
rcall DELAY
|
||||||
cbi PORTD, DIGIT_4_PIN
|
cbi PORTD, DIGIT_4_PIN
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
DISPLAY_DECODER:
|
||||||
|
ldi ZL, LOW(2*DISPLAY_SYMBOLS)
|
||||||
|
ldi ZH, HIGH(2*DISPLAY_SYMBOLS)
|
||||||
|
|
||||||
|
ldi TEMP_REG_B, 0
|
||||||
|
add ZL, TEMP_REG_A
|
||||||
|
adc ZH, TEMP_REG_B
|
||||||
|
|
||||||
|
lpm
|
||||||
|
ret
|
||||||
|
|
||||||
DELAY:
|
DELAY:
|
||||||
push r16
|
push r16
|
||||||
push r17
|
push r17
|
||||||
cli
|
cli
|
||||||
ldi r16, 100
|
ldi r16, 50
|
||||||
_DELAY_1:
|
_DELAY_1:
|
||||||
ldi r17, 255
|
ldi r17, 255
|
||||||
_DELAY_2:
|
_DELAY_2:
|
||||||
|
|||||||
20
firmware.hex
20
firmware.hex
@ -1,11 +1,15 @@
|
|||||||
:020000020000FC
|
:020000020000FC
|
||||||
:1000000000C00FED0DBF0CE701BB01EC07BB04E026
|
:1000000000C00FED0DBF0CE701BB01EC07BB01E029
|
||||||
:100010000093610003E00093620002E0009363003C
|
:100010000093610001E00093620009E00093630037
|
||||||
:1000200001E0009364001124E6E8F0E00AC00FB894
|
:1000200001E0009364001124EAEBF0E00AC00FB88D
|
||||||
:1000300000E40EB90BE10DB9769BFDCFC09AC098D4
|
:1000300000E40EB90BE10DB9769BFDCFC09AC098D4
|
||||||
:1000400008951CD001D0FDCF929A08D09298939A2F
|
:10004000089536D001D0FDCF929A0091640019D066
|
||||||
:1000500005D09398949A02D0949808950F931F9383
|
:10005000EEDF1ED09298939A0091630012D0E7DFF2
|
||||||
:10006000F89404E61FEF1A95000000000000D9F78D
|
:1000600017D09398949A009162000BD0E0DF10D0E3
|
||||||
:100070000A95C1F778941F910F91089500E412B387
|
:100070009498959A0091610004D0D9DF09D09598A1
|
||||||
:10008000102712BB0895C0F9A4B0999282F880900D
|
:100080000895EAEBF0E010E0E00FF11FC895089545
|
||||||
|
:100090000F931F93F89402E31FEF1A9500000000DE
|
||||||
|
:1000A0000000D9F70A95C1F778941F910F91089530
|
||||||
|
:1000B00000E412B3102712BB0895C0F9A4B09992BE
|
||||||
|
:0400C00082F88090B2
|
||||||
:00000001FF
|
:00000001FF
|
||||||
|
|||||||
132
firmware.lss
132
firmware.lss
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
AVRASM ver. 2.2.7 firmware.asm Sat Feb 25 23:36:49 2023
|
AVRASM ver. 2.2.7 firmware.asm Thu Apr 06 18:29:19 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'
|
||||||
@ -814,20 +814,20 @@ firmware.asm(14): Including file 'tn2313Adef.inc'
|
|||||||
; sbi PORTD, PD4
|
; sbi PORTD, PD4
|
||||||
; sbi PORTD, PD5
|
; sbi PORTD, PD5
|
||||||
|
|
||||||
000007 e004 ldi TEMP_REG_A, 4
|
000007 e001 ldi TEMP_REG_A, 1
|
||||||
000008 9300 0061 sts DISPLAY_DIGIT, TEMP_REG_A
|
000008 9300 0061 sts DISPLAY_DIGIT, TEMP_REG_A
|
||||||
|
|
||||||
00000a e003 ldi TEMP_REG_A, 3
|
00000a e001 ldi TEMP_REG_A, 1
|
||||||
00000b 9300 0062 sts DISPLAY_DIGIT+1, TEMP_REG_A
|
00000b 9300 0062 sts DISPLAY_DIGIT+1, TEMP_REG_A
|
||||||
|
|
||||||
00000d e002 ldi TEMP_REG_A, 2
|
00000d e009 ldi TEMP_REG_A, 9
|
||||||
00000e 9300 0063 sts DISPLAY_DIGIT+2, TEMP_REG_A
|
00000e 9300 0063 sts DISPLAY_DIGIT+2, TEMP_REG_A
|
||||||
|
|
||||||
000010 e001 ldi TEMP_REG_A, 1
|
000010 e001 ldi TEMP_REG_A, 1
|
||||||
000011 9300 0064 sts DISPLAY_DIGIT+3, TEMP_REG_A
|
000011 9300 0064 sts DISPLAY_DIGIT+3, TEMP_REG_A
|
||||||
|
|
||||||
000013 2411 clr r1
|
000013 2411 clr r1
|
||||||
000014 e8e6 ldi ZL,LOW(2*DISPLAY_SYMBOLS)
|
000014 ebea ldi ZL,LOW(2*DISPLAY_SYMBOLS)
|
||||||
000015 e0f0 ldi ZH,HIGH(2*DISPLAY_SYMBOLS)
|
000015 e0f0 ldi ZH,HIGH(2*DISPLAY_SYMBOLS)
|
||||||
|
|
||||||
000016 c00a rjmp LOOP
|
000016 c00a rjmp LOOP
|
||||||
@ -875,9 +875,8 @@ firmware.asm(14): Including file 'tn2313Adef.inc'
|
|||||||
;========================================;
|
;========================================;
|
||||||
|
|
||||||
LOOP:
|
LOOP:
|
||||||
000021 d01c rcall TOGGLE_POWER_LED
|
000021 d036 rcall TOGGLE_POWER_LED
|
||||||
000022 d001 rcall DISPLAY_INDICATE
|
000022 d001 rcall DISPLAY_INDICATE
|
||||||
; rcall USI_TRANSMIT
|
|
||||||
|
|
||||||
; ldi TEMP_REG_B, 10
|
; ldi TEMP_REG_B, 10
|
||||||
; cp r1, TEMP_REG_B
|
; cp r1, TEMP_REG_B
|
||||||
@ -904,58 +903,81 @@ firmware.asm(14): Including file 'tn2313Adef.inc'
|
|||||||
|
|
||||||
DISPLAY_INDICATE:
|
DISPLAY_INDICATE:
|
||||||
000024 9a92 sbi PORTD, DIGIT_1_PIN
|
000024 9a92 sbi PORTD, DIGIT_1_PIN
|
||||||
000025 d008 rcall DELAY
|
000025 9100 0064 lds TEMP_REG_A, DISPLAY_DIGIT+3
|
||||||
000026 9892 cbi PORTD, DIGIT_1_PIN
|
000027 d019 rcall DISPLAY_DECODER
|
||||||
|
000028 dfee rcall USI_TRANSMIT
|
||||||
|
000029 d01e rcall DELAY
|
||||||
|
00002a 9892 cbi PORTD, DIGIT_1_PIN
|
||||||
|
|
||||||
000027 9a93 sbi PORTD, DIGIT_2_PIN
|
00002b 9a93 sbi PORTD, DIGIT_2_PIN
|
||||||
000028 d005 rcall DELAY
|
00002c 9100 0063 lds TEMP_REG_A, DISPLAY_DIGIT+2
|
||||||
000029 9893 cbi PORTD, DIGIT_2_PIN
|
00002e d012 rcall DISPLAY_DECODER
|
||||||
|
00002f dfe7 rcall USI_TRANSMIT
|
||||||
|
000030 d017 rcall DELAY
|
||||||
|
000031 9893 cbi PORTD, DIGIT_2_PIN
|
||||||
|
|
||||||
00002a 9a94 sbi PORTD, DIGIT_3_PIN
|
000032 9a94 sbi PORTD, DIGIT_3_PIN
|
||||||
00002b d002 rcall DELAY
|
000033 9100 0062 lds TEMP_REG_A, DISPLAY_DIGIT+1
|
||||||
00002c 9894 cbi PORTD, DIGIT_3_PIN
|
000035 d00b rcall DISPLAY_DECODER
|
||||||
|
000036 dfe0 rcall USI_TRANSMIT
|
||||||
|
000037 d010 rcall DELAY
|
||||||
|
000038 9894 cbi PORTD, DIGIT_3_PIN
|
||||||
|
|
||||||
; sbi PORTD, DIGIT_4_PIN
|
000039 9a95 sbi PORTD, DIGIT_4_PIN
|
||||||
; rcall DELAY
|
00003a 9100 0061 lds TEMP_REG_A, DISPLAY_DIGIT
|
||||||
; cbi PORTD, DIGIT_4_PIN
|
00003c d004 rcall DISPLAY_DECODER
|
||||||
00002d 9508 ret
|
00003d dfd9 rcall USI_TRANSMIT
|
||||||
|
00003e d009 rcall DELAY
|
||||||
|
00003f 9895 cbi PORTD, DIGIT_4_PIN
|
||||||
|
000040 9508 ret
|
||||||
|
|
||||||
|
DISPLAY_DECODER:
|
||||||
|
000041 ebea ldi ZL, LOW(2*DISPLAY_SYMBOLS)
|
||||||
|
000042 e0f0 ldi ZH, HIGH(2*DISPLAY_SYMBOLS)
|
||||||
|
|
||||||
|
000043 e010 ldi TEMP_REG_B, 0
|
||||||
|
000044 0fe0 add ZL, TEMP_REG_A
|
||||||
|
000045 1ff1 adc ZH, TEMP_REG_B
|
||||||
|
|
||||||
|
000046 95c8 lpm
|
||||||
|
000047 9508 ret
|
||||||
|
|
||||||
DELAY:
|
DELAY:
|
||||||
00002e 930f push r16
|
000048 930f push r16
|
||||||
00002f 931f push r17
|
000049 931f push r17
|
||||||
000030 94f8 cli
|
00004a 94f8 cli
|
||||||
000031 e604 ldi r16, 100
|
00004b e302 ldi r16, 50
|
||||||
_DELAY_1:
|
_DELAY_1:
|
||||||
000032 ef1f ldi r17, 255
|
00004c ef1f ldi r17, 255
|
||||||
_DELAY_2:
|
_DELAY_2:
|
||||||
000033 951a dec r17
|
00004d 951a dec r17
|
||||||
000034 0000 nop
|
00004e 0000 nop
|
||||||
000035 0000 nop
|
00004f 0000 nop
|
||||||
000036 0000 nop
|
000050 0000 nop
|
||||||
000037 f7d9 brne _DELAY_2
|
000051 f7d9 brne _DELAY_2
|
||||||
|
|
||||||
000038 950a dec r16
|
000052 950a dec r16
|
||||||
000039 f7c1 brne _DELAY_1
|
000053 f7c1 brne _DELAY_1
|
||||||
00003a 9478 sei
|
000054 9478 sei
|
||||||
|
|
||||||
00003b 911f pop r17
|
000055 911f pop r17
|
||||||
00003c 910f pop r16
|
000056 910f pop r16
|
||||||
00003d 9508 ret
|
000057 9508 ret
|
||||||
|
|
||||||
TOGGLE_POWER_LED:
|
TOGGLE_POWER_LED:
|
||||||
00003e e400 ldi r16, (1<<LED_POWER_PIN)
|
000058 e400 ldi r16, (1<<LED_POWER_PIN)
|
||||||
00003f b312 in r17, PORTD
|
000059 b312 in r17, PORTD
|
||||||
000040 2710 eor r17, r16
|
00005a 2710 eor r17, r16
|
||||||
000041 bb12 out PORTD, r17
|
00005b bb12 out PORTD, r17
|
||||||
000042 9508 ret
|
00005c 9508 ret
|
||||||
|
|
||||||
DISPLAY_SYMBOLS:
|
DISPLAY_SYMBOLS:
|
||||||
; HGFEDCBA HGFEDCBA
|
; HGFEDCBA HGFEDCBA
|
||||||
000043 f9c0 .DB 0b11000000, 0b11111001 ; 0, 1
|
00005d f9c0 .DB 0b11000000, 0b11111001 ; 0, 1
|
||||||
000044 b0a4 .DB 0b10100100, 0b10110000 ; 2, 3
|
00005e b0a4 .DB 0b10100100, 0b10110000 ; 2, 3
|
||||||
000045 9299 .DB 0b10011001, 0b10010010 ; 4, 5
|
00005f 9299 .DB 0b10011001, 0b10010010 ; 4, 5
|
||||||
000046 f882 .DB 0b10000010, 0b11111000 ; 6, 7
|
000060 f882 .DB 0b10000010, 0b11111000 ; 6, 7
|
||||||
000047 9080 .DB 0b10000000, 0b10010000 ; 8, 9
|
000061 9080 .DB 0b10000000, 0b10010000 ; 8, 9
|
||||||
|
|
||||||
;========================================;
|
;========================================;
|
||||||
; EEPROM SEGMENT ;
|
; EEPROM SEGMENT ;
|
||||||
@ -1031,36 +1053,36 @@ counted separately from r26..r31 here.
|
|||||||
"ATtiny2313A" register use summary:
|
"ATtiny2313A" register use summary:
|
||||||
x : 0 y : 0 z : 0 r0 : 1 r1 : 1 r2 : 0 r3 : 0 r4 : 0
|
x : 0 y : 0 z : 0 r0 : 1 r1 : 1 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: 24 r17: 7 r18: 0 r19: 0 r20: 0
|
r13: 0 r14: 0 r15: 0 r16: 29 r17: 9 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: 1 r31: 1
|
r29: 0 r30: 3 r31: 3
|
||||||
Registers used: 6 out of 35 (17.1%)
|
Registers used: 6 out of 35 (17.1%)
|
||||||
|
|
||||||
"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 : 1 add : 1 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 : 2 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 : 4 cbr : 0 clc : 0
|
brvs : 0 bset : 0 bst : 0 cbi : 5 cbr : 0 clc : 0
|
||||||
clh : 0 cli : 1 cln : 0 clr : 1 cls : 0 clt : 0
|
clh : 0 cli : 1 cln : 0 clr : 1 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 : 2 eor : 1 icall : 0 ijmp : 0 in : 1
|
cpse : 0 dec : 2 eor : 1 icall : 0 ijmp : 0 in : 1
|
||||||
inc : 0 ld : 0 ldd : 0 ldi : 14 lds : 0 lpm : 0
|
inc : 0 ld : 0 ldd : 0 ldi : 17 lds : 4 lpm : 3
|
||||||
lsl : 0 lsr : 0 mov : 0 movw : 0 neg : 0 nop : 3
|
lsl : 0 lsr : 0 mov : 0 movw : 0 neg : 0 nop : 3
|
||||||
or : 0 ori : 0 out : 7 pop : 2 push : 2 rcall : 5
|
or : 0 ori : 0 out : 7 pop : 2 push : 2 rcall : 14
|
||||||
ret : 4 reti : 0 rjmp : 4 rol : 0 ror : 0 sbc : 0
|
ret : 5 reti : 0 rjmp : 4 rol : 0 ror : 0 sbc : 0
|
||||||
sbci : 0 sbi : 4 sbic : 0 sbis : 1 sbiw : 0 sbr : 0
|
sbci : 0 sbi : 5 sbic : 0 sbis : 1 sbiw : 0 sbr : 0
|
||||||
sbrc : 0 sbrs : 0 sec : 0 seh : 0 sei : 1 sen : 0
|
sbrc : 0 sbrs : 0 sec : 0 seh : 0 sei : 1 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 : 4 sub : 0 subi : 0
|
spm : 0 st : 0 std : 0 sts : 4 sub : 0 subi : 0
|
||||||
swap : 0 tst : 0 wdr : 0
|
swap : 0 tst : 0 wdr : 0
|
||||||
Instructions used: 19 out of 105 (18.1%)
|
Instructions used: 23 out of 105 (21.9%)
|
||||||
|
|
||||||
"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 0x000090 134 10 144 2048 7.0%
|
[.cseg] 0x000000 0x0000c4 186 10 196 2048 9.6%
|
||||||
[.dseg] 0x000060 0x000065 0 5 5 128 3.9%
|
[.dseg] 0x000060 0x000065 0 5 5 128 3.9%
|
||||||
[.eseg] 0x000000 0x000033 0 51 51 128 39.8%
|
[.eseg] 0x000000 0x000033 0 51 51 128 39.8%
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user