Och pollar COUT i programmet. Om spänningen på ingången CIN- (GP1) överstiger den interna referensen så är tanken att COUT ska bli en etta och då ska jag stänga ner PWM-modulen som jag använder för att styra en transistor.
Jag visar nedan upp tre uttdrag ur min assembler-kod.
Villka är alla inställningar för komparatorn jag gjort, tacksam för tips på vad jag gjort fel.
(Kod i turordning);
Kod: Markera allt
bsf STATUS,RP0 ; Access to bank 1
movlw b'00110110' ; GP1 = CS-ingång.
;------- Comparator module settings
bsf STATUS,RP0 ; Access to bank 1 ;------
movlw b'10100111' ; Vref= ON,Low range, CV_ref = 0111
movwf VRCON
bcf STATUS,RP0 ; Access to bank 0
movlw b'00010100' ; Comparator Output inverted, COUT set = 0
movwf CMCON0
movlw b'00000000'
movwf CMCON1
;-------
hard_tuning_loop
btfss CMCON0,7 ; Fault current?
(bit 7 = COUT)
goto no_fault ; NO
clrf PWM_HI_B
clrf PWM_LO_B
call set_pwm
goto hard_tuning_loop
no_fault
Tacksam för hjälp! Under tiden funderar jag vidare och läser manualen för att försöka reda ut det själv.
