mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bascom Dipslay deaktivieren?


Autor: Basti Z, (Firma: elekt) (basito)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Ich habe ein Programm für einen ATMEGA8 in Bascome geschrieben. Dabei 
teilt sich der Atmega mit einem PIC16F84 (für den ich keinen Quellcode 
habe)ein LCD Display. Die Schaltung mit dem PIC 16F84 wird nicht sehr 
oft beötigt und nur bei bedarf eingeschaltet. Der Atmega8 soll aber 
dauerhaft laufen um Messwerte aufzuzeichnen. Da ich das ganze in einem 
kleinen Gehäuse habe und nur ein Display für beide Schaltungen verwenden 
möchte habe ich (da der ATMEGA dauerhaft läuft) Ihn mit einem 74HCT245 
vom Display getrent damit er nur mit dem Display verbunden ist, wenn die 
Schaltung mit dem PIC16F84 aus ist. Das ganze klappt auch ganz gut aber 
nun würde ich gerne den 74HCT245 einsparen, da ich den PORT am Atmega 
gebrauchen könnte und den Platz für den 74HTC245 in meinem kleinen 
Gehäuse auch eher für ein EEPROM brauche.

Daher meine Frage wie kann ich in Bascom die PORTS an dem das Display 
hängt für die Zeit in der das Display am ATMGEA8 nicht gebraucht wird 
als Eingang (hochohmig) schalten damit es den PIC 16F84 nicht 
beeinflusst?

Oder gibt es da keine (softwareseitige) Lösung?

Gruß
Basito

Autor: Jaecko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest versuchen, alle Pins des LCD einfach als Input zu setzen.
Dann sind die hochohmig und der PIC kann in Ruhe senden.
Problem dürfte dabei aber sein:
Auch hochohmig verursachen die Pins vom AVR dann Pegeländerungen durch 
den internen Pullup. Es ist zwar nicht viel genug um ne LED zu schalten, 
aber dennoch viel genug, um z.B. Transistoren durchzuschalten.
(Hab ich mal bei ner H-Brücke erfahren; ideal wenn man DDR und PORT 
vertauscht und dann alle Transistoren durchschalten brzzl...)
Kann also sein, dass das Display auch auf diese schwachen "hochohmigen" 
Signale reagiert.

Am einfachsten wär da ne softwaretechnische Lösung mit ner Variable.
Also IF LCDAusgabe = 1 Then {Pins = Ausgang, Ausgaben machen} else {Pins 
= Eingang}.

Autor: Basti Z, (Firma: elekt) (basito)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke,
das setzen als Eingang funktioniert wunderbar! Manchmal ist die Lösung 
so einfach :)

Gruß
Basti

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.