Forum: Mikrocontroller und Digitale Elektronik Bascom Dipslay deaktivieren?


von Basti Z. (Firma: elekt) (basito)


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

von Jaecko (Gast)


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}.

von Basti Z. (Firma: elekt) (basito)


Lesenswert?

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

Gruß
Basti

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.