Ver Mensaje Individual
  #4  
Antiguo 01-01-2010
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Reputación: 20
rretamar Va camino a la famarretamar Va camino a la fama
Primero tienes que definir si un pin de entrada/salida se usará como entrada o como salida. Esto se hace cambiando los bits del registro TRISx (vale para cualquier tipo de PIC).

Por ejemplo:

Código Delphi [-]
TRISA := $FF; // Definir todos los pines del registro A (RA0 a RA7) como entradas

o se pueden setear bits por separado:

Código Delphi [-]
SetBit(TRISA, 3);  // Colocar el bit 3 en estado alto (entrada). En este caso el pin RA3 se configura como entrada.

ClearBit(TRISB, 5); // Colocar el bit 5 en estado bajo (el pin RB5 se comportará como una salida)

TRISA := $FF; // Colocar todos los bits en uno (todos los pines del registro A como entradas)

También se pueden setear múltiples bits usando la notación binaria. Ejemplo:

Código Delphi [-]
TRISA := %00001111;

En la hoja de datos del PIC que vas a usar podés ver los registros que posee y el número de entradas/salidas disponibles.

Una vez definido un pin como salida, a través de SETBIT o CLEARBIT se puede cambiar el estado de ese pin. Por ejemplo:

Código Delphi [-]
Setbit(PORTA,0); // Colocar el pin RA0 en estado alto
Clearbit(PORTA,5); // Colocar el pin RA5 en estado bajo

Si el pin está configurado como entrada, puedes leer el valor con TestBit. Ejemplo:

Código Delphi [-]
Estado := Testbit(PORTA,3); // Leer el estado del pin RA3

Saludos !
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.

Última edición por rretamar fecha: 01-01-2010 a las 06:51:24.
Responder Con Cita