From 9a5cd93e9fe26e748754973a1666f681f0adf77b Mon Sep 17 00:00:00 2001 From: sergeyyarkov Date: Sat, 28 Jan 2023 19:46:06 +0300 Subject: [PATCH] refactored --- firmware.asm | 62 ++++++++++++++++++---------------------------------- firmware.hex | 11 +++++----- 2 files changed, 26 insertions(+), 47 deletions(-) diff --git a/firmware.asm b/firmware.asm index 45f8b94..01810f0 100644 --- a/firmware.asm +++ b/firmware.asm @@ -14,7 +14,9 @@ .INCLUDE "tn2313Adef.inc" .LIST -.DEF DATA = r20 ; DATA to transmit +.DEF TEMP_A = r16 ; Temp register A +.DEF TEMP_B = r17 ; Temp register B +.DEF DATA = r20 ; DATA to transmit ;========================================; ; LABELS ; @@ -36,39 +38,30 @@ ;========================================; rjmp RESET_vect ; Program start at RESET vector -;reti ; External Interrupt Request 0 / inactive -;reti ; External Interrupt Request 1 / inactive -;reti ; Timer/Counter1 Capture Event / inactive -;reti ; Timer/Counter1 Compare Match A / inactive -;reti ; Timer/Counter1 Overflow / inactive -;reti ; Timer/Counter0 Overflow / inactive -;reti ; USART0, Rx Complete / inactive -;reti ; USART0 Data Register Empty / inactive -;reti ; USART0, Tx Complete / inactive -;reti ; Analog Comparator / inactive -;reti ; Pin Change Interrupt Request 0/ inactive -;reti ; Timer/Counter1 Compare Match B / inactive -;reti ; Timer/Counter0 Compare Match A / inactive -;reti ; Timer/Counter0 Compare Match B / inactive -;reti ; USI Start Condition/ inactive -;reti ; USI Overflow / inactive -;reti ; EEPROM Ready/ inactive -;reti ; Watchdog Timer Overflow / inactive -;reti ; Pin Change Interrupt Request 1 / inactive -;reti ; Pin Change Interrupt Request 2 / inactive RESET_vect: ;========================================; ; INITIALIZE STACK POINTER ; ;========================================; - ldi r16, low(RAMEND) - out SPL, r16 + + ldi TEMP_A, low(RAMEND) + out SPL, TEMP_A MCU_INIT: rcall INIT_PORTS ldi DATA, 0b00000001 rjmp LOOP +;========================================; +; MAIN PROGRAM LOOP ; +;========================================; + +LOOP: + rcall TRANSMIT_595 + rcall DELAY + rol DATA + rjmp LOOP + INIT_PORTS: ldi r16, (1<