Bueno, finalmente decidí familiarizarme con los PIC y obtuve un PIC18F4680 y un clon de PICkit 2. Hice un circuito simple de hola mundo como se muestra aquí:
Entonces, básicamente, tengo un LED del pin 0 del puerto A, un oscilador de cristal, uno de esos todos en una unidad en una lata (¿lo estoy usando correctamente?), Dos condensadores de 100 nF y el pin MCLR elevado (y conectado al programador cuando lo estoy usando).
En el programador, tengo pines Vpp/MCLR, Vdd, Vss, ICSPDAT/PD, ICSPCLK/PGC y AUX. Después de leer un poco, descubrí que el AUX debe estar conectado al pin PGM en el PIC. Conecté todos los pines del programador conectados a los pines respectivos en el PIC.
Intenté usar el PIC con el oscilador externo a 40 MHz y con el oscilador interno a 1 MHz y no hizo ninguna diferencia en el problema principal. Creo que los osciladores están bien porque puedo ver una salida de 250 kHz en el pin 14 cuando estoy usando el oscilador interno de 1 MHz y alguna lectura extraña cuando estoy usando el oscilador externo de 40 MHz (lo cual es de esperar ya que mi El multímetro puede medir frecuencias de hasta 5 MHz y espero una salida de 10 MHz, según la hoja de datos del microcontrolador).
El problema es que cuando conecto el PIC programado a la corriente, no hace nada por lo que puedo ver. En su lugar, necesito conectarle el PICkit, abrir la aplicación PICkit 2 de Microchip y después de verificar el chip, el LED comienza a parpadear como se supone que debe hacerlo con la frecuencia correcta. Cuando desconecto el PICkit del circuito o de la computadora, el LED parpadeante se detiene.
Parece que lo tiene configurado en MPLAB para usar el PICkit como depurador, no como programador. Eso le permitirá trabajar con el PICkit conectado y ejecutando MPLAB, pero no de forma independiente. Asegúrese de que el bit de configuración de depuración esté desactivado y de programar la pieza con el PICkit como programador , no como depurador.
¿Qué frecuencia es su oscilador externo? No sé si el PIC puede admitir 40 MHz. Normalmente usamos un oscilador de 10 MHz y usamos el PLL interno del PIC para aumentarlo a 40 MHz. Pero verifique que sus ajustes de configuración sean HS para el oscilador.
Además, verifique que el oscilador externo realmente esté produciendo una salida. A menudo, estos dispositivos tienen 4 pines, donde uno es una entrada de habilitación. Tienes que conectar la entrada de habilitación a +5v para que funcione.
Debe agregar una resistencia pull-up de 10kOhm en MCLR (Pin 1)
Juan Burton
AndrejaKo
Juan Burton
AndrejaKo
While in Low-Voltage ICSP Programming mode, the RB5 pin can no longer be used as a general purpose I/O pin and should be held low during normal operation.
y RB5 es PGM aquí.Juan Burton