Stap 4: De Software
http://www.electroniclessons.com/Capcharger.txt
Ik heb echter de belangrijkste broncode commentaar hieronder zodat u samen met gemak volgen kan =) mij tweedehands mijn trouwe MPLAB ICD2 PIC-programmer voor program mijn PIC. U hoeft deze programmer specifiek, maar u zal worden dat een van de 1000s van PIC-programmeurs die er beschikbaar zijn. De PIC-ICD2 kunnen worden aangeschaft via http://www.microchip.com. U kunt ook google MPLAB ICD2, en u zult waarschijnlijk zitten kundig sommige aanbiedingen vinden. Het is zeer makkelijk te gebruiken, en u kunt om het even welk van mijn broncodes door kopiëren en plakken van de sjablonen die ik in mijn instructables te bieden.
Hier is de commentaar belangrijkste bron-code:
***
INITIALISEREN
MOVLW B '1001'; GPIO0 = ADC Input / GPIO1 = Relay activeren uitvoer / GPIO2 = LED Indicator Output
TRIS GPIO; INITIALISEREN
MOVLW B '01000000'; Set-up analoge i / p-configuratie
MOVWF ADCON0; INITIALISEREN
CLRF DE GPIO; Schakel alle uitgangen (ingesteld op 0v)
MOVLW B '00001000'; Inschakelen van GPIO2 als een digitale i/o
OPTION ; INITIALISEREN
OPROEP LOOP3; Oproep korte vertraging
START:
OPROEP FLIKKEREN; Groene LED drie keer knipperen als indicator
BSF GPIO, 1; Relay inschakelen
OPROEP LOOP3; Zes korte vertraging instellen voordat u deze scant (minder dan 400 milliseconden)
OPROEP LOOP3
OPROEP LOOP3
OPROEP LOOP3
OPROEP LOOP3
OPROEP LOOP3
SCAN:
MOVLW B '01000001'; Instellen van de ADC
MOVWF ADCON0; INITIALISEREN
BSF ADCON0, GO; Neem een ADC lezen
WAITADC:
BTFSC ADCON0, GO; Poll voor de lezing om te voltooien
GOTO WAITADC; Als dat niet gebeurt, houden polling
MOVLW B '10000111'; Plaats van 87H in Vergelijk register (wanneer ADC monster deze waarde bereikt, condensator bank betaalt)
SUBWF ADRES, C; Vergelijken van instructie
BTFSC STATUS, C; Als ADC lezen meer dan 87H is, is opladen voltooid.
GOTO VOLGENDE; Als het opladen is voltooid, gaat u naar de volgende routine.
GA NAAR DE SCAN; Als dit niet het geval is, neemt een ander monster
VOLGENDE:
OPROEP FLIKKEREN; Flikkeren LED driemaal
OPROEP LOOP3; Vier korte vertraging instellen
OPROEP LOOP3
OPROEP LOOP3
OPROEP LOOP3
GOTO VOLGENDE; De volgende instructie lus totdat macht is verbroken
; LOOP3/4 werk samen als een lange vertraging routine
LOOP3:
MOVLW 0X00
MOVWF TEMP1
MOVLW 0XF0
MOVWF TEMP2
LOOP4:
DECFSZ TEMP1
GOTO LOOP4
DECFSZ TEMP2
GOTO LOOP4
TERUGKEER
EINDE
***