# Voltimetro 0 a 9 simple con PIC12F683



## iDan (Dic 3, 2009)

Hola amigos... aqui les dejo un pequeño voltimetro hecho con el PIC12F683,
el programa fue hecho en MikroC... espero que les sirva de algo:


```
int deco[10]={0,1,2,3,4,5,6,7,32,33};
int val=0,vol=0,deci=0,aux=0,uni=0,aux2=0;
void main(void)
{
ANSEL=8;
TRISIO=0x18;
GPIO=0;
while(1)
{
val=ADC_Read(3);
vol=val/113.666666666666667;
uni=vol/1;
aux=ADC_Read(3);
aux2=aux/11.366666666666667;
deci=aux2%10;
if(GPIO.F3==1)
GPIO=deco[uni];
else
GPIO=deco[deci];
}
}
```

Aqui les dejo el link del circuito simulado en Proteus: http://www.mediafire.com/?ymozwyhmmhz


Saludos


----------



## vrpons (Ene 30, 2010)

Gracias por tu aporte, pero el archivo para descargar ya hay en el no me deja descargarlo y el programa que hay nose si esta completo o es una parte, porque las cabeceras del principio para definir el pic no estan. Te agradeceria un poco de ayuda.


----------



## iDan (Ene 30, 2010)

Hola amigo... bueno el encabezado del PIC (registros del PIC) si es eso a lo que te refieres no es necesario ponerlo al principio ya que en MikroC al momento de crear un nuevo proyecto este te da la opcion de marcar los registros del PIC que escojiste y asi ahorrarte esta parte... mira mejor te adjunto el programa (.c,.hex, etc) junto con la simulacion en Proteus, si necesitas ayuda con gusto te ayudo en lo que pueda.


Saludos


----------



## Jose Pineda (May 15, 2010)

el programa foro.hex y todos los programas .hex donde se hacen?
que codigo tiene el foro.hex para yo hacerlo ya que muestra error por que no lo encuentra?


----------



## iDan (May 16, 2010)

Hola Jose Pineda


Si te refieres a la ubicacion donde se crean es depende cual tu le asignes al momento de crear el proyecto en MikroC ya que no veo que asigne una por default a menos que en MikroC Pro 2009 si... y a lo que refieres a foro.hex es un archivo obtenido de un programa compilado hecho en Lenguaje C y que tipo de error te da?? que quieres hacer con el archivo como para que te de tal error??


Saludos


----------



## Jose Pineda (May 16, 2010)

quiera hacer funcionar tu voltimetro, pero me da un error por que no encuentra 
el archivo foro.hex
al ingresar al pic ahi esta una casilla donde esta el archivo foro.hex que me imagino
es para programarlo, pero ese archivo no lo tengo, cual es el codigo? lo hicistes en C?


----------



## iDan (May 16, 2010)

Aaa... ok bueno como ves el circuito y el programa (.hex, .c, etc) vienen en una carpeta zip verdad... bueno me imagino que ya extrajiste la carpeta en algun lugar (de preferencia el escritorio) bueno asumiendo que ya hiciste eso, lo siguiente seria abrir el ISIS y darle doble click encima al PIC y en una partecita que dice "Program File" le das a al boton con forma de carpeta y te saldra un menu para buscar el .hex donde lo hayas puesto... lo encuentras... le das abrir y listo... si tienes dudas me avisas...


Saludos


----------



## Jose Pineda (May 16, 2010)

no tengo el zip que contiene el .hex, solo tengo la simulacion en proteus

si ya lo encontre , gracias
como hiciste ese punto hex


----------



## iDan (May 16, 2010)

Ps basicamente con el compilador MikroC ya que haces tu programa en C, lo compilas y el te hace el .hex, ya lo lograste simular?


----------



## Jose Pineda (May 18, 2010)

si ya lo simule, gracias
quiero hacer que el voltimetro cuente de 0 a 100, como lo hago?
sera dificil? ya lo hiciste?
ya tengo el mikroC


----------



## iDan (May 19, 2010)

Tu quieres que tenga un rango de medicion de 0 a 100 VCD verdad?? 

Bueno muy simple... en la parte de la programacion lo unico que se hace es separar los decimales de las unidades, las unidades de las decenas y las decenas de las centenas mediante divisiones y sus residuos... tal y como tu vez en el programa adjunto... con lo que respecta al circuito seria hacer nuevamente un divisior de voltaje para hacer una relacion entre 0/100 y 0/5 VCD ya que este ultimo rango es el voltaje adecuando para meterle a un PIC...


Saludos...


----------



## kelyosk (Oct 31, 2011)

oye me interesaria mucho entender el codigo ya que voy empezando en esto de la programacion como no entiendo porque tienes el valor vol=val/113.666666666666667; y aux2=aux/11.366666666666667; o para que es ANSEL=8; creo que este ultimo es un registro no???
me gustaria si es que me puedes ayudar a entender el codigo no se si algo mas explicado y para poder modificarlo a mayor escala


----------



## biker2k3 (Oct 31, 2011)

Estaria bueno que comentes el codigo porque me marea un poco, para entender bien que hace, gracias por el aporte!


----------



## tincho8606 (Abr 4, 2012)

Muchas gracias por el aporte!!!


----------

