mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer programieren?


Autor: Thomas Lehmann (feuerwehr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich möchte einfach nur eine LED an Port D eines ATmega16 zum Blinken 
bringen.

Mit der Manual komm ich nicht zurecht...

Welche Interrupts muß ich freigeben?
Wie Programmier ich den Timer?

Ich programmier in C und will kein Delay-Blinken.

Über eure Hilfe würd ich mich sehr freuen.

Gruß
Thomas

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du mit "Manual" das Datenblatt meinst, dann solltest Du Dir 
vielleicht mal die Tutorials auf dieser Seite (v.a. das 
AVR-GCC-Tutorial) anschauen. Da wirst Du behutsam in die Programmierung 
der AVRs mit all ihren Tücken eingeführt.

Autor: Jörn Paschedag (jonnyp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht kannst du dazu mal ein paar Zahlen rüberwachsen lassen.
Welchen Timer willst du benutzen? Welche Frequenz hat dein Takt? Welche 
Blinkfrequenz wünscht du?? Ahem.. und folge den Vorschlägen von johnny.m

Autor: Thomas Lehmann (feuerwehr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Hilfe,

hab im Tutorial geschaut, und nehm nun Timer0.

Schönen Gruß aus Freiburg
Thomas

Autor: AVRja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, wieder was gelernt....;-)
Erst informieren, dann probieren, dann Fragen stellen!
Mann o Mann!

Autor: Exodus155 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi!

ahja hab auf meinem pc was gefunden:

.include <m8535def.inc>




sbi DDRA, 7


;ZEITSCHLEIFE
ldi R24, 255
ldi R25, 255
ldi R26, 15


;1sek verzögerung:
Zeit1:
inc R16
cp R16, R24
breq Zeit2
rjmp Zeit1

Zeit2:
inc R17
cp R17, R25
breq Zeit3
rjmp Zeit1

Zeit3:
inc R18
cp R18, R26
breq loop
rjmp Zeit1

loop:
clr R16
clr R17
clr R18
sbis DDRA, 7
rjmp ein
rjmp aus


ein:
sbi DDRA, 7
rjmp Zeit1


aus:
cbi DDRA, 7
rjmp Zeit1





FÜR ATMEGA8535 müsste glaub ich auch mit atmega16 gehn probiers mal!

MFG
Exodus

Autor: Exodus155 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ah sorry alle DDRA werden DDRD bitte ändern! willst ja an portd ausgeben 
undnich a!

;-)

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Exodus:
Postest Du alles, was Du so auf Deinem PC findest hier? Schau mal in den 
Betreff. Da geht es um einen Timer und nicht um irgendwelche 
Zeitschleifen. Dein Codeschnipsel hat nichts mit nem Timer zu tun.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, noch was: Wenn Du schon solchen Code postest (auch wenn der OP 
extra darauf hinweist, dass er keine Delay-Schleifen will und außerdem 
in C programmiert), dann schreib doch bitte dabei, mit welcher 
Taktfrequenz das ganze laufen soll. Ohne die Info ist der Code nämlich 
doppelt unsinnig!

Autor: Exodus155 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok sorry leute hab nur mal rumgeschnüffelt! ;-)

MFG Exodus

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.