TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: pic_877a en 07 de Mayo de 2023, 18:59:48
-
ola chicos, bueno estoy leyendo a la hoja de datos pic 16f690 y estoy realizando un pequeño código en pic basic pro
necesito activar el adc del citado pic
he configurado el puerto a como entrada
DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 3
DEFINE ADC_ SAMPLEUS 50
TRISA = 255
ADCON1 =%00010010 conversión analógica digital
lo que si esto es correcto o no
adjunto las imágenes de la tabla del adc pic 16f690.
:(
-
Adcon1 no hay que modificarlo, lo que hay que inicializar es ansel y anselh para elegir que entradas son digitales porque sino son todas analogicas
-
Adcon1 no hay que modificarlo, lo que hay que inicializar es ansel y anselh para elegir que entradas son digitales porque sino son todas analogicas
podrías por favor colocar un ejemplo para poderme guiar.
gracias :(
-
ANSEL=%00000001
ANSELH=%00000000
Elige RA0 como entrada analógica y
Todas las demás como digitales
-
Adcon1 no hay que modificarlo, lo que hay que inicializar es ansel y anselh para elegir que entradas son digitales porque sino son todas analogicas
Yo pensaría que si puede y debe modificarlo dependiendo de cuál va a ser la fuente de reloj del ADC. (Tiempo de conversión).
El OP debería mostrar un esquemático del hardware que está usando.
-
ANSEL=%00000001
ANSELH=%00000000
Elige RA0 como entrada analógica y
Todas las demás como digitales
en el pic 16f690 quiero usar 2 entradas análogas AN1 y AN2 es decir RA1 y RA2 y de las demás como entrada digitales
:(
-
ANSEL=%00000001
ANSELH=%00000000
Elige RA0 como entrada analógica y
Todas las demás como digitales
en el pic 16f690 quiero usar 2 entradas análogas AN1 y AN2 es decir RA1 y RA2 y de las demás como entrada digitales
:(
ANSEL te sirve para seleccionar que terminales deseas que sean entradas analógicas,
Por lo tanto sería así para AN1 y AN2:
ANSEL=%00000110
ANSELH=%00000000
-
Respecto a ADCON1, no sabemos el cristal u oscilador que estás usando y es necesario conocerlo para escoger un tiempo de conversión adecuado.
Por lo tanto deberías compartir el esquemático de tu proyecto.
-
Respecto a ADCON1, no sabemos el cristal u oscilador que estás usando y es necesario conocerlo para escoger un tiempo de conversión adecuado.
Por lo tanto deberías compartir el esquemático de tu proyecto.
no visualiza mensaje en lcd 20x4 y además estoy utilizando crystal externo de 4 Mhz con 2 condensadores 22p y gnd
-
Si lees las hojas de datos, con tu cristal de 4 MHz:
(https://pbs.twimg.com/media/FvnVpqLX0AA9ytR?format=png&name=900x900)
El tiempo de adquisición puede ser Fosc/8, Fosc/16 o usar el oscilador interno. Y eso debes configurarlo en el ADCON1
-
DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 3
DEFINE ADC_ SAMPLEUS 50
Con estas definiciones ya se configura adcon1
-
DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 3
DEFINE ADC_ SAMPLEUS 50
Con estas definiciones ya se configura adcon1
Eso faltaba, un experto en PICBasic, para recurrir a las trucos que posee el compilador
-
Si lees las hojas de datos, con tu cristal de 4 MHz:
(https://pbs.twimg.com/media/FvnVpqLX0AA9ytR?format=png&name=900x900)
El tiempo de adquisición puede ser Fosc/8, Fosc/16 o usar el oscilador interno. Y eso debes configurarlo en el ADCON1
quedaría así?
ADCON1 =%11100010010001
-
No adcon1 es un registro De 8 bits además con la declaración DEFINE ADC_CLOCK 3 ya se elige de donde se utiliza el clock para el adc y 3 es el
oscilador interno rc si configuras ADCON1 = %00010000 lo divide por 8 'fOSC/8
-
No adcon1 es un registro De 8 bits además con la declaración DEFINE ADC_CLOCK 3 ya se configura adcon1
estoy usando cristal 4 mhz y 2 condensadores 22p y gnd
de acuerdo con hoja de datos enviada estoy usando FOSC/8 que corresponde 001 y se debe configurar en ADCON1
y en la pantalla lcd 20x4 no se visuliza nada
-
ADCON1 = %00010000 es fosc/8
-
ADCON1 = %00010000 es fosc/8
al realizar modificación de adcon1, en la simulación NO sigue muestra mensaje, adjunto imagen
gracias por responder de nuevo
-
Debería proporcionar el fuente para poder simular
En proteus
-
Debería proporcionar el fuente para poder simular
En proteus
te envié mensaje privado, además tengo versión 8.13 de proteus y cual tenes vos?
-
8.15
-
8.15
he respondido a tu email, y te envié el código fuente pbp y la simulación en proteus 8.13.
pensaría que con la versión proteus 8.15 será o no difícil abrir a simulación proteus 8.13
gracias por responder
-
Ya lo envié para que pruebes.
-
Ya lo envié para que pruebes.
gracias por responder de nuevo y también te respondí a tu email,
te adjunto imagen
los valores que registran en la lcd 20x4 son diferentes a los valores de los voltímetros en proteus.
12.6V positivo y -12.6V negativos
gracias
-
corrige estas lineas
VALOR1 = (B1 */3500)>>2 'Es lo mismo que (B1 * 3500)/1024
VALOR2 = (B2 */3500)>>2 'Es lo mismo que (B2 * 3500)/1024
no habia visto lo que deseabas medir
-
corrige estas lineas
VALOR1 = (B1 */3500)>>2 'Es lo mismo que (B1 * 3500)/1024
VALOR2 = (B2 */3500)>>2 'Es lo mismo que (B2 * 3500)/1024
no habia visto lo que deseabas medir
Muchas gracias por la ayuda, adjunto imagen y los valores están visualizando correctamente
:-/