setup ports

This commit is contained in:
Sergey Yarkov 2021-09-24 23:24:14 +03:00
commit 7fafb8601f
5 changed files with 60 additions and 0 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
.vscode
firmware.asm~
firmware.pro
firmware.lst

7
Makefile Normal file
View File

@ -0,0 +1,7 @@
SRCFILE = firmware
compile: $(SRCFILE).asm
gavrasm $(SRCFILE)
clean:
rm -f $(SRCFILE).asm~ $(SRCFILE).hex $(SRCFILE).obj $(SRCFILE).lst $(SRCFILE).cof

1
README.md Normal file
View File

@ -0,0 +1 @@
##led-blink-example

44
firmware.asm Normal file
View File

@ -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<<LED_PIN)
ldi r17, (0<<LED_PIN)
nop
out LED_DIR, r16
out LED_PORT, r17
ret

4
firmware.hex Normal file
View File

@ -0,0 +1,4 @@
:020000020000FC
:100000001AEF2AEF3AEF0FED0DBF01D0FFCF01E05D
:0A00100010E000000ABB1BBB0895BE
:00000001FF