.INCLUDE "m168def.inc"
		
.dseg 
.org $120
tabla7seg: .byte 16  //reservo espacio para la tabla de 7 segmentos

.cseg

//inicializo tabla

call inicializa_tabla


		ldi r16,$ff
		out ddrb, r16
		cbi ddrd,5   //uso este pin porque es T1, lo usaré de reloj del timer
		sbi portd,5

		clr r16
		sts tcnt1h,r16
		sts tcnt1l,r16

		ldi r16,0b00000110 // reloj en T1 con flaco de bajada y cuenta normal
		sts tccr1b,r16


bucle:	lds r0,tcnt1l
		call display
		jmp bucle


display:    // saca el 7-segmentos de R0 por el puerto
		mov r16,r0
		cpi r16,9
		brpl poner_U
		ldi zl, low(tabla7seg)
		ldi zh, high(tabla7seg)
		add zl,r0
		ld r16,z
		out portb,r16
		ret

poner_U: ldi r16,0x3d
		 out portb,r16
		 ret


inicializa_tabla:
		
ldi zl, low(tabla7seg)
ldi zh, high(tabla7seg)

ldi r16,0b00111111
st z+,r16
ldi r16,0x06
st z+, r16
ldi r16,0x5b
st z+, r16
ldi r16,0x4f
st z+, r16
ldi r16,0x66
st z+, r16
ldi r16,0x6d
st z+, r16
ldi r16,0x7d
st z+, r16
ldi r16,0x07
st z+, r16
ldi r16,0x7f
st z+, r16
ldi r16,0x67
st z+, r16	
ret	
		
