Define ADC_CLOCK = 5 '16Tad a 8Mhz = 2uSeg, minimo permitido por el micro 1.5uSeg, configuracion ADC
el manual dice que ADC_CLOCK puede tomar valores de 0..3 o 0..7 según el pic. en la página 118 del datasheet debe estar la solución pero no consigo verla y ese valor ADC_CLOCK = 5 me tiene completamente desorientado.
REGISTER 12-2: ADCON0: A/D CONTROL REGISTER (ADDRESS 1Fh) PIC16F88 DEVICES ONLY
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0
ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE — ADON
bit 7 bit 0
bit 7-6 ADCS<1:0>: A/D Conversion Clock Select bits
If ADCS2 = 0:
00 = FOSC/2
01 = FOSC/8
10 = FOSC/32
11 = FRC (clock derived from the internal A/D module RC oscillator)
If ADCS2 = 1:
00 = FOSC/4
01 = FOSC/16 10 = FOSC/64
11 = FRC (clock derived from the internal A/D module RC oscillator)
Sobre esa pregunta puedes ver en el registro que si
ADCS2 = 1 quiere decir que estas escogiendo dividir entre dos el reloj cuando escoges alguna otra opción que no es el RC interno; escoges la opción
01 = FOSC/16, entonces:
ADCON1.6 ADCON0.7 ADCON0.6
ADCS2 ADCS1 ADCS0 1 0 1 --------------------> 5
Sobre lo del 205..... es no lo he visto aún, dame tiempo.
Lo del reloj ya lo había experimentado pero en PBP "ADC_CLOCK = 3". Siempre 3, ¿por qué? porque siempre agarran el tiempo del RC interno, la última combinación [
11 = FRC (clock derived from the internal A/D module RC oscillator)]
Edición:
Tratando de saber el por qué de ese num2=205, después de ver el código original me surgen dudas:
1.- Se declara num1 como palabra, supongo para tener los 10 bits del AD, ¿o para realizar las divisiones?
2.- Se comenta
'ADCON1=01000000 el cual indicaría una justificación a la izquierda y por ende la utilizacion de los diez bits en forma inverza, como para utilizar solo 8 bits, los del ADRESH y descartar los del ADRESL(izquierda el de menor peso y derecha el de mayor). Habría que ver cuál registro toma, o si toma los dos y los guarda en num1.
3.- Si utiliza solo 8 bits para el cálculo, quizá eso influya en que num2=205.
Tengo la cabeza algo confusa, vengo llegando de manejar de con mi novia (45 minutos) y son las 11:12 PM xD
Edición#2:
Acaba de venirme algo a la mente pero no se cómo explicarlo asi que lo pondré tal y como vino:
1024/5 = 204.8
¿Tendrá algo que ver?
¿Corrección del menor?
No se pero creo que va por ahí
Edición#3:
Ahora estoy peor, siempre que busco la relación voltaje/bit realizo lo siguiente 5v/10bits = 5v/1024 = 4.88 mV/incremento.
Perdido perdido perdido....
Edición#4:
Dogflu, ¿qué programa utiliza para los PCBs?