www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Programmierproblem


Autor: Tutti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute

vielleicht kann mir einer bei meinem kleinen Problem helfen.
Und zwar habe ich verschiedene Ports verwendet, um den Datenbus eines 
Displays anzusteuern also z.B. LCD0 = P4.1,
LCD1 = P4.2, LCD2 = P5.0 usw.
Jetzt möchte ich gerne eine 8 Bit Variable erzeugen, deren
einzelnen Bits für das entsprechende Bit LCD0 bis LCD7 des Datenbusses 
steht. Dann muss einen Zuordnung erfolgen, die den Wert von LCD0 z.B. 
auf den Port P4.1 weitergibt.
Damit könnte ich dann einen Hex Wert der Variable übergeben, wodurch ich 
alle Ports sofort ansprechen kann.
Falls irgendjemand eine Idee hat, wäre ich für einen Code
in C dankbar (Assembler ist nicht brauchbar für mich);
mfg Tutti

Autor: Florian Pfanner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst es mal so probieren:

void output(unsigned char var)
if (var&1)
{
  sbi(Portx,piny);
}
else
{
  cbi(Portx,piny);
}
if (var&(1<<1));
{
  sbi(Portx,piny);
}
else
{
  cbi(Portx,piny);
}
if (var&(1<<2));
{
.
.
.
.
if (var&(1<<7));
{
  sbi(Portx,piny);
}
else
{
  cbi(Portx,piny);
}
}

So in etwa müsste es gehn. Ist zwar gewiss nicht die beste lösung, aber 
müsste gehn.
Für eine elegantere Lösung währe ich auch Dankbar.

Gruß, Florian

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.