TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: dishy en 30 de Noviembre de 2008, 13:19:27
-
Hola amigos, soy nueva en esto de programacion de PIC, me gustaria saber como capturar el dato del LM35 por el PORTA0, para luego grabarlo en el eeprom del pic...el pic q estoy utilizando es el 16f870, y no he podido capturar ese dato,...ahh estoy utilizando el compilador CCS, por favor alguien me podria ayudar.
-
Hola.
Bienvenida al foro.
El CCS tiene unas funciones especiales para guardar y leer datos en la eeprom: write_eeprom(address, value) y read_eeprom(address).
Lo que tendrias que hacer es usar el ADC (yo lo usaria a 8 bits), y guardar el dato de la conversion en la eeprom con la funcion que te dije antes. Debes tener en cuenta el tamaño de la EEPROM del micro a usar para saber cuantos datos vas a poder guardar.
Saludos
-
asi es, primero debes configurar el pin porta0 como analogo digital, luego utilizar la función correspondiente para capturar el dato del AD (en el help del ccs esta todo) y luego aplicar lo que te recomienda MLO.
también puedes revisar ejemplos que hay en el foro, para el AD tienes que tener en cuenta el oscilador que vas a utilizar. si ya lo intentastes postea tu codigo para ver donde estas fallando.
saludos
-
Muchas gracias MLO__, ya puedo guardar y extraer datos de la eeprom,... pero solo logre guardar datos de tipo char y mostrarlos en el LCD, aun no puedo mostrar en el LCD los datos q capturo de la LM35 que son de tipo INT... supongo que es diferente.(seguire revisando)
Ahh micro_cadaver gracias por el datoasi es, primero debes configurar el pin porta0 como analogo digital, luego utilizar la función correspondiente para capturar el dato del AD (en el help del ccs esta todo) y luego aplicar lo que te recomienda MLO.
también puedes revisar ejemplos que hay en el foro, para el AD tienes que tener en cuenta el oscilador que vas a utilizar. si ya lo intentastes postea tu codigo para ver donde estas fallando.
saludos
, si lo eh estado revisando y me sirvio.
Pero de todas maneras se que me falta mucho mas por aprender cobre pic's , seguire revisando para solucionar lo del LCD.
Nuevamente muchas gracias por responder, me fue de gran ayuda :)
-
Hola.
El dato que adquieres es un numero entre 0 y 255, ya que es el resultado de la conversion AD. Si quieres mostrar la temperatura debes transformar ese dato por medio de una multiplicacion.
Como la resolucion es de 8 bits, se multiplicaria al numero adquirido por 0.01953 (5/256), de esta manera obtendremos el valor del voltaje analogico que saca el sensor. Para pasarlo a temperatura basta con multiplicar por la resolucion del sensor.
Ya con la funcion printf() puedes escoger el dato a sacar, mira en la ayuda del CCS las posibles salidas de las variables. Para un float por ejemplo se usa:
printf(lcd_putc, "%f", valor_flotante).
Saludos
-
animo dishy, en el foro encontraràs mucha gente que te apoyara y tambien mucha informacion.
saludos :-/