mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Attiny 12


Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grüß Euch!

Wie kann ich denn den "Internal Rc Oscillator" bei einem Attiny 12
mit BASCOM einschalten und kallibrieren?

Kann mir da jamand helfen?
Aus dem Datenblatt
(www.reichelt.de/inhalt.html?SID=15psGhH6wQAREAAHdHWog69c7a9431da259d1c9 
390c08d5f64f08;ACTION=7;LASTACTION=6;SORT=artikel.artnr;GRUPPE=A362;WG=0 
;SUCHE=attiny%2012;ARTIKEL=ATTINY%252012%2520DIP;START=0;END=16;STATIC=0 
;FC=669;PROVID=0;TITEL=0;DATASHEETSEARCH=ATTINY%2012%20DIP;FOLDER=A300;F 
ILE=ATTINY11_ATTINY12%2523ATM.pdf;DOWNLOADTYP=1;DATASHEETAUTO=;OPEN=1)
werd ich leider nicht ganz schlau, bin ja noch Anfänger, hatte bisher
nur Erfahrung mit dem 90S2313.

Danke schon mal!

PS: Ich programmiere derzeit leider noch auschließlich mit BASCOM, wäre
schon wenn sich also die Antowrten nur auf BASCOM beziehen würden,Danke.

Autor: Niels Huesken (monarch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Internen RC_oszillator kann wohl nur durch programmieren der
fuse-bits anschmeissen. Dieser ist aber default-mässig aktiviert, wenn
du CKSEL0..3 noch nicht angefasst hast.

Der interne oszillator soll mit 1.2MHZ laufen, und kann über die
OSCAL-Variable innerhalb von 1% kalibiert werden. Ich würde einfach mit
einem Timer alle 256 Takte einen OverflowInterrupt generieren, in dem
ich den Pegel eines Portpins ändere. Mit einem Frequenzzähler kann man
dann bestimmen, ob der Takt stimmt, oder nicht.

Allerdings sind die Internen RC-Oszillatoren nicht besonders
temperaturstabil. Eine Uhr würde ich damit nicht programmieren ;)

Autor: Hannes Lux (hannes)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Der interne RC-Oszillator ist beim neuen Tiny12 aktiviert.

Das Calibrationsbyte steht im H-Byte der Adresse 0 des
Signature-Bereiches und kann mit einschlägigen ISP-Programmen
ausgelesen werden.

Beim neuen AVR steht das Calibrationsbyte zusätzlich im H- und L-Byte
der letzten Speicherzelle (Word) des Flash-Speichers, wird aber beim
ersten Löschen mit gelöscht.

Deshalb nutze ich diese Variante auch, mein ISP-Programm liest bei
jedem Löschen automatisch das Calibrationsbyte aus dem
Signature-Bereich und schreibt es ins L-Byte der letzten Flash-Zelle.
Dort wird es von der Calibrationsroutine (Anhang), die Bestandteil der
Reset-Routine ist, bei jedem AVR-Reset per LPM ausgelesen und ins
OSCCAL-Register geschrieben.

BASCOM halte ich für relativ ungeeignet, den Tiny12/15 sinvoll zu
programmieren. Die Architektur dieser Tinys ist so überschaubar, dass
sie das ideale Einsteigerobjekt für ASM sind. Als Informationsquellen
reichen dann das Datenblatt und die Onlinehilfe des Freeware-Programms
AVR-Studio4 von ATMEL.

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.