viernes, 8 de abril de 2011

PROGRAMACION EN ENTORNO DE DESARROLLO MPLAB-IDE (ANALOGO-DIGITAL)

En este proyecto realizaremos un Termomentro Digital con resolucion de 10 bits, utilizaremos el entorno de desarrollo MPLAB-IDE con el compilador CCcs. para la programacion del microcontrolador (PIC16f87X) y mostraremos los resultados de dicha conversion en una pantalla LCD, para este proceso exiten diferentes formas de trabajar una conversion A/D en el entorno mensionado antes, en este caso lo haremos con los registros de control de conversion adcon0, adcon1, adresh y adresl. Mas adelante en otra entrada encontraremos otras conversiones A/D con los otros metodos de conversion.

ADRESL es donde se almacena el valor de la conversion pero este valor es de 8 bit y la resolucion es de 10 bits es por esto que se utiliza el ADRESH que es tambien de 8 bits pero solo se utilizan los dos primeros bits el bit 0 y bit 1, es decir hay tres diferentes convinaciones 01,10,11
01=1, 10=2, 11=3 es por eso que en las lineas de instruccion siguientes

valor_adc=adresl; //valor_adc es una variable donde se almacena el valor de la conversion de 8 bits

if(adresh==1) //pregunta por los otros dos bits es decir 01
{
valor_adc+=256;
}
if(adresh==2) //pregunta por los otros dos bits es decir 10
{
valor_adc+=512;
}
if(adresh==3) //pregunta por los otros dos bits es decir 11
{
valor_adc+=768;

ejemplo si en el adresl se almaceno el 11111111 que es el de la justificacion a la izquierda es decir faltan dos bits que son los que vamos a utilizar del adresh que es el de la justificacion a la derecha
adresh utiliza los bits 8 y 9 es decir 2^8 y 2^9 o sea 256 y 512 y falta cuando es 11 que es la suma 256+512=768








Este es el link donde podemos descargar el proyecto del Termometro Digital, dentro de la carpeta se encuentra el montaje de proteus y la programacion en MPLAB-ID, espero les pueda servir de algo.

Termometro digital.

No olviden comentar.







No hay comentarios:

Publicar un comentario