Paso 4: El Software
http://www.electroniclessons.com/Capcharger.txt
Sin embargo, tengo el código fuente principal comentó a continuación para que usted puede seguir con facilidad =) usé mi fiel programador MPLAB ICD2 PIC para programar mi PIC. No es necesario este programador específicamente, pero se requiere uno de los 1000s de programadores PIC que hay por ahí. El ICD2 PIC puede adquirirse a través de http://www.microchip.com. Tambien puedes google MPLAB ICD2, y probablemente podrás encontrar algunas ofertas. Es muy fácil de usar, y puede utilizar cualquiera de mis códigos fuente copiando y pegando las plantillas que proporciono en mi instructables.
Aquí está el código fuente principal comentó:
***
INICIALIZAR
MOVLW B '1001'; GPIO0 = entrada ADC / GPIO1 = relé activar salida / GPIO2 = salida del indicador del LED
GPIO DE TRIS; INICIALIZAR
MOVLW B '01000000'; Análoga disposición i / configuración p
MOVWF ADCON0; INICIALIZAR
CLRF GPIO; Borrar todas las salidas (juego a 0v)
MOVLW B '00001000'; Permiten GPIO2 como digital I/O
OPTION ; INICIALIZAR
LLAMADA LOOP3; Llamada de corto retardo
INICIO:
LLAME AL PARPADEO; Parpadear el LED verde tres veces como un indicador
BSF GPIO, 1; Activar relé
LLAMADA LOOP3; Establecer seis retrasos cortos antes de la exploración (menos de 400 milisegundos)
LLAMADA LOOP3
LLAMADA LOOP3
LLAMADA LOOP3
LLAMADA LOOP3
LLAMADA LOOP3
EXPLORACIÓN:
MOVLW B '01000001'; Configurar ADC
MOVWF ADCON0; INICIALIZAR
BSF ADCON0, GO; Tomar un lectura de ADC
WAITADC:
BTFSC ADCON0, GO; Encuesta de lectura para completar
GOTO WAITADC; Si no hace, mantener la votación
MOVLW B '10000111'; Lugar 87H en comparar registro (muestra de ADC cuando alcanza este valor, se cobra el Banco de capacitores)
SUBWF DIRECCIÓN, C; Comparar la instrucción
BTFSC STATUS, C; Si la lectura del ADC es más de 87H, ha completado la carga.
GOTO SIGUIENTE; Si la carga se ha completado, vaya a la siguiente rutina.
GOTO EXPLORACIÓN; Si no, tomar otra muestra
SIGUIENTE:
LLAME AL PARPADEO; Parpadeo LED tres veces
LLAMADA LOOP3; Configurar cuatro retrasos cortos
LLAMADA LOOP3
LLAMADA LOOP3
LLAMADA LOOP3
GOTO SIGUIENTE; La siguiente instrucción de bucle hasta que la energía esté desconectada
; LOOP3/4 trabajo juntos como una rutina de retardo largo
LOOP3:
MOVLW 0 X 00
MOVWF TEMP1
MOVLW 0XF0
MOVWF TEMP2
LOOP4:
DECFSZ TEMP1
GOTO LOOP4
DECFSZ TEMP2
GOTO LOOP4
VOLVER
FINAL
***