commit 7fafb8601f5e2212656f23ac3f0e00cd0cbd454d Author: Sergey Yarkov Date: Fri Sep 24 23:24:14 2021 +0300 setup ports diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9b02fdc --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.vscode +firmware.asm~ +firmware.pro +firmware.lst \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..68c3f63 --- /dev/null +++ b/Makefile @@ -0,0 +1,7 @@ +SRCFILE = firmware + +compile: $(SRCFILE).asm + gavrasm $(SRCFILE) + +clean: + rm -f $(SRCFILE).asm~ $(SRCFILE).hex $(SRCFILE).obj $(SRCFILE).lst $(SRCFILE).cof \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..3b29779 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +##led-blink-example diff --git a/firmware.asm b/firmware.asm new file mode 100644 index 0000000..f5304d7 --- /dev/null +++ b/firmware.asm @@ -0,0 +1,44 @@ +; Project name: led-blink-example +; Description: Blink an led every one second +; Source code: https://github.com/sergeyyarkov/attiny24a_led-blink-example +; Device: ATtiny24A +; Package: 14-pin-PDIP/SOIC +; Assembler: gavrasm v5.0 +; +; Written by Sergey Yarkov 23.09.2021 + +.device ATtiny24A +.list ; Enable listing + +.macro init_stack_p ; Setup stack pointer + ldi @0, low(@1), + out SPL, @0 +.endm + +.equ LED_DIR = DDRA ; LED Direction +.equ LED_PORT = PORTA ; LED Port +.equ LED_PIN = PINA0 ; LED Pin + +.equ delay_cycles = 250 + +.org 0x00 ; Start program at 0x00 +.cseg ; Code segment + +ldi r17, delay_cycles +ldi r18, delay_cycles +ldi r19, delay_cycles + +main: ; Start up program + init_stack_p r16, RAMEND + rcall init_ports ; Initialize MCU ports + +loop: ; Program loop + rjmp loop + +init_ports: ; Init MCU ports + ldi r16, (1<