|
@@ -60,7 +60,19 @@ PILOT_9 equ 0D2
|
|
|
PILOT_6 equ 0B4
|
|
|
DIODE_OK equ 0B
|
|
|
|
|
|
-CHARGEPWM equ 3C
|
|
|
+PWM_6A equ 19
|
|
|
+PWM_7A equ 1D
|
|
|
+PWM_8A equ 21
|
|
|
+PWM_9A equ 25
|
|
|
+PWM_10A equ 29
|
|
|
+PWM_11A equ 2D
|
|
|
+PWM_12A equ 32
|
|
|
+PWM_13A equ 36
|
|
|
+PWM_14A equ 3A
|
|
|
+PWM_15A equ 3E
|
|
|
+PWM_16A equ 42
|
|
|
+
|
|
|
+CHARGEPWM equ PWM_8A
|
|
|
|
|
|
start
|
|
|
; Initialize Ports TRISA
|
|
@@ -129,6 +141,7 @@ start
|
|
|
bcf PIR1, TMR1IF
|
|
|
bsf T1CON, TMR1ON ; Start TMR1
|
|
|
bcf TRISC, 2 ; Enable output driver
|
|
|
+
|
|
|
|
|
|
; Stroom Duty Cycle CCPR1L:CCP1CON<5:4> CCPR1L CCP1CON<5:4>
|
|
|
; 6 10% 100 25 0
|
|
@@ -189,7 +202,7 @@ connected
|
|
|
btfsc PORTC, 1 ; Check if the lock is closed
|
|
|
goto lock
|
|
|
|
|
|
- movlw CHARGEPWM ; Start offering
|
|
|
+ movlw CHARGEPWM ; Start offering
|
|
|
movwf CCPR1L
|
|
|
|
|
|
; Check if the diode is OK
|
|
@@ -300,7 +313,7 @@ wait_for_ad_result
|
|
|
; Check if diode OK
|
|
|
movf ADRES, w ; Voltage -> W
|
|
|
sublw DIODE_OK ; DIODE_OK - Voltage: moet > 0, STATUS,C = 1
|
|
|
- btfsc STATUS, C ; Skip over this of the STATUS,C = 0
|
|
|
+ btfsc STATUS, C ; Skip over this ff the STATUS,C = 0
|
|
|
retlw 3
|
|
|
|
|
|
; Otherwise return "0", meaning just go to idle and turn everything off
|
|
@@ -348,23 +361,12 @@ delay100
|
|
|
bsf T0CON, TMR0ON ; Start the timer
|
|
|
goto delay_wait
|
|
|
|
|
|
-
|
|
|
delay_wait
|
|
|
btfss INTCON, TMR0IF ; Wait for the timer to overflow
|
|
|
goto delay_wait
|
|
|
bcf T0CON, TMR0ON ; Stop the timer
|
|
|
return
|
|
|
|
|
|
-delay500
|
|
|
- movlw d'5'
|
|
|
- movwf DLYCOUNT
|
|
|
- goto delay_repeat
|
|
|
-
|
|
|
-delay1000
|
|
|
- movlw d'10'
|
|
|
- movwf DLYCOUNT
|
|
|
- goto delay_repeat
|
|
|
-
|
|
|
delay2000
|
|
|
movlw d'20'
|
|
|
movwf DLYCOUNT
|