Professional Documents
Culture Documents
PUERTOS E/S
PUERTOS E/S
PUERTOS E/S
Registro PORTx
Los datos sobre un pin de E/S se acceden a travs de un registro
PORTx. Una lectura del registro PORTx lee el valor del pin de E /S,
mientras que una escritura en el registro PORTx escribe el valor en
el latch del puerto.
Registro LATx
El LATx registro asociado con un pin de E/S elimina los problemas
que pueden ocurrir con bidireccionalidad. Una lectura del registro
LATx restaura los valores en el puerto de salida de los latchs en
lugar de los valores en los pines de E/S. Una operacin de
bidireccionalidad en el registro LAT asociado con un puerto de E/S
evita la posibilidad de escribir los valores pin de entrada en el
puerto de latch. Una escritura en el registro LATx tiene el mismo
efecto que una escritura en el registro PORTx.
PUERTOS E/S
Registro TRISx
Los bits de control del registro TRISx determinan si cada pin
asociado con el puerto de E/S es una entrada o salida. Si el bit TRIS
para un pin de E/S es un '1 ', entonces el pin es una entrada. Si el
bit de TRIS para un pin de E/S es un '0 ', entonces el pin se
configura como una salida.
PUERTOS E/S
El nmero de pines disponibles depende del dispositivo y su nmero de pines. Los Pines
que soportan la funcin Peripheral Pin Select tienen la designacin "RPn" o Rpin, donde
"RP designa una funcin remapeable o reasignable para entrada o salida y "RPI" designa
una funcin remapeable o reasignables para la entrada solamente, y "n" es el nmero de
pin remapeable.
Asignacin de Entrada
Las entradas de los pines del PPS se asignan sobre la base del perifrico a usar, es decir,
un registro de control asociado con un perifrico dicta el pin que se le asignar , el
registros RPINRx se utiliza para configurar la asignacin de perifricos de entrada .
Cada registro contiene un campos de 7 bits, que est asociado con un perifrico
reasignable.
AN29/PWM3H/PMD5/RP85/RE5
Multiplexacin AN30/PWM4L/PMD6/RPI86/RE6
de Pines AN31/PWM4H/PMD7/RP87/RE7
C1IN3-/SCK2/PMA5/RP118/RG6
C1IN1-/SDI2/PMA4/RPI119/RG7
C2IN3-/SDO2/PMA3/RP120/RG8
MCLR
C2IN1-/PMA2/RPI121/RG9
VDD
AN5/C1IN1+/VBUSON/VBUSST/RPI37/RB5
AN4/C1IN2-/USBOEN/RPI36/RB4
AN3/C2IN1+/VPIO/RPI35/RB3
AN2/C2IN2-/VMIO/RPI34/RB2
PGEC3/AN1/VREF-/RPI33/RB1
PGED3/AN0/VREF+/RPI32/RB0
0
0
RP1/RPI1 1
RP2/RPI2 2
Entrada U1RX
RPn/RPIn n
Nota: Slo para la entrada, la funcin PPS no tiene prioridad sobre el registro
TRISx Por lo tanto, al configurar el pin de RPn como entrada, el bit
correspondiente en el registro TRISX debe estar configurado como entrada
(seteado a '1 ').
Conexiones virtuales
Los dsPIC33EPXXX (GP / MC / MU) 806/810/814 (GP / GU) 810/814 y los
PIC24EPXXX poseen conexiones internas a la salida de los mdulos comparadores
mdulos, CMP1OUT, CMP2OUT y CMP3OUT. Adems, admiten conexiones virtuales
a los mdulos QEI en los pines FINDX1, FHOME1, FINDX2 y FHOME2 .
Ejemplos:
INT1R<6:0>
Bit 15 Bit 8
Bit 7 Bit 0
bit 15 no implementado: Leer como '0
INT1R <6:0>: Asignar interrupcin externa 1 (INT1) al correspondiente pin RPn / rpin
1111111 = Entrada conectada a RP127
...
0000001 = Entrada conectada a CMP1
0000000 = Entrada conectada a VSS
bits 7-0 no implementadas: Leer como '0 '
RPINR0 INT1R<6:0> 0
RPINR1 INT3R<6:0> INT2R<6:0> 0
RPINR2 INT4R<6:0> 0
RPINR3 T3CKR<6:0> T2CKR<6:0> 0
RPINR4 T5CKR<6:0> T4CKR<6:0> 0
RPINR5 T7CKR<6:0> T6CKR<6:0> 0
RPINR6 T9CKR<6:0> T8CKR<6:0> 0
RPINR7 IC2R<6:0> IC1R<6:0> 0
RPINR8 IC4R<6:0> IC3R<6:0> 0
RPINR9 IC6R<6:0> IC5R<6:0> 0
RPINR10 IC8R<6:0> IC7R<6:0> 0
RPINR11 OCFBR<6:0> OCFAR<6:0> 0
RPINR12 FLT2R<6:0> FLT1R<6:0> 0
RPINR13 FLT4R<6:0> FLT3R<6:0> 0
RPINR14 QEB1R<6:0> QEA1R<6:0> 0
RPINR15 HOME1R<6:0> INDX1R<6:0> 0
RPINR16 QEB2R<6:0> QEA2R<6:0> 0
RPINR17 HOME2R<6:0> INDX2R<6:0> 0
RPINR18 U1CTSR<6:0> U1RXR<6:0> 0
RPINR19 U2CTSR<6:0> U2RXR<6:0> 0
RPINR20 SCK1R<6:0> SDI1R<6:0> 0
RPINR21 SS1R<6:0> 0
RPINR22 SCK2R<6:0> SDI2R<6:0> 0
RPINR23 SS2R<6:0> 0
RPINR24 CSCKR<6:0> CSDIR<6:0> 0
RPINR25 COFSINR<6:0> 0
RPINR26 C2RXR<6:0> C1RXR<6:0> 0
RPINR27 U3CTSR<6:0> U3RXR<6:0> 0
RPINR28 U4CTSR<6:0> U4RXR<6:0> 0
RPINR29 SCK3R<6:0> SDI3R<6:0> 0
RPINR30 SS3R<6:0> 0
RPINR31 SCK4R<6:0> SDI4R<6:0> 0
RPINR32 SS4R<6:0> 0
RPINR33 IC10R<6:0> IC9R<6:0> 0
RPINR34 IC12R<6:0> IC11R<6:0> 0
RPINR35 IC14R<6:0> IC13R<6:0> 0
RPINR36 IC16R<6:0> IC15R<6:0> 0
RPINR37 SYNCI1R<6:0> OCFCR<6:0> 0
Asignacin de salida
En contraste a las entradas, las salidas de las opciones PPS se asignan sobre
la base del pin. En este caso, un registro de control asociado con un pin en
particular dicta el perifrico salida que se asigna. Los registros RPORx se
utilizan para controlar la asignacin de salida. Al igual que el registro
RPINRx, cada registro contiene conjuntos de 6 bits, con cada conjunto
asociado con un pin de RPn. El valor del campo de bits se corresponde
a uno de los perifricos, y la salida del perifrico se correlaciona con el pin.
Una salida nula se asocia con el registro de salida al colocar valor de '0 '.
Esto se hace para asegurar que PPS por defecto permanezcan
desconectados de todas las terminales de salida.
RPnR <5.0>
0
0
Salida U1TX 1
Salida de datos
Salida U1RTS 2
RPn
Salida REFCLK 49
RP65R<5:0>
Bit 15 Bit 8
RP64R<5:0>
Bit 7 Bit 0
RP65R<5:0>: Bits del pin de salida RP65 es asignado a al perifrico designado por el
campo de bits (Ver tabla anterior).
RP64R<5:0>: >: Bits del pin de salida RP64 es asignado a al perifrico designado por el
campo de bits (Ver tabla anterior).
Nombre Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Reset
RPOR0 RP65R<5:0> RP64R<5:0> 0
RPOR1 RP67R<5:0> RP66R<5:0> 0
RPOR2 RP69R<5:0> RP68R<5:0> 0
RPOR3 RP71R<5:0> RP70R<5:0> 0
RPOR4 RP80R<5:0> 0
RPOR5 RP84R<5:0> RP82R<5:0> 0
RPOR6 RP87R<5:0> RP85R<5:0> 0
RPOR7 RP97R<5:0> RP95R<5:0> 0
RPOR8 RP99R<5:0> 0
RPOR9 RP101R<5:0> RP100R<5:0> 0
RPOR13 RP118R<5:0>
RPOR14 RP120R<5:0> 0
Tres registros de control estn asociados con el mdulo de CN: CNENx, CNPUx y CNPDx,
donde 'X' indica la letra del puerto.
Los registros CNENx contienen los bits de control CNIExy, donde 'y' denota el nmero de
pin del puerto. El Bit CNIExy debe setearse para que un pin de entrada del puerto
pueda interrumpir el CPU.
Cada pin CN tiene un dispositivo pull-up y pull-down conectado al pin, que puede ser
activado o desactivado con los bits de los registros CNPUx y CNPDx de manera de
aumentar la corriente con dispositivos de entradas y evitan el uso de resistencias externas.
Configuracin CN y Funcionamiento
Bit 15 Bit 8
CNIEx7 CNIEx6 CNIEx5 CNIEx4 CNIEx3 CNIEx2 CNIEx1 CNIEx0
Bit 7 Bit 0
CNIExy: Bit de habilitacin de interrupcin por notificacin de cambio en la entrada.
1 = Habilitada interrupcin por cambio en entrada.
0 = Desabilitada interrupcin por cambio en la Entrada.
Bit 15 Bit 8
CNPUx7 CNPUx6 CNPUx5 CNPUx4 CNPUx3 CNPUx2 CNPUx1 CNPUx0
Bit 7 Bit 0
CNPUxy: Bit de habilitacin de pull-up por notificacin de cambio en la entrada
1 = Habilita pull-up por cambio en Entrada
0 = Desabilita pull-up por cambio en Entrada
Bit 15 Bit 8
CNPDx7 CNPDx6 CNPDx5 CNPDx4 CNPDx3 CNPDx2 CNPDx1 CNPDx0
Bit 7 Bit 0
CNPDxy: Bits de habilitacin de pull-down por notificacin de cambio en la entrada
1 = Habilita pull-down por cambio en Entrada
0 = Desabilita pull-down por cambio en Entrada
Unlock_IOLOCK
lock_IOLOCK
Se desea realizar una aplicacin que permita el manejo de una matriz de leds mediante un
dsPIC33EP256MU806, en la cual se debern mostrar diversas letras dependiendo la opcin
seleccionada por el usuario.
Para la implementacin de esta aplicacin se utilizaron algunos pines de los puertos C, D, y F
como salidas digitales, as mismo se configuraron algunos pines del puerto F como entrada
digital. Las salidas se conectaron a un buffer y a un decodificador y estos a su vez se
conectaron a una matriz de diodos LED, las entradas se conectaron a un dip-switch. Para
realizar la conexin al dip-switch se utilizaron especficamente los pines 4 y 5 del puerto F
para as obtener 4 combinaciones, las cuales son: 00, 01, 10 y 11.
Para iniciar esta aplicacin se empez configurando los puertos como entradas y salidas
digitales. Una vez realizada la configuracin se establecieron condiciones en la
programacin para que la visualizacin en la matriz de diodos LED dependiera de la
combinacin vista desde el dip-switch.
En la matriz de LED se pueden visualizar las letras A, B, C o D segn las combinaciones
00, 01, 10 y 11 respectivamente.
La figura siguiente muestra la visualizacin de cada letra segn la combinacin dada por el
dip-switch. Para efectos de visualizacin, se utilizaron 8 pines con el fin de controlar el
buffer y el decodificador, para as, lograr la correcta visualizacin en la matriz de diodos LED.
}
else if(PORTFbits.RF4==1 && PORTFbits.RF5==1)
{ for(i=0;i<7;i++)
{ A0=letra_d[0][i];
A1=letra_d[1][i];
A2=letra_d[2][i];
A3=letra_d[3][i];
A4=letra_d[4][i];
contador(i);
Delay_ms(2);
}
}
}
}