Tutorials - PIC18 by Data Sheet

 

PORTD


PORTD

PORTD è un registro a 8 bit per uso generico (GPIO - General Purpose IO) presente nei processori con package a più di 28 pin (nel nostro caso PIC18F4321).
Ad esso è solitamente associata la funzione di Parallel Slave Port (PSP) e, nei processori con moduli CCP/PWM, alcune funzioni di questi.

In particolare PORTC supporta:

  • GPIO

  • PSP

  • ECCP


Solitamente PORTD è presente al completo con tutti gli 8 bit, da RD0 a RD7. 

Fisicamente i pin si trovano qui:

Microchip mantiene un ragionevole senso nella disposizione delle funzioni cercando di porle in modo successivo in corrispondenza dei pin.

Però, tra package a 28 e 40 pin c'è forzatamente qualche differenza, anche solo l' aumento dei pin di alimentazione da 3 a 4.

Però, data la disposizione dei pin, è possibile realizzare comunque dei circuiti stampati o degli adattatori che possono portare entrambi i package senza eccessiva difficoltà.

Nei chip a 28 pin PORTD non è presente.


La tabella seguente riporta il quadro completo delle possibilità di PORT D.

Pin

Funzione

TRIS

I/O

Tipo

Descrizione

RD0
PSP0

RD0

0

O

DIG

LATD<0> uscita digitale

1

I

TTL

PORTD<0> ingresso digitale

PSP0 - I DIG uscita dati PSP
- I TTL ingresso dati PSP
RD1
PSP1
RD1 0 O DIG LATD<1> uscita digitale
1 I TTL PORTD<1> ingresso digitale
PSP1 - O DIG uscita dati PSP
- I TTL ingresso dati PSP
RD2
PSP2
RD2 0 O DIG LATD<2> uscita digitale
1 I TTL PORTD<2> ingresso digitale
PSP2 - O DIG uscita dati PSP
- I TTL ingresso dati PSP
RD3
PSP3
RD3 0 O DIG LATD<3> uscita digitale
1 I TTL PORTD<3> ingresso digitale
PSP3 - O DIG uscita dati PSP
- I TTL ingresso dati PSP
RD4
PSP4
RD4 0 O DIG LATD<4> uscita digitale
1 i TTL PORTD<4> ingresso digitale
PSP4 - O DIG uscita dati PSP
- I TTL ingresso dati PSP
RD5
PSP5
P1B
RD5 0 O DIG LATD<5> uscita digitale
1 I TTL PORTD<5> ingresso digitale
PSP5 - O DIG uscita dati PSP
- I TTL ingresso dati PSP
P1B 0 O DIG uscita ECCP1 enhanced PWM canale B
RD6
PSP6
P1C
RD6 0 O DIG LATD<6> uscita digitale
1 I TTL PORTD<6> uscita digitale
PSP6 - O DIG uscita dati PSP
- I TTL ingresso dati PSP
P1C 0 O DIG uscita ECCP1 enhanced PWM canale C
RD7
PSP7
P1D
RD7 0 O DIG LATD<7> uscita digitale
1 I TTL PORTD<7> uscita digitale
PSP7 - O DIG uscita dati PSP
- I TTL ingresso dati PSP
P1D 1 O DIG uscita ECCP1 enhanced PWM canale D

- = non dipende dal registro TRIS
DIG = uscita digitale
TTL = buffer di ingresso livello logico
ST = ingresso con trigger di schmitt
ANA = ingresso (uscita) analogico

I pin di PORTD posso assumere le seguenti funzioni :

  • General Purpose IO (RD7:0)
    Si tratta della funzione generica di ingresso/uscita (GPIO General Purpose IO), dove la direzione è stabilita dal registro TRISDPORTD è il registro dello stato della porta (in lettura e scrittura), mentre LATD è il registro del latch della porta in uscita.
     

  • Parallel Slave Port (PSP)
    La porta può essere dedicata (tutti i pin contemporaneamente) come ingressi/uscite per una comunicazione parallela. I pin di controllo si trovano in PORTE
     

  • ingressi e uscite del modulo CCP 
    alcuni pin possono essere dedicati come ingressi e/o uscite del modulo ECCP/CCP 

Come solito, i pin dedicati ad una funzione non possono essere impiegati per altre.
Nella tabella sono indicati lo stato del bit di TRISD necessario alla funzione e il genere di ingresso/uscita.
 



Inizializzazione di PORTD

Anche per PORTD il default del POR fa assumere ai registri particolari valori pre definiti e questo rende indispensabile, nelle prime fasi di inizializzazione dell' hardware, dedicare una parte alla corretta definizione delle funzioni di questi pin. 
Il default per PORTD  è con tutti i bit configurati come ingressi digitali.

 

; Inizializza PORTD 
       clrf    PORTD               ; clear PORTD latch
       movlw   b'11001111'         ; set RD7:6 e RD3:0 come input
       movwf   TRISD               ; e RD5:4 come out

 


 


NOTE:
  1. La funzione PSP è attivata settando il bit PSPMODE (TRISE<4>) e la direzione dei pin è indipendente dal PORTD
     

  2. Le funzioni enhanced PWM sono disponibili solo su alcuni chip

Per quanto riguarda CCP, PWM e PSP consultare i capitoli relativi.

 

 


 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 09/12/10.