mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega32 Beschaltung? PonyProgProbleme


Autor: N00b (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi all,
naja bin ein ziemlicher Anfänger und habe schlechte englisch Kentnisse.
Mein Problem ist dass die LEDs nicht blinken.
Das ist das folgende Beispiel Programm was ich hoffentlich richtig auf 
mein ATmega32 gebrannt habe über Ponyprog. Kann mir da jemand noch die 
richtigen einstellungen nennen? Ich habe einen Seriellen Anschluss 
benutzt.

Das Problem jetzt, wie beschalte ich das ATmega32? Habe mal im Anhang 
den unfertigen Schaltplan angefügt.
.NOLIST
.INCLUDE "m32def.inc"
.LIST

.DEF   mp = R16

RJMP   main

main:

LDI   mp,0b11111111

OUT   DDRB,mp

loop:
   LDI   mp,0x00
   OUT   PORTB,mp

   LDI   mp,0xFF
   OUT   PORTB,mp

   RJMP   loop

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VCC   muss an +5V
AVCC  dito
Reset über einen 1k-Widerstand an +5V

Es hat mehrere Ursachen, dass die LED trotzdem nicht blinkt:

1. Stack-Pointer nicht initialisiert
2. keine Verzögerung - Deine LED blinkt mit ungefähr 500kHz

Lies bitte das AVR-Tutorium (siehe Link links oben)

Otto

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und die LED umdrehen und die Kathode dann an Masse (GND)

Autor: N00b (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich meinte, wohin muss dann das ? hin? als das Teil was vom Pin weg 
führt.
Müss ich nen Stack-Pointer initialisieren?
Meinet wegen soll es nicht blinken sondern dauernd an sein, brauch ich 
dann auch nen Stack-Pointer?
Wofür ist das Reset gut?

Aber Hauptfrage noch, wohin muss das Fragezeichen hin?

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem Fragezeichen müsste an +5V aber:

1. schaltet man eine LED (Anode) eher vom Portpin gegen GND (Kathode)
2. Läuft ohne Reset und Initialisierung des Stack sowieso nichts

Autor: N00b (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das mit der LEd kann ich ja einfach testen. Also dann das Fragezeichen 
auch an die gleiche +5V des Netzgerätes?

Autor: N00b (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
weil einmal sagste an GND und einmal an +5V...an was denn nun?

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stack:
======

ldi temp, LOW(RAMEND)  ;STACK initialisieren
out SPL, temp
ldi temp, HIGH(RAMEND)
out SPH, temp

Verzögerung:
============

Wait:    ldi temp3,5      
         clr temp2
         clr temp1      

wait1s:  dec  temp1
  brne wait1s
  dec  temp2    
  brne wait1s
  dec  temp3
  brne wait1s

  ret


Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
erst sage ich:

Und die LED umdrehen und die Kathode dann an Masse (GND)

und weil Du das scheinbar nicht willst:

Aber Hauptfrage noch, wohin muss das Fragezeichen hin?

weil einmal sagste an GND und einmal an +5V...an was denn nun?

und jetzt sieh zu, wie Du klar kommst.....

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Stack Pointer sollte man zwar immer initialisieren (es sei denn, 
man hat einen AVR, der das automatisch macht, was auf den Mega32 aber 
nicht zutrifft). Allerdings spielt es im Beispiel oben keine Rolle, weil 
weder calls noch Interrupts verwendet werden.

Generell ist das AVR-Tutorial die Anlaufstelle Nummer 1 für 
Anfänger.

Autor: N00b (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja im tutorial steht aber nicht wie ich etwas wie genau beschalte :/ 
habe das vom www.avr-asm-tutorial.net versucht....und der AVR-Tutorial 
gab keine Antwort zur Beschaltung...Ich weis jeder MC ist anders aber 
wohin sollte das Fragezeichen hin, und das dürfte wohl ja nicht schwer 
zu beantworten sein...

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann beantworte es doch.....

Autor: N00b (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja dann warte ma noch kurz ...

Autor: Hannes Lux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ja im tutorial steht aber nicht wie ich etwas wie genau beschalte

Nunja, wenn Dir die Informationen der Tutorien nicht reichen, dann 
kannst Du ja mal bei ATMEL nachschaun, da gibt es neben den 
Datenblättern noch eine Menge AVR-AppNotes. Bei den AppNotes sind auch 
welche zum Thema Beschaltung dabei, wobei das aber auch im Datenblatt zu 
finden ist.

Man sollte allerdings schon über etwas Elektronik-Grundlagenwissen 
verfügen, ehe man eigene Schaltungen designt. Es bringt nix, sich als 
Dichter betätigen zu wollen, bevor man das Alphabet und die Sprache 
gelernt hat.

...

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Fragezeichen an 5V. [[http://www.mikrocontroller.net/articles/LED]]

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.