Forum: Mikrocontroller und Digitale Elektronik Doppelnutzung der Ports


von Helmut Hofmann (Gast)


Lesenswert?

Hallo,
ich möchte mit einem AT90S4433 und einem LCD-Display (2x16) eine Uhr 
realisieren.
Die Zeitimpulse möchte ich entweder mit einem externen Zeitgeber über 
INT0 oder INT1 aufnehmen .Bei externer Impulsaufnahme bräuchte ich die 
Eingänge INT0 oder INT1.Diese werden aber schon durch das LCD-Display 
als Ausgänge (PD2 und PD3)  gebraucht.Gibt es die Möglichkeit der 
Doppelnutzung der Ports PD2(INT0) und PD3(INT1)? oder muß ich den Takt 
intern erzeugen?.


Gruß Helmut

von Reiner (Gast)


Lesenswert?

Das sieht nach Konflikten aus. Selbst wenn Du da 'ne Lösung für findest, 
wirst Du wahrscheinlich schwer nachvollziehen können wenn mal was 
danebengeht wo es denn herkam. War's das Display das den Interrupt 
auslöste oder kam's vom Zeitgeber. Ich würd's lassen. Nutze doch den 
32kHz Oszillator im Interruptbetrieb, oder Taste doch das Signal einfach 
ab, wenn die Sekunde man ein paar microsekunden danebenliegt ist es ja 
nicht schlimm - meist nicht.

Reiner

von Peter D. (peda)


Lesenswert?

Ein externer Uhrenchip macht nur Sinn, wenn es auf geringste 
Stromaufnahme bei Batteriebetrieb ankommt.

Ansonsten freut sich einer der internen Timer, wenn er zu was nütze ist. 
Will sagen, es ist einfacher mit dem Timer und ein paar Bytes die Zeit 
zu zählen, als irgendwelche Protokolle von Uhrenchips zu
verstehen.

Ich bin z.B. gerade dabei, mir am DS1994 die Zähne auszubeißen.


Wenns aber darum geht, einen DCF77-Impuls zu dekodieren, der ist 
mindestens 100ms lang, d.h. da brauchts keinen Interrupt.

Interrupts sind eigentlich nur dazu da, um extrem schnell auf etwas zu 
reagieren. Alles, was langsamer als 1ms ist, läst sich bequemer per 
Polling oder im Timerinterrupt abfragen.


Wenn Du die Interruptpins brauchst, dann nimm doch einfach andere Pins 
für das Display. Der 4433 hat doch insgesamt 20 I/O-Pins, da sollten 
sich doch die 7 Pins für das LCD finden lassen.


Auch eine Doppelnutzung ist möglich. Man muß bloß sehr genau überlegen, 
daß die eine Funktion der anderen nicht in die Quere kommt. D.h. es 
setzt schon einige Erfahrung im Programmieren voraus.


Peter

von Helmut Hofmann (Gast)


Lesenswert?

Hi,

gute Idee, einfach andere Pins fürs LCD herzunehmen.Warum bin ich da 
nicht selbst daraufgekommen?

vielen Dank


Helmut

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.