You are on page 1of 2

;

; coba.asm
;
; Created: 12/18/16 7:39:27 PM
; Author : Elena
;

; Replace with your application code


.include "m16def.inc"
;.org 0x0000
.def temp = r16
.def delay1 = r17
.def delay2 = r18
.def delayv = r19
;.equ led = ; PORTD bit number to blink LED on
rjmp main
delay:
clr delay1
clr delay2
ldi delayv, 5
rjmp delay_loop
delayb:
clr delay1
clr delay2
ldi delayv, 2
rjmp delay_loop
delay_loop:
dec delay2
brne delay_loop
dec delay1
brne delay_loop
dec delayv
brne delay_loop
ret ; go back to where we came from

main:
ldi temp,low(RAMEND)
out SPL,temp
ldi temp,high(RAMEND)
out SPH,temp
ldi r20, 0xff
out DDRB, r20 ; connect PORTD pin 4 to LED
rjmp set_angka
blink:
ldi r20, 0xff
out portb, r20
rcall delayb
ldi r20, 0x00
out portb, r20
ldi r23, 4
dec r23
brne blink
set_angka:
ldi r21, 0
loop:
out PORTB, r21 ; turn PD4 high
rcall delay
inc r21 ; delay for an short bit
cpi r21, 16
breq blink
;out PORTB, delayv ; turn PD4 low
;rcall delay ; delay again for a short bit
rjmp loop ; recurse back to the head of loop

You might also like