Departament de Microelectrònica i Sistemes Electrònics

AVR i FONAMENTS DE COMPUTADORS
Enginyeria en Informàtica (ETSE)

exemples - 1ª rutina de retard





.INCLUDE "m8def.inc"
.DEF n1 = R16
.DEF n2 = R17
.ORG 0x0
     rjmp inici ; rutina d'inici del programa

inici: ldi n1,LOW(RAMEND)
     out SPL,n1
     ldi n1,HIGH(RAMEND)
     out SPH,n1
     sbi DDRB,0 ; inicialitzar PORTB.0
     ldi n1, 40 ; (256-216)
     ldi n2, 0

main: cbi PORTB,0
     rcall wait
     sbi PORTB,0
     rcall wait
     rjmp main

wait:ldi n2, 0
     bucle2:ldi n1, 40
     bucle1:inc r16
     brne bucle1
     inc r17
     brne bucle2
     ret

; FREQ 3Hz AMB DOBLE ANIDAMENT
; Joan Oliver
; Universitat Autònoma de Barcelona
; Port de sortida PORTD.0

; declaració de registres

; salt a inici de programa

; -------INICI PROGRAMA ---------------------------
; setup del stack



; posar PORTB0 com a sortida
; inicialitzar PORTB.0
;-------PROGRAMA PRINCIPAL--------------------------------------------
; sortida a 0
; crida retard
; sortida a 1
; crida retard
; tornar a programa principal
;-------ESPERA--------------------------------------------------------
; bucle de retard





WcN - AVR i Fonaments de computadors -> Exemples -> 1ª rutina de retard