Buenas tardes desde Madrid: Soy un aficionado "amateur" y habitual lector de este foro. Perdón por reabrir un tema antiguo pero, después de conseguir programar en asm y C (PCW) el 16F84A, 16F628A, etc... estoy intentándolo con los pequeños 12C/F508/9 y no consigo de ninguna manera algo tan simple como encender y apagar un led. Mi problema, estoy seguro, es la configuración de los pines con TRIS o GPIO. Lo más que he conseguido es encenderlos en la simulación en Isis de Proteus pero no funciona, se encienden los leds en el orden que establezco, sí, pero ni consigo encender el conectado a GP3/TOCKI ni que se apaguen luego los otros (ninguno conectado a GP3). Estoy seguro de que es solo del tema de configurar los puertos como salida pero ni con todo lo que he visto en este foro ni en google ni en microchip.com ni en las Aplication Notes doy con la solución, ni para asm ni para C. Pongo la última prueba que he hecho en C con el PICC sin que funcione bien:
#include <12C509A.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC //Internal RC Osc
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOMCLR //Master Clear pin used for I/O
#use delay(clock=4000000)
#DEFINE On2 output_high(PIN_B2)
#DEFINE On5 output_high(PIN_B5)
#DEFINE On4 output_high(PIN_B4)
#DEFINE Off1 output_low(PIN_B0)
void main()
{
SET_TRIS_B (0x0F);
while (true)
{
output_high(PIN_B0);
delay_ms(1000);
output_high(PIN_B1);
delay_ms(1000);
Output_low(PIN_B2);
delay_ms(2000);
On4;
delay_ms(1000);
On5;
delay_ms(1000);
output_bit(pin_b0,1);
delay_ms(2000);
}
}
Ya sé que es un código horrible pero es solo de prueba y está así después de mil intentos.
Agradezco cualquier tipo de ayuda y un saludo para todos.