Forum: Mikrocontroller und Digitale Elektronik Signalgenerator an 8051


von Christian Marzok (Gast)


Angehängte Dateien:

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 :-|

von Peter D. (peda)


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.

von crazy horse (Gast)


Lesenswert?

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

von Christian Marzok (Gast)


Angehängte Dateien:

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

von Christian Marzok (Gast)


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

von crazy horse (Gast)


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.

von Christian Marzok (Gast)


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

von crazy horse (Gast)


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)

von Markus_8051 (Gast)


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

von Christoph (Gast)


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!

von Markus_8051 (Gast)


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

von Christoph (Gast)


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

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.