Problem Programm von Tiny 12 auf 13 AVR Studio Timsk // tccr0

Gast #1355498
Lesenswert?

Hallo Zusammen,

ich wollt's mir einfach machen. Ich habe noch Tiny 13er zuhause und 
wollte folgendes Programm im Tiny 13 nutzen. bei der Compilierung kommen 
aber die Fehler:

-- error: Undefined symbol: timsk
und
-- error: Undefined symbol: tccr0

Da ich von Assembler nun mal so gar keine Ahnung habe, bitte ich Euch um 
Hilfe.

Vielen Dank im vorraus, Philipp

Code:
;PWM Rotationsblinklicht auf PB1 und PB2


.include "tn13def.inc" ; war vormals tn12def.inc

.def temp1=r16
.def pwmvalue1 = r17
.def pwmvalue2 = r18
.def pwmcount = r19
.def output = r20
.def swcount1 = r21
.def swcount2 = r22

.equ EE_OSCCAL = $3f

.org $0000
rjmp reset
;timer overflow interrut handler
.org OVF0Addr
rjmp OVF0Handler

reset:
;set Clock frequency
ldi temp1,EE_OSCCAL
rcall readeeprom
cpi temp1,$00
breq ignoreosccal
cpi temp1,$ff
breq ignoreosccal
out osccal,temp1
ignoreosccal:
ldi temp1,$07
out ddrb,temp1

;Timer zurücksetzen
clr temp1
out tcnt0,temp1

;Timer interrupts an
ldi temp1,(1<<toie0)
out timsk,temp1; <-- Fehler

;Timer starten
ldi temp1,0b00000011
out tccr0,temp1 ;<--FEHLER
ldi pwmcount,$00
ldi pwmvalue1,$ff
ldi pwmvalue2,$ff
clr swcount1
ldi swcount2,$10
sei

loop:
ldi output,$07
inc pwmcount
cp pwmvalue1,pwmcount
brsh makeoutput2
andi output,$04
makeoutput2:
cp pwmvalue2,pwmcount
brsh writeoutput
andi output,$02
writeoutput:
out portb,output
rjmp loop

OVF0Handler:
in r1,sreg
ldi zh,high(lpmtable1<<1)
ldi zl,low(lpmtable1<<1)
add zl,swcount1
ldi temp1,$00
adc zh,temp1
lpm
com r0
mov pwmvalue1,r0

ldi zh,high(lpmtable2<<1)
ldi zl,low(lpmtable2<<1)
add zl,swcount2
ldi temp1,$00
adc zh,temp1

lpm
com r0
mov pwmvalue2,r0
inc swcount1
cpi swcount1,$3f
brne noreset1
clr swcount1
noreset1:
inc swcount2
cpi swcount2,$3e
brne noinc
clr swcount2

noinc:
exitovf0handler:
out sreg,r1
reti

readeeprom:
sbic eecr,eewe
rjmp readeeprom
out eear,temp1
sbi eecr,eere
in temp1,eedr
ret

lpmtable1:
.db $01,$02,$04,$08,$10,$20,$40,$80
.db $ff,$ff,$f0,$80,$20,$10,$ff,$80
.db $60,$50,$40,$30,$20,$10,$08,$07
.db $04,$02,$01,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00

lpmtable2:
.db $01,$02,$04,$08,$10,$20,$40,$80
.db $ff,$b0,$ff,$80,$20,$80,$b0,$80
.db $60,$50,$40,$30,$20,$10,$08,$07
.db $04,$02,$01,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00
Gast #1355510
Lesenswert?

Hi

>Da ich von Assembler nun mal so gar keine Ahnung habe, bitte ich Euch um
>Hilfe.

Das hat nichts mit Assembler zu tun. Der ATTiny13 hat kein 
TIMSK-Register. das heisst dort TIMSK0. Und auch kein TCCR0, sondern 
TCCR0A und TCCR0B. Da in deinem Fall nur der Vorteiler gesetzt wird 
->TCCR0B.
Für zukünftige Fragen -> Datenblatt.

MfG Spess

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren