www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Sinnvolle Pinbelegung vom Mega8 mit LCD und ADC


Autor: Bastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte mit dem Codevision C Compiler ein kleines Programm
schreiben, welches mehrere ADCs und ein LCD verwenden soll.
Dazu möchte ich die lcd.h benuten.
Diese lcd.h benötigt allerdings einen 8 Bit Port.
Allerdings fällt mir kleine Lösung ein, welchen ich da nehmen soll.
PortB (PB8 und PB7) ist durch das Quarz belegt und PortC ist durch die
ADCs belegt.

Mache ich da einen Denkfehler, oder geht das wirklich nicht so einfach?

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst ja kein 8Bit Port verwenden. Wuerde ich sogar im leben nicht
machen, eben deshalb weil du dann unnuetz Beine verschwendest. Die
Controller kennen auch einen 4Bit Mode. Allerdings brauchst du noch
wenigstens zwei Steuerleitungen, unter 6Pins wirst du es nicht
schaffen.

Ich verwende daher gerne eine andere Loesung. Bau dir eine kleine
Platine mit einem Display und einem PCF8574. Das ist ein I2C nach
Parallel Wandler. Daran verwendest du dann das Display im 4Bit Mode.
Dir bleiben dann immer noch zwei Bits die du entweder fuer zwei Taster
oder zum einschalten der Displaybeleuchtung verwenden kannst.

Sowas habe ich immer rumliegen und kann es ganz nach Bedarf an jedem
meiner Controller anstecken. Selbst wenn die fertige Schaltung spaeter
kein LCD braucht, es ist fuer die Fehlersuche immer ganz praktisch wenn
man zwischendurch mal was ausgeben kann.

Und wenn ich mal nur sehr geringe Ansprueche habe dann stecke ich an
denselben Port einfach ein DSM-822 von Pollin dran und stelle den
Source kurz um.

Olaf

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Andreas Niermann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siehe Beitrag von Peter Dannegger in der Codesammlung für eine
Temperaturmessung mit DS.... Er verwendet ein Schieberegister 74HC164
und braucht dann nur 3 Ports beim AVR. Ich habe es auch mit dem 74HC589
hinbekommen. Der PCF8574 wäre mir zu teuer...

Gruß

Autor: Bastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Antworten.
Es ging mir halt darum, möglichst einfach in die C Programmierung mit
dem AVR einzusteigen und daher wollte ich zuerst den fertigen lcd.h
benutzen.

Später möchte ich was mit I²C machen, aber für den Einstieg wollte ich
alles möglichst übersichtlich halten.

Der Link von crazy horse scheint genau die Lösung zu sein. Ich werde
das mal versuchen.

Autor: crazy horse (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
sehe gerade, dass die Dateien gar nicht dabei waren - hat wohl gar
keinen interressiert :-)

Autor: crazy horse (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und die headerdatei.
die .h Datei ins inc-Verzeichnis, die .lib-Datei ins lib-Verzeichnis.
im Programm dann
#include <lcd_split.h>

Autor: crazy horse (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
wird Zeit für die Mittagspause :-(

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habs auch mal mit einem seriellen Schieberegister gemacht, weiss
garnicht mehr genau welches. Geht natuerlich auch.

Wichtig ist nur das man sich eine Funktion write_byte() schreibt auf
die dann alle anderen Libaryfunktionen aufsetzen. Wenn du dann naemlich
ein Schieberegister nimmst ruft die deine Funktion fuers Schiebereigster
auf, wenn du das Dingen direkt angeschlossen hast dann gibt es die Daten
eben nur so aus. Haengt es an einen Mega8 wird das eingebaute I2C
benutzt und soll es auf einem 90S2313 laufen dann wird I2C in Software
implementiert.
So kann man seine Arbeit immer weiterverwenden weil du immer nur eine
Funktion aendern musst.

Olaf

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.