PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tini26 timer1 und kein ende



magic33
24.02.2007, 17:50
servus freaks

ich bin dabei mich mal in die innereien des tiny26 vorzuwagen

und würde gerne verstehen was da was ist nachn un mehr 3stden ssuche im Forum nicht nur heute ist mir einiges nicht so klar

wenn ich nur port b.3 als oulsgenerator mit dem timer nutzen will verliere ich dann den ganzen port für andere zwecKe

komkret woher oder wie wird der port configuriert damit nur auf diesem port der timer 1 läuft

es gibt ja auch diese compare register zur zeiteinstellung

nehmen wir mal den super bascom befehl config servo
der erzeugt einen puls auf einen angegebenen port als beispiel
dazu nutzt er timer0

wenn ich jetzt eine vergleichbare interrupt service rutine
mit timer1 programmieren will

können doch diese ocr1a und ocr1b diese aufgabe übernehmen

wie müsste da deerrcodeaussehen bitte um hilfe für einen versprengten

danke

TCCR1A sagt was zu tun ist ? laut datenblatt
TCCR1B setzt den prescaller der clock
TCNT1 hat den wert der runtergezählt wird
ocr1A wert für an wenn in tccr1A so gesetzt
ocr1B wert für aus wenn in in tccr1a so gesetzt
OCR1C sollte immer 255 sein

ich blick da einfach nicht durch

GIBT ES EIN PROGRAMM FÜR BASCOM DAS WIE BEI FASTAVR DIE LADEZEITEN FÜR BESTIMMTE ZEITEN UND TIMER BERECHNET

magic33
26.02.2007, 17:17
da niemand antwortet geb ioch mir halt selbst antwort

hier ne lösung


'/////////////////////////////////////////////////////////
'/// BASCOM ISP PROGRAMMER TEST timer1 ///
'/// toggle portb.3
'/////////////////////////////////////////////////////////
$regfile = "AT26def.dat" ' used device
$crystal = 8000000

$hwstack = 32 ' default use 32

$swstack = 10 'default use 10 for

$framesize = 40 'default use 40 for

Config Portb = Output


Led Alias Portb.0


Tccr1a = 17 'toggle ocr1b in pwm mode
Tccr1b = 135 'clock PRESCALE 64 ctc1 an relod nach compare b/c

Ocr1b = 125 'vorlasen servo mitte
Ocr1c = 255 'compare zahl


Enable Interrupts

Do

Wait 2 '' ' ' ' ' ' ' ' ' '
Toggle Led
Ocr1b = 192 '0,5ms servo links

Wait 2
Toggle Led
Ocr1b = 63 '1,5ms servo rechts

Loop

End 'pulsbreite 2ms