www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Komisches Verhalten von leds/taster


Autor: Rene Mayer (gozu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich benutze das STK500 board und einen atmega8 mikrocontroller. Habe 
zuerst ein Programm geschrieben, beidem einfach nur alle LEDS 
eingeschalten werden sollen, allerdings leuchteten die LEDs 6 und 7 
nicht. (Habe PORTB und PORTC benutzt). Als ich dann anschließend PortD 
benutzt habe, ging es wieder. Heißt das, dass ich jetzt nur noch PortD 
benutzen kann? Das kann es ja nicht sein oder?
Danach habe ich noch ein kleines Testprogramm geschrieben, beidem über 
PortB die Taster abgefragt werden und anschließend über PortD auf die 
LEDs ausgegeben werden. Also wenn man einen Taster drückt, soll die 
Lampe leuchten, solange man gedrückt hält. Hier hat es wiederrum nur bei 
den LEDs 0-5 funktioniert, LED 6 leuchtete die ganze Zeit und LED 7 
überhaupt nicht?
Hab mir schon die Userguid vom STK500 durchgelesen, das Datenblatt vom 
atmega8 und auch schon hier im Forum gesucht, allerdings ergebnislos. 
(Ok habe irgendwo den Tipp gefunden, dass PortB nicht funktioniert und 
ich deshalb einen anderen nehmen soll, aber warum funktioniert dann 
PortC auch nicht und was soll das Verhalten bei meinem zweiten 
Programm?)

Wäre wirklich froh, wenn mir jemand da helfen könnte! Danke schonmal.

edit: Habe noch 2 Versionen hierzu:

.include "m8def.inc"

    ldi r16,0x00
    out DDRC, r16  ; C als Eingang

    ldi r16, 0xFF
    out DDRD, r16  ; D als Ausgang

    out PortD, r16  ; Alle Lampen aus

loop:
    in r16, PinC  ; PinC einlesen
    com r16      ;r16 invertieren
    out PortD, r16  ; Lampen ein
    rjmp loop

Der einzige Unterschied von dem Programm zu dem vorigen ist, dass das 
com dabei ist. Wenn ich das mit PortC starte, leuchten wieder LED 0-5 
und 6 und 7 nicht. Starte ich das gleiche Programm aber mit PortB 
leuchten alle LEDs, 0-5 kann man ausschalten, aber 6 und 7 nicht?
Bin wirklich gerade ein bisschen verwirrt

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
an portb.6 und port.b7 wird der quarz angehängt, hast du deinen uC auf 
externen takt laufen?

portc.6 ist der reset-pin, musst also auf fuse setzen um den verwenden 
zu können

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau Dir mal das Datenblatt vom M8 an. Vorallem welche Pins
von welchem Port rausgeführt sind und welche durch das STK
belegt sein könnten.

Dann kommst Du selbst drauf. :)

Autor: Rene Mayer (gozu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok danke schonmal, jetzt weiß ich zumindest schonmal warum es nicht 
funktioniert. Ich muss also die clock selection fuse settings ändern und 
die RSTDISBL settings ändern, aber wo geht das? Wenn ich zu dem 
mikrocontroller connecte steht unter dem Registerpunkt Fuses nichts von 
diesen settings ( benutze das AVR Studio ). Mit den Jumpersettings hat 
das nichts zu tun oder?

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>RSTDISBL

wags Dir! (Finger weg!!!!)

Erst wenn Du  Dir das Kapitel HV-Prog duchgelesen und
verstanden hast kann Du damit anfangen!

Autor: Rene Mayer (gozu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tut mir leid, wenn ich gerade ein wenig Begriffsstüzig bin, aber was ist 
das HV-Prog Kapitel?
Und meine Frage besteht weiter: Wo kann ich die Fuses ändern ( jetzt 
speziell clock selection fuse )

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

Bewertung
0 lesenswert
nicht lesenswert
Frage 1: Kapitel 3.7.2.1
Frage 2: Anhang

wenn Du bei RSTDISBL eine Haken machst kanns Du ISP nicht mehr nutzen!
das heißt er läst sich auf dem Weg den Du jetzt nutzt nicht mehr
programmieren!!!!

Autor: Rene Mayer (gozu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok soweit hab ichs schonmal verstanden, dann würde ich das ganze 
wahrscheinlich mit high voltage programmieren müssen. (Ok jetzt weiß ich 
auch was hv ist :D ).
Trotzdem weiß ich immer noch nicht, was ich aktivieren bzw. deaktivieren 
muss, damit ich von PortB die Pins 6 und 7 benutzen kann.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
man nun stell Dich nicht so an.

(XTAL1/TOSC1) PB6
(XTAL2/TOSC2) PB7

sind für den Prog. Takt vorbelegt und auf dem STK in ISP-Mode
nicht nutzbar!

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Quatsch!

bitte streichen:

>man nun stell Dich nicht so an.

>(XTAL1/TOSC1) PB6
>(XTAL2/TOSC2) PB7

>sind für den Prog. Takt vorbelegt und auf dem STK in ISP-Mode
>nicht nutzbar!

Der Prog. Takt kommt über PB5(SCK).
Hab jetzt hin und her probiert mit OSCSEL und XTAL1
BP6+7 lässt sich nicht nutzen!

Hab jetzt mal das STK "durchgeklingelt"!

Pin 9 und 10 des M8 sind garnicht mit den Pfostensteckern von
PB6 und PB7 auf dem STK verbunden!

( Design Fehler oder bewußt ? )

jetzt wirds interessant!

Klaus

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

Bewertung
0 lesenswert
nicht lesenswert
Klaus wrote:
> Pin 9 und 10 des M8 sind garnicht mit den Pfostensteckern von
> PB6 und PB7 auf dem STK verbunden!
>
> ( Design Fehler oder bewußt ? )
Steht sogar im Manual des STK500. Die liegen auf dem PORTE/AUX-Header 
(und zwar, o Wunder, an XTAL1 und 2), weil sie nunmal primär mit 
Sonderfunktionen belegt sind!

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Herzlichen Dank Johannes M.

Klaus

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.