Forum: Mikrocontroller und Digitale Elektronik ATmega32 Beschaltung? PonyProgProbleme


von N00b (Gast)


Angehängte Dateien:

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.
1
.NOLIST
2
.INCLUDE "m32def.inc"
3
.LIST
4
5
.DEF   mp = R16
6
7
RJMP   main
8
9
main:
10
11
LDI   mp,0b11111111
12
13
OUT   DDRB,mp
14
15
loop:
16
   LDI   mp,0x00
17
   OUT   PORTB,mp
18
19
   LDI   mp,0xFF
20
   OUT   PORTB,mp
21
22
   RJMP   loop

von Otto (Gast)


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

von Otto (Gast)


Lesenswert?

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

von N00b (Gast)


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?

von Otto (Gast)


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

von N00b (Gast)


Lesenswert?

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

von N00b (Gast)


Lesenswert?

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

von Otto (Gast)


Lesenswert?

Stack:
======

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

Verzögerung:
============
1
Wait:    ldi temp3,5      
2
         clr temp2
3
         clr temp1      
4
5
wait1s:  dec  temp1
6
  brne wait1s
7
  dec  temp2    
8
  brne wait1s
9
  dec  temp3
10
  brne wait1s
11
12
  ret

von Otto (Gast)


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.....

von Johannes M. (johnny-m)


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.

von N00b (Gast)


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...

von Otto (Gast)


Lesenswert?

dann beantworte es doch.....

von N00b (Gast)


Lesenswert?

ja dann warte ma noch kurz ...

von Hannes Lux (Gast)


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.

...

von Oliver (Gast)


Lesenswert?

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

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
Noch kein Account? Hier anmelden.