www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Signalgenerator an 8051


Autor: Christian Marzok (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich möchte den Abstand zwischen zwei steigenden bzw. fallenden Flanken
eines Rechtecksignals (5 Vpp 2,5V Offset) mit dem 8051 auf einer
Euro_535 Karte messen! Dazu schließe ich den Signalgenerator momentan
auf den Input-Pin an (ich habe mir im Moment den Pin 5.1) ausgesucht
und lege dich Masse des Signalgenerators und des Mikrocontrollers
zusammen.

In meinem Programm soll das Ganze wie folgt ablaufen:

Ich frage den Pin 5.1 per "jnb P5.1,$" oder "jb P5.1,$" ab, sobald
eine steigende bzw. fallende Flanke ankommt startet dann der Timer und
stoppt dementsprechend wieder.

Nun zu meinem Problem:

Sobald ich das Signal an den Pin 5.1 anlege bricht auf dem Oszi mein
Rechtecksignal zusammen! Also hab ich keine Flanken mehr,sondern nur
noch ein diffuses Signal!

Kann mir jemand weiterhelfen, wie genau der Signalgenerator
angeschlossen werden muss, dass mein Rechtecksignal bestehen bleibt und
mein Pin 5.1 auf die Flanken reagiert??? Bin mit meinem Latein echt am
Ende!!! Und muss der Pin eigentlich auf high stehen und auf low gezogen
werden oder umgekehrt ?! Bin für jede Hilfe dankbar :-|

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 8051 haben einen internen Pullup an den Eingängen, daher müssen sie
niederohmig angesteuert werden, um einen Low-Pegel zu erkennen
(<1kOhm).

Hochohmigere Quellen können an P0 angeschlossen werden, denn die haben
kein Pullups und verhalten sich daher wie echte CMOS-Eingänge.

Schlechte Karten hat man dann aber bei Ur-uralt 8051-er ohne internen
Flash, da diese den P0 für den Programmspeicher belegen.



Peter


P.S.:
Das *.sch Dateien unter Windows nicht zu lesen sind, sollte eigentlich
klar sein.
*.png, *.gif, *.jpg, *.pdf können von jedem gelesen werden.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genauer werden solche Sachen mit der input-capture-Funktion eines
Timers, da du dann unabhängig von Programmlaufzeiten bist.

Autor: Christian Marzok (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Tja dann hab ich wohl schlechte Karten, ich hab so ne Uralt-Karte! Hm,
Laut dem Buch das ich hab hat der komplette Port 5 keine Pullups, was
aber nicht unbedingt stimmen muss!

Da steh ich nun ich armer Thor und bin so schlau als wie zuvor ;-)

Trotzdem schon mal Danke für die schnelle Antwort und natürlich geb ich
dir recht, ein JPG is von jedem deutlich besser zu Öffnen...deswegen
mein neuer Anhang!!!

Gruß Christian

Autor: Christian Marzok (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Programmlauzeit hab ich dabei in Kauf genommen, das is nich
tragisch, und die Impulsweite is auch nie größer als 65536µs deswegen
reicht mein 16-bit Timer vollkommen aus, weil er nie überlaufen wird
und immer wieder per Schleife auf 0  zurückgesetzt!

Thx Christian

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, das ist deine Sache, und wenn ein paar Takte Abweichung nicht
stören, auch überhaupt kein Problem.
Den Sieben-Segment-Dekoder brauchst du eigentlich auch nicht, die
Dekodierung kannst du per Software machen.

Autor: Christian Marzok (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doch den brauch ich, jedes Segment zieht um die 20 mA ich darf die Ports
aber nur mit max 2mA belasten, ansonsten wär die Dekodierung über
Software kein Ding gewesen! Aber hast du nich vielleicht ne Idee zu
meinem "eigentlichen" Problem???
________________________________________________________________
...to be continued

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
huch, so schlapp ist der? Ich habe schon lange nichts mehr mit 51ern
gemacht.
Sehe nur 3 Möglichkeiten:
-du hast eine 0 ins Ausgaberegister geschrieben
-der Chip ist Matsch
-deine Signalquelle ist extrem hochohmig (unwahrscheinlich)

Autor: Markus_8051 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hoffe, Du hast Deinen Signalgenerator so eingestellt, daß Du mit
Digitalpegel auf den 8051 gehst. Oder steuerst du den armen 8051 mit
+/-15V an? Dann ist jetzt wirklich der Chip Matsch.

Markus_8051

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, (bin der Co Bastler) wir steuern mit 0-5V Rechtecksignal an. Der
Port liegt auf dem High Pegel. Wenn wir einen kurzen Masseimpuls vom
Controller selbst draufgeben funktioniert das ganze...nur mit dem
Rechtecksignal nicht, da wird der High Pegel lediglich verrauscht, aber
nichts auf Null-Potential gezogen!

Autor: Markus_8051 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht ist das Rechtecksignal wirklich etwas hochohmig. Leg das
Rechtecksiganl doch mal über einen Transistor (z.B.: BC547 etc) auf den
µC-Port.

Viel Erfolg,
Markus_8051

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das haben wir uns auch schon überlegt, allerdings gibt es mehrere
Projekte mit gleichem Signaleingang, dort wurde der Signalgenerator
überall direkt angeschlossen. Wir haben schon mehrere Signalgeneratoren
und mehrere Karten ausprobiert, ich denke dass irgendwo ein
"Grundlagenfehler" ist

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.