Forum: Mikrocontroller und Digitale Elektronik Problem Programm von Tiny 12 auf 13 AVR Studio Timsk // tccr0


von Pckemp (Gast)


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

von spess53 (Gast)


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

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Für zukünftige Fragen -> Datenblatt.

Zu schwer!

von Pckemp (Gast)


Lesenswert?

Hallo,

Vielen Dank Spess, dir Blinkschaltung funktioniert! Zu meiner 
"Verteidigung": Ich hatte den Errorcode gegoogelt, aber keine Lösung 
gefunden.

Grüße, Philipp

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.