www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Interrupt bei Pegelwechsel?!


Autor: Joachim (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joachim (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Joachim (Gast)
Datum:

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

Autor: Joachim (Gast)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joachim (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Joachim,

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

Gruß Lars

Autor: Joachim (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

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.