diff --git a/firmware.asm b/firmware.asm index 6537ca6..777abe8 100644 --- a/firmware.asm +++ b/firmware.asm @@ -7,7 +7,7 @@ ; Package: SOIC-20W_7.5x12.8mm_P1.27mm ; Assembler: AVR macro assembler 2.2.7 ; 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 @@ -16,12 +16,24 @@ .DEF tmp_r_a = r16 -.DSEG +;========================================; +; LABELS ; +;========================================; + +.EQU LED_POWER_PORT = PD6 + + +;========================================; +; CODE SEGMENT ; +;========================================; .CSEG .ORG 0x00 -; MCU VECTORS +;========================================; +; VECTORS ; +;========================================; + rjmp RESET_vect ; Program start at RESET vector reti ; External Interrupt Request 0 / inactive reti ; External Interrupt Request 1 / inactive @@ -55,17 +67,47 @@ MCU_INIT: rjmp LOOP INIT_PORTS: - ldi r16, (1< 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< 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 diff --git a/firmware.pro b/firmware.pro new file mode 100644 index 0000000..1ec55c5 --- /dev/null +++ b/firmware.pro @@ -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