Forum: Mikrocontroller und Digitale Elektronik PIC Anfängerproblem


von Karlheinz D. (kdruschel)


Angehängte Dateien:

Lesenswert?

Hallo,
ich arbeite zum ersten Mal mit den PICs, und habe mir deshalb eine 
Grundschaltung mit einem PIC16F887 zusammengebaut. Die Hardware ist aber 
eigentlich nicht relevant, da ich im Simulator das Problem auch schon 
habe.
Ich will nur Ausgänge schalten, halt ein Anfängertest. Und das 
funktioniert schon nicht so wie es soll.
Ich verwende die MPLAX X IDE V3.20 und versuche nur alle Pins von Port A 
zu setzen und zu löschen.
Wie man dem Screenshot entnehmen kann, wurde im Simulator gerade der 
Befehl PORTA = 255 ausgeführt. An PORTA sollten also alle Ausgänge 
gesetzt sein, sind sie aber nicht. Dort liegt das Bitmuster "11010000" 
an.
Muss also wohl irgendein Konfigurationsproblem sein....

Schon mal danke im Voraus....

von Florian J. (fjay24)


Lesenswert?

Hallo Karlheinz,

kuck doch mal im Datenblatt unter der Kategorie I/O Ports unter Port A. 
Dort sind bestimmt irgendwelche Zusatzfunktionen auf den Port mit drauf, 
die evtl. erst deaktiviert werden müssen. Evtl. irgendwelche externen 
Oszillatoranschlüsse etc.

MFG

Florian

von Volker S. (vloki)


Lesenswert?

Der Simulator ist ja richtig gut.
Simuliert sogar korrekt das digitale Lesen der analogen Eingänge ;-)

von Silvio G. (technofreak)


Lesenswert?

Hallo

Register "ANSEL" beachten.


Silvio

von Der Andere (Gast)


Lesenswert?

Ich kenne jetzt den Pic nicht auswendig, aber was mir auffällt.
1. Du musst den Port auf Ausgang schalten
2. Wie Florian gesagt hat, haben manche Port Pins mehrfache Verwendung. 
Um sie als Ausgang zu schalten musst du eventuell diese Zusatzfunktionen 
deaktivieren
3. Wenn du den Port auf 0x00 setzt, dann auf 0xFF und direkt dahinter 
wieder auf 0x00, dann wirst du am realen µC nichts sehen, da er dann nur 
für 1µs auf 1 gesetzt sein wird. Für das Debuggen in der Simulation ist 
das aber irrelevant

Ich würde dir empfehlen dir ein Tutorial anzuschauen und nachzuarbeiten, 
da moderne µCs (auch die kleinsten) schon einen recht großen 
Funktionsumfang haben, der einen Anfänger erst mal erschlagen kann, 
zumal du am Anfang gar nicht verstehst wofür das alles benutzt wird.

von Peter C. (peter_c49)


Lesenswert?

Hallo KarlHeinz,

richtig, via ANSEL register die ports von Analog auf digital umstellen.
ie: ANSEL = 0;
im datenblatt nachlesen!

Bei fast allen PICs dieser generation ist RA6 & RA7 für das externe 
Quarz vorgesehen!
RA6/7 kann man über das configbit INTOSCIO noch zu einem Digital pin 
umstellen WENN kein externes Quarz dran bzw in benutzung ist.

;-)

von Karlheinz D. (kdruschel)


Lesenswert?

Ah, kaum macht man es richtig, schon funktionierts. Danke, Silvio.

von Volker S. (vloki)


Lesenswert?

Volker S. schrieb:
> Der Simulator ist ja richtig gut.
> Simuliert sogar korrekt das digitale Lesen der analogen Eingänge ;-)

Findet ihr den Simulator nicht gut?
(ich wollte damit nicht den Karlheinz ärgern,
den richtigen Hinweis hatte Florian ja schon gegeben)

von Ingo L. (corrtexx)


Lesenswert?


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.