guten abend ins forum,
habe ein problem mit dem errechnen der periodendauer meines timers, vielleicht kann mir jemand den fehler erlaeutern?
taktfrequenz gesetzt mit sut_cksel auf 4,8Mhz (tiny13)
rechnung 4800000(1/s)/1024=4687,6/255=18,3(1/s) -> T=1/s -> ca 0,054s.
meine led leuchtet jedoch mit ziemlich genau einem hertz bzw 1s pd.
;selbst umgeschrieben von atmega8 -> tiny13
.include "tn13def.inc"
.def temp=r16
.def leds=r17
.org 0x0000
rjmp main ;reset handler
.org ovf0addr
rjmp timer0_overflow ;timer overflow handler
main:
;stackpointer
ldi temp,ramend
out spl, temp
;port b auf ausgang
ldi temp,0xff
out ddrb,temp
ldi leds,0xff
;timer_b config
ldi temp,(1<<cs00)|(0<<cs01)|(1<<cs02) ;teiler setzen
out tccr0b,temp
;timer overflow intr
ldi temp,(1<<toie0)
out timsk0,temp
sei
loop: rjmp loop
timer0_overflow:
out portb,leds
com leds
reti
p.s. beim kopieren des files verschwinden die tab's?
habe ein problem mit dem errechnen der periodendauer meines timers, vielleicht kann mir jemand den fehler erlaeutern?
taktfrequenz gesetzt mit sut_cksel auf 4,8Mhz (tiny13)
rechnung 4800000(1/s)/1024=4687,6/255=18,3(1/s) -> T=1/s -> ca 0,054s.
meine led leuchtet jedoch mit ziemlich genau einem hertz bzw 1s pd.
;selbst umgeschrieben von atmega8 -> tiny13
.include "tn13def.inc"
.def temp=r16
.def leds=r17
.org 0x0000
rjmp main ;reset handler
.org ovf0addr
rjmp timer0_overflow ;timer overflow handler
main:
;stackpointer
ldi temp,ramend
out spl, temp
;port b auf ausgang
ldi temp,0xff
out ddrb,temp
ldi leds,0xff
;timer_b config
ldi temp,(1<<cs00)|(0<<cs01)|(1<<cs02) ;teiler setzen
out tccr0b,temp
;timer overflow intr
ldi temp,(1<<toie0)
out timsk0,temp
sei
loop: rjmp loop
timer0_overflow:
out portb,leds
com leds
reti
p.s. beim kopieren des files verschwinden die tab's?