www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega8 PORTB als Ausgang schalten


Autor: Manfred Steinbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
Habe einen ATmega8 und das STK500. Wenn ich den PORTB als Ausgang
einstelle und 0x00 ausgebe müssten die LED´s 0-7 leuchten.
Es leuchten jedoch nur die LED´s 0-5.

ser r16
out DDRB,r16   ;Ausgang
ldi r16,0x00
out PORTB,r16  ;LED 0-5 leuchten!!!!

Liegt´s vielleicht an der Mehrfachfunktion der Bits 6 und 7 im Port B
???. Wenn ja, wie kann man alle 8 Bit des Ports als Ausgänge
programmieren ???
Bin für jede Antwort dankbar.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

PB.6 und PB.7 dienen auch als Anschluß für einen externen Quarz. Hast
du die Fuses evtl. falsch programmiert ?

Gruß
Thorsten

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Anschlüsse für XTAL und Reset sind auf Stecker E gelegt.

Wenn man die auch benutzen will, muß man erst die entsprechenden Jumper
abziehen, sonst gibts Kurzschlüsse !


Peter

Autor: Manfred Steinbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal
@Thorsten: Die Fuse Bits müssten richtig sein: Boot Flash section 128
words
Brown out detection level at VCC=2,7V
Int. RC Oszill. 1MHz [CKSEL=0001 SUT=00]
@Peter: Auf dem Board sind die Jumper AREF, RESET, XTAL1 und OSCSEL
nicht gesetzt.
Merkwürdig auch, das bei dieser Konfiguration beim Betätigen des
RESET-Tasters das Programm scheinbar zurückgesetzt wird(alle LED sind
aus, solange der Taster gedrückt ist). Die beiden LED`s an PB6 und PB7
lassen sich jedoch immer noch nicht ansprechen.

Weis jemand Rat???

MfG
Manfred

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt, die beiden LEDs mußt Du mit Port E XTAL1/XTAL2 verbinden.

Peter

Autor: Manfred Steinbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank Peter für die Erklärung. So langsam dämmerts mir.
Gibts dafür eigentlich eine Regel, oder muß man am besten jeden Pin mit
dem Durchgangsprüfer verfolgen? Oder habe ich vielleicht im Handbuch
was überlesen . . . Das Problem stellt sich ja auch bei anderen Pins.
Jedenfalls nochmal danke für die Denkanstösse.

mfg

Manfred

Autor: Izoard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, habe genau das gleiche Problem!

Wieso sind die LED6 und LED7 nicht mit dem PortB verbunden? und wo kann
man das nachlesen, weiss das wirklich niemand?

Autor: mmerten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal die Help-Dateien zum AVR Studio an

Autor: Izoard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry! Habe jetzt die gesamte Dokumentation des STK 500 Board
durchgelesen! In der Help Datei des AVR-Studios wird das wohl nicht
stehen? oder doch?

Autor: mmerten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Izoard
Die gedruckte Doku bzw. das PDF Dokument enthält nicht alle aktuellen
Ergänzungen zu den neueren MEGA Prozessoren bzw. die u.U. erforderliche
"Sonderverkabelung". Anscheinend pflegt ATMEL diese Informationen nur
im HELP-File.

Autor: Jogi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen
Ich habe ein Problem mit dem Atmega 128 da mache ich nun seid Tagen rum
und komme nicht weiter.
Bis ich diesen Eintrag von Dir gefunden habe.
Jetzt habe ich folgende Frage wie ist das gemeint Boot Flash section
und wo mus ich das reinschreiben. In meinem fall habe ich ein 16Mhz
Quartz anzusprechen.
Ich verwende ein selbstentwickeldes Board mit dem JTAG Interface über
das AVR Studio 4 habe ich diese Einstellungen versucht aber es
erscheint nicht das menü für die Fusebits Einstellung wie beim STK 500
+ 501 das ich schon vorher verwendet hatte.
Das AVR Studio bringt mir auch folgend Warnungen mit igendwelchen
Vektor Adressen kennst Du Dich damit auch aus.
@Thorsten: Die Fuse Bits müssten richtig sein: Boot Flash section 128
words
Brown out detection level at VCC=2,7V
Int. RC Oszill. 1MHz [CKSEL=0001 SUT=00]
@Peter: Auf dem Board sind die Jumper AREF, RESET, XTAL1 und OSCSEL
nicht gesetzt.
MFG Jogi

Autor: dr.unheil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe einen ATmega8 und das STK500 und möchte einen Eingang mit nur 
einem Taster ein und danach wieder ausschalten aber ich bin leider 
absoluter Anfänger was Controller angeht.
Kann mir vielleicht wer helfen ?
Später möchte ich den Ablauf noch Zeitabhängig haben.... aber ich wäre 
schon froh wenn ich erst einmal den Anfang finden würde.
Ach ja und ich möchte in C programmieren... ist zwar schon lange her, 
aber das klappt bestimmt bald wieder.

Vielen Dank !

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: M. H. (doktorgnadenlos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
als Ausgang schalten :
DDRB |= (1<<PIN0)

als Eingang schalten :
DDRB &= ~(1<<PIN0)

(Das entspricht
DDRB |= 0x01;
DDRB &= ~0x01;)


Um den Ausgang aktiv auf HIGH zu schalten :
PORTB |= (1<<PIN0)

Um den Ausgang aktiv auf LOW zu schalten :
PORTB &= ~(1<<PIN0)

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.