Forum: Mikrocontroller und Digitale Elektronik PIC 16F648A I/O Ports definieren


von azo (Gast)


Lesenswert?

Ich programmiere das erste Mal einen PIC und habe nun ein Problem.
Die verschiedenen PINs müssen als Ein- oder Ausgänge definiert werden.
Das erfolgt durch das setzen von Bits in den TRISA bzw TRISB registern.
Wie macht man das genau?(PIC 16F648A)

von T-Brox (Gast)


Lesenswert?

Bit für Bit macht man das.

Wenn das entsprechende Port-Bit ein Eingang sein soll, setzt man das 
entsprechende Bit im TRIS-Register auf '1', den Ausgang auf '0'.

Beispiel:

Port B.0 soll ein Eingang sein:

TRISB = 'xxxxxxx1' muss nachher drin stehen

das Kommando kann bit-bezogen ( -> bsf  TRISB.0 ) oder in 2 Schritten 
bytebezogen sein ( -> movlw  b'xxxxxxx1' -> movwf  TRISB ).

Bei einigen Pins muss man zusätzlich noch weitere Peripherie mit 
abschalten, um das "normale" I/O-Verhalten zu erzielen, bspw. die 
Komparatoren oder A/D-Wandler.

von Knut (Gast)


Lesenswert?

Umschalten auf Bank1
Ins TRISA bzw. TRISB Register schreiben
Zurückschalten auf Bank0
Glücklich sein


Sprut.de ist aber DIE Adresse für PICs.
Und das Datenblatt is auch hilfreich.


Knut

von azo (Gast)


Lesenswert?

vielen dank!

von Knut (Gast)


Lesenswert?

@Admin
Danke fürs bereinigen ;-)

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.