Forum: Mikrocontroller und Digitale Elektronik Interrupt bei Pegelwechsel?!


von Joachim (Gast)


Lesenswert?

Hallo liebe µC-Gemeinde!
ich habe eine kleine frage zu interrupts (jaja... mal wieder...). aber 
erstmal ein paar informationen vorweg:
ich programmiere z.z. noch auf dem board "es52-flash" mit dem AT89S8252 
drauf. ist zwar ein alter typ, aber mein problem wird "chipübergreifend" 
sein.

programmiert werden soll ein sechsstelliger zähler (sechs 
7-segment-anzeigen), der in 10000stel schritten bis 99,9999 sekunden 
zählen kann. der code hierfür ist auch nicht so das problem.

aber der zähler soll durch einen interrupt gestartet und gestoppt 
werden. ich verweden aber den einen port als datenbus (P0), den anderen 
als adressbus (P3) (für meine anwendung recht sinnvoll, oder?).

so kommt es beim durchschalten der anzeigen zwangsläufig dazu, daß der 
pin p3.2, der ja auch für den externen interrupt zuständig ist, dauernd 
zwischen low und high wechselt. in verschiedenen beschreibungen steht 
ja, daß der interrupt ausgelöst wird, wenn der pin von außen auf ein 
anderes level gezogen wird. bei dem board stand bei, daß der pin per 
schalter auf masse/low gezogen werden soll.

aber kann ich den interrupt auf die weise noch auslösen, wenn der pin 
z.b. gerade schon auf low ist???

ich hoffe ihr versteht mein problem und haltet mich nicht für den 
totalen "n00b"...

würde mich sehr über aufschlussreiche antworten freuen!

mfg,
Joachim

von Peter D. (peda)


Lesenswert?

Joachim wrote:

> aber der zähler soll durch einen interrupt gestartet und gestoppt
> werden.

Wenn das Einganssignal vollkommen stör- und prellfrei ist, kann man das 
machen.


> ich verweden aber den einen port als datenbus (P0), den anderen
> als adressbus (P3) (für meine anwendung recht sinnvoll, oder?).

Eher nicht.

Wozu soll der externe Bus gut sein ?

Und wenn, dann nimmt man üblicher Weise P0+P2, damit man per MOVX drauf 
zugreifen kann.



Peter

von Joachim (Gast)


Angehängte Dateien:

Lesenswert?

hallo Peter,
danke für die antwort!
also prellfrei ist das signal schon, da es durch einen transistor 
ausgelöst werden soll und nicht durch einen mechanischen schalter. wie 
störfrei es ist kann ich aber nicht sagen...

aber warum das mit P3 nicht so gut ist versteh ich nicht ganz. ich habe 
das so gemacht, weil bei dem board nur P1 und P3 so komfotabel über 
10polige pfostenstecke zugänglich sind. klar hab ich noch P0 und P2 
frei, aber da komm ich nicht so leicht dran... soll ich das umändern? 
und wenn ja wie und warum?

im anhang mal n bildchen, wie die schaltung theoretisch aussähe: der 
treibertransistor für die leds ist ein pnp, also low-gesteuert. der 
"interrupt-transistor" soll durch eine lichtschranke gesteuert werden, 
darum prellfrei (hoff ich).

wenn nun an P3.2 ein low kommt um die led an zu sprechen, wird der 
interrupt dann trotzdem ausgelöst, wenn der pin auf masse gelegt wird? 
daß die led dann ausgeht ist klar, aber für die anwendung egal...

danke im voraus,
mfg,
Joachim

von Joachim (Gast)


Lesenswert?

@voriger post:
ups, die led bleibt ja an... ist aber trotzdem egal...

von Joachim (Gast)


Lesenswert?

hmmm... ist die frage nicht klar genug gestellt oder woran liegt es, daß 
keiner was dazu sagen kann?

von Peter D. (peda)


Lesenswert?

Joachim wrote:
> hmmm... ist die frage nicht klar genug gestellt oder woran liegt es, daß
> keiner was dazu sagen kann?

Manchmal gibt es ein Leben neben dem I-Net.


Wie es scheint brauchst Du gar keinen Bus, sondern willst nur ein 
Display ansteuern.

Dann erzähl mal mehr (Multiplex, Ansteuer-IC, Latches).

Von 2 bis 14 Pins ist alles möglich.


Peter

von Joachim (Gast)


Lesenswert?

@Peter:
oh ja, das leben neben dem inet... was wäre das netz ohne das leben 
daneben ;) ... philosophier

ich dachte die ansteuerung wäre in meiner obersten beschreibung 
rausgekommen. im allgemeinen wird meine ansteuerung wohl als multiplexen 
bezeichnet. auf jeden fall habe ich unter diesem begriff meine art der 
ansteuerung im netz gefunden.
und ich will auch eigentlich kein display ansteuern. da hab ich zwar 
auch drüber nachgedacht, aber ich fand dann die fröhlich blinkenden 
7-segment-anzeigen schöner.

aber wie gesagt... ich will euch ja eigentlich nicht mit details über 
die hardware drumrum oder womöglich das programm ansich nerven.

meine kernfrage war ja, ob ein interrupt an P3.2 immer ausgelöst wird, 
wenn der pin auf masse gezogen wird, egal ob der pin grad auf low oder 
high ist (siehe beigefügtes bild oben). und wenn ja (/nein) warum 
(nicht)?

gruß,
Joachim

von Lars (Gast)


Lesenswert?

Hallo Joachim,

du kannst nicht gleichzeitig einen Pin als Ausgang (2 Segment Anzeige) 
und als Eingang (Interrupt) benutzen.

Gruß Lars

von Joachim (Gast)


Lesenswert?

hmmm, ok.
bleibt mir dann wirklich nur die möglichkeit auf die anderen ports aus 
zu weichen und darauf zu achten, daß in zukunft meine interrupt-pins 
frei bleiben?

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.