Funciona perfecto.
Con una Vdd de 5,23V, sale una res. de 5,1mV/bit, pues bien, el corte esta en 3,268V.
Bien, probando, con una Van de 3,37V y despues de 3,29V , 5,23V tanto en GPIO,0 como GPIO,2 . OK
Bajo por debajo del corte a 3,21V y 0V en ámbas patitas. He bajado Van a poco mas de 1V, y lo mismo , 0V. Aún así, probraré con mas valores de Van claro, tengo que estar seguro que va bien en todo el rango de tensiones. Si hay algún problema lo digo.
El programa definitivo:
w EQU 0h
f EQU 1h
LIST P=12F617
INCLUDE <P12F617.INC>
;;;;; 4 Mhz
RET1 EQU 22H
ORG 00H
GOTO INICIALIZACION
ORG 05H
;;;;;;; INICIALIZACION
INICIALIZACION NOP
BANKSEL GPIO
CLRF GPIO
BANKSEL TRISIO
CLRF TRISIO
BSF TRISIO,4
MOVLW 68H ; FREC.CONVERSION Y BIT AN3 ANALOGICO
MOVWF ANSEL ; 16.uS CONVERSION
BANKSEL ADCON0
MOVLW 0X0D ;
MOVWF ADCON0
INIC GOTO CDEL
VgsON BSF GPIO,0 ; Vgs mosfet = Vcc
BSF GPIO,2 ; LED ON
CDEL CALL DELAY
BANKSEL ADCON0
START.D BSF ADCON0,1
S1 BTFSC ADCON0,1
GOTO S1
COND.1 MOVLW 60H
ANDWF ADRESH,0
BTFSS STATUS,2
GOTO COND.2
GOTO LIPOOFF
COND.2 MOVLW 80H
ANDWF ADRESH,0
BTFSS STATUS,2
GOTO VgsON
LIPOOFF BCF GPIO,0 ; Vgs mosfet = 0V
BCF GPIO,2 ; LED OFF
GOTO CDEL
DELAY MOVLW 55H ; DELAY 256us.
MOVWF RET1
DEC1 DECFSZ RET1
GOTO DEC1
RETURN
FIN NOP
END
Al final solo he necesitado un variable, la del delay RET1.
Bien, si alguien quiere conocer el XQ de las AND con esos valores, y XQ son necesarias 2 condiciones, que pregunte y lo explico con total disposición, o cualquier otra cosa claro. Sino, por mi parte lo dejo aqui.
Gracias a los que me habeis ayudado en los 2 hilos.
Un saludo
PS. Aqui el "chiringuito":