Hallo, ich wollte mal nachfragen ob man einen 555 Timerbaustein irgendwie an die XTAL Anschlüsse eines µC als externer Taktgeber anschließen kann ?
Dann schau doch mal ins Datenblatt. Beim ATtiny11 gehts und das ist der kleinste, also sollte es eignetlich bei allen gehen. Die Taktquelle muss an XTAL1- XTAL2 ist NC, also nicht beschalten, aber vielleicht als IO benutzbar. Wie gesagt, schau ins Datenblatt.
Sollte allerdings die CMOS-Version vom 555 sein. Bei der bipolaren Version, also dem klassischen NE555, reichen die Pegel nicht.
>ich wollte mal nachfragen ob man einen 555 Timerbaustein irgendwie an >die XTAL Anschlüsse eines µC als externer Taktgeber anschließen kann ? Was soll das bringen?
Ich wollte es nur mal in Erfahrung bringen ob es überhaupt möglich ist, ich hab keinen verfusten AVR, also das Bauelement kommt also an den XTAL1 dran. Die Sache warum es für mich interessant ist, ist einfach weil ich am 555 die Taktrate einstellen kann, deshalb wollte ich es mal wissen. Ich hab es übrigens gefunden, es steht unter External Clock im Datenblatt des 11er's wenn es das richtige ist. Danke für die schnellen Antworten.
Der 555 ist ein NF-IC, d.h. 32kHz sind kein Problem, aber 8 oder 20MHz, wo sich ein AVR so richtig wohl fühlt, kannste knicken. Nimm besser nen 2.AVR und setze die CLK-out Fuse. Peter
Ich bin kein AVR Profi, ich weiß zwar bissl wie man die Dinger programmiert und einsetzt, aber viele Sachen sind mir noch nicht geläufig (z.B ADC). Ich weiß das mit NF-Bereich der Bausteine, bloß ich brauch ne immer solche hohen Frequenzen, gerade wenn ich Verzögerungen programmiere die auch mal bissl länger sein können macht sich das mit niedrigeren Frequenzen besser (weniger Code). Gibt bei solchen niedrigen Frequenzen Probleme mit dem µC zwecks der Programmausführung ?
Nein, den AVR kannst du auch mit 50Hz betreiben. Nur darf die ISP-Frequenz dann nicht über 12,5Hz liegen. Das Flashen ist dann folglich eher was für sehr geduldige Gemüter. Niedrige Takte kriegt man allerdings auch mit dem externen RC-Oszillator hin, nix anderes als was der 555 macht nur weniger genau und selten verwendet. Und neuere AVRs haben eine programmierbaren Prescaler, der den Takt erheblich reduzieren kann.
Tony G. wrote: > ich Verzögerungen > programmiere die auch mal bissl länger sein können macht sich das mit > niedrigeren Frequenzen besser (weniger Code). Ähm, wenn du der Meinung bist, dass Codegröße und Dauer von irgendwelchen Verzögerungen maßgeblich zusammenhängen, gibt es wohl noch fundamentalen Nachholbedarf bei den eingebauten Timern! Also nix gegen eine Taktrate des µC, die nicht unnötig über dem liegt, was benötigt wird, aber den Controller aus obigem Grund auszubremsen ist schon arg seltsam.
Das heißt immer ein Viertel der Betriebsfrequenz ist die ISP Frequenz, ne programmiert wird ja mit dem Board bloß dort wo der dann zum Schluss eingebaut (Platine) wird könnte eine niedrigere Betriebsfrequenz sein. Ich selber hab ein Evaluationsboard von Pollin, ich weiß das das Ding ne grad gern gesehen ist, aber das STK500 is mir zu teuer und für meine Zwecke reicht das Board allemal zu.
Tony G. wrote: > gerade wenn ich Verzögerungen > programmiere die auch mal bissl länger sein können macht sich das mit > niedrigeren Frequenzen besser (weniger Code). Lach, der Faktor 256 kostet Dich genau ein Register mehr, also 2 Words Code (LDI+SBCI), diese Einsparung läuft unter "merkt absolut niemand". Abgesehen davon macht man lange Delays (>256 Zyklen) besser mit nem Timer. Peter
Hä wie schreibt ihr sowas in Assembler, ich hab mir mal so ein Codegenerator runtergezogen, wo man die Zeit und Taktrate eingibt und dann spuckt das Ding den Code raus, um so länger die Dauer desto länger der Code, deshalb besorgt mich das, wenns anders auch geht, dann schreib mal ein Codebeispiel hin, wie gesagt Assembler is für mich Neuland. Übrigens die Delays sind manchmal länger als eine Sekunde, also viele Zyklen.
Da haperts wieder mit den Englischkenntnissen, aber Groben versteh ichs in etwa, trotzdem Danke erstmal an euch alle für die schnelle Hilfe. Ich müsste sowieso das Tutorial erstmal komplett beenden, ich denk mal das klären sich noch viele Fragen. Ein Frage hätte ich an euch noch, kann man ein ADC auch PC betreiben, weil ich mir eine Temperatursteuerung bauen will die aber ohne PC auskommen soll (Schalten eines Relais in einem Temeperaturbereich).
T. G. wrote: > Hä wie schreibt ihr sowas in Assembler, ich hab mir mal so ein > Codegenerator runtergezogen, wo man die Zeit und Taktrate eingibt und > dann spuckt das Ding den Code raus, um so länger die Dauer desto länger > der Code stimmt, 53 min bei 8MHz benötigen schon riesige 9 Words:
1 | .equ wait = 0xFFFFFFFF ;wait 25769803770 Cycle (53min at 8MHz) |
2 | |
3 | ldi r19, byte4(wait) |
4 | ldi r18, byte3(wait) |
5 | ldi r17, byte2(wait) |
6 | ldi r16, byte1(wait) |
7 | loop: |
8 | subi r16, 1 ; 1 |
9 | sbci r17, 0 ; 1 |
10 | sbci r18, 0 ; 1 |
11 | sbci r19, 0 ; 1 |
12 | brne loop ; 2 = 6 cycle loop time |
Da sind dann schon gewaltige 0,05% Flash beim ATmega32 weg. Peter
Alles klar, also is das Generierungsprogramm einfach nur Mist, was ich hab.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.