Obtenga un mejor programador, como el Microchip PICkit 2 o PICkit 3. Funcionan "fuera de la caja" con el IDE de MPLAB, y obtiene depuración en el circuito, así como programación (necesita un encabezado especial si desea depurar el 12F675 ya que no tiene hardware de depuración en el chip). También recibirá mucha ayuda de otros usuarios en los foros de soporte de Microchip, y puede usarla con los tableros de desarrollo de bajo costo de Microchip.
Aquí hay un pequeño programa de prueba para el 12F675:
;flasher.asm
;simple program for PIC12F675 to flash LED on pin 5
;uses Timer0 for delay
list p=12f675 ;list directive to define processor
#include "p12f675.inc" ;processor specific variable definitions
errorlevel -302 ;suppress "not in bank 0" message
__CONFIG _INTRC_OSC_CLKOUT
; ---------------------------------------------- -------------------
define
; ------------------------------------------------- ----------------
#define LED 2 ;GP2 (pin 5)
#define INIT_COUNT 10 ;
; ---------------------------------------------- -------------------
variables
; ------------------------------------------------- ----------------
cblock 0x20
tick_counter
endc
; ---------------------------------------------- --------------------
inicialización
; ------------------------------------------------- -----------------
;reset vector
org 0
nop
goto Main
;interrupt vector
org 4
banksel INTCON
bcf INTCON,T0IF ;clear Timer0 interrupt flag
movlw INIT_COUNT ;re-initialise count
movwf TMR0
decf tick_counter,f
retfie
Principal:
Banksel OSCCAL; calibrador del oscilador
llamar 0x3FF; obtener el valor de cal
movwf OSCCAL; Calibrar
banksel ansel
movlw 11h; AN0 como entrada analógica, reloj de conversión Fosc / 8
movwf ANSEL
bankseL CMCON
movlw 07h; comparadores fuera
movwf CMCON
banksel TRISIO
bcf TRISIO, LED; salida de LED GPIO5 (pin 2)
Banksel OPTION_REG
movlw b'00000011 '; preescala 1/128
movwf OPTION_REG;
banksel TMR0
movlw INIT_COUNT; inicialice el valor de conteo del temporizador
clrf tick_counter
movwf TMR0
bsf INTCON, GIE; habilita la interrupción global
bsf INTCON, T0IE; habilita la interrupción Timer0
banksel GPIO
; ---------------------------------------------- -------------------------
; ciclo principal del programa
; ------------------------------------------------- ----------------------
bucle:
bsf GPIO, LED
llama dly
bcf GPIO, LED
llama dly
goto loop
dly
movlw 0x10
movwf tick_counter
dly1:
movf tick_counter, f
skpz
goto dly1
volver
end