La página 31 de la Hoja de datos del PIC 16f59 habla sobre sus puertos de E / S y cómo configurarlos.
Básicamente, cada puerto se puede configurar como un puerto de entrada o de salida. Esto se hace a través del registro TRIS (registro de estado) para cada uno de los diferentes puertos. PORTA = TRISA / PORTB = TRISB y así sucesivamente.
Si establece el bit 0 en TRISA en 1, el bit PORTA 0 (RA0) se convierte en entrada (1 = entrada 0 = salida).
Por lo tanto, al proporcionar el archivo de encabezado correcto cargado para nuestras definiciones de nombre, puede hacer que PORTB Bit 0 sea una salida al hacer esto ...
void main(void)
{
TRISBbits.TRISB0 = 0x00; // PORTB Bit 0 is now Output.
// To set ALL pins to output all at once TRISA = 0x00;
PORTBbits.RB0 = 0x01; // You've just energized the pin which corresponds to RB0
while(1) // Loop forever
{
LATBbits.LATB0 = 0x01; // is an alternative way of doing the same thing except you are
// writing to the Port buffer instead of directly to the Port
// which is a safer method of coding (so I'm told).
Delay(of time); // Delay method of your choice
LATBbits.LATB0 = 0x00; // De-energizes Bit 0
// or PORTBbits.RB0 = 0x00;
Delay(of time);
}
}
Y ahí lo tienen ... un pequeño fragmento de código que destellará un LED, correctamente conectado, al pin de salida del bit 0 de PORTB. Realiza los bucles de retardo y lanza los #includes correctos y debería funcionar para ti.
Sin embargo, leer a través de la hoja de datos ayudará más. Le proporciona ejemplos de código para inicializar puertos y demás.