PIC16F87X

Esta característica facilita sustancialmente el diseño de proyectos, minimizando el tiempo empleado en programar los microcontroladores (µC).

En los encapsulados de 28 pines no está implementado el Puerto Paralelo Esclavo (PSP).

Los terminales VDD (tensión) y VSS (masa) sirven únicamente para alimentar al dispositivo.

La tensión a la cual se alimenten determinará la frecuencia máxima de trabajo.

La potencia máxima disipada es de 1 W y se calcula mediante la siguiente fórmula:

donde: El reloj u oscilador se utiliza para generar la base de tiempo del microcontrolador.

Con un valor lógico bajo el dispositivo se reinicia, comenzando la ejecución desde el principio del programa que tenga cargado en memoria.

Para evitar esto se puede usar un condensador instalado en paralelo con la entrada MCLR (filtro pasa bajo).

Existe infinidad de circuitos y posibilidades para provocar el reinicio externo en los microcontroladores, adecuándose cada solución a la necesidad o al criterio de diseño del circuito y su función específica.

Esto se refleja en que tienen un repertorio reducido de 35 instrucciones ortogonales (prácticamente todas las instrucciones pueden utilizar cualquier operando), éstas son rápidas y todas tienen una longitud fija de 14 bits.

La técnica que utilizan estos dispositivos para la conversión es la de “incremento y comparación”.

Consiste en usar un registro auxiliar cuyo valor se compara con la entrada analógica.

Así hasta que el valor del registro sea lo más aproximado posible (pero sin pasarse) a la entrada analógica.

Los registros asociados al conversor A/D son: Como la resolución del convertidor A/D es de 10 bits y los registros del µC son de 8 bits, se utilizan dos registros, ADRESL y ADRESH (AD Result Low y AD Result High), de forma concatenada.

Debe ponerse en nivel lógico alto (1) para comenzar el proceso de conversión.

Automáticamente, este bit pasará a nivel lógico bajo (0) cuando la conversión haya finalizado.

Si este bit está a nivel lógico bajo, el módulo de conversión estará deshabilitado.

El registro ADCON1 es el encargado de definir qué patita del µC usaremos como entrada analógica.

Esto es muy útil cuando, por ejemplo, se usa un mismo terminal del µC como salida/entrada digital y en un determinado momento se quiere que ese mismo terminal lea un voltaje analógico externo.

El tiempo que le toma al μC realizar la conversión se denomina

A modo de algoritmo los pasos necesarios para una correcta utilización del módulo A/D son los siguientes: En estos pasos no se tiene en cuenta que se pueden necesitar más de una conversión por distintos canales o bien que se realicen varias conversiones y luego tomar un promedio.

Esta última técnica es muy usada cuando las variaciones de tensión son rápidas y promediando tres o cuatro conversiones se tiene así el resultado, hasta que se realice una segunda conversión.

El valor del predivisor se seleccionará configurando los tres bits menos significativos del registro OPTION_REG, donde se tendrán las siguientes opciones:n las siguientes posibilidades: La familia de los PIC16F87X cuenta con un conjunto reducido de 35 instrucciones, lo que facilita enormemente su memorización.

Cada una de estas instrucciones se codifica en una palabra de 14 bits única e inequívoca, que conforman en conjunto lo que se conoce como código máquina del dispositivo.

Aunque podría emplearse directamente este código máquina para programar el dispositivo (ya fuera en formato binario o en hexadecimal), resultaría demasiado lento y complicado.

Actualmente, para la programación de microcontroladores puede emplearse tanto el lenguaje ensamblador como lenguajes de más alto nivel, tipo C o Pascal, empleando el compilador adecuado.

En caso de utilizar un lenguaje de alto nivel, siempre se requerirá compilar el programa terminado para obtener el archivo hexadecimal (lenguaje máquina) con el cual se programará el microcontrolador.

El archivo generado deberá tener la extensión ".asm": El símbolo ; permite escribir comentarios en el programa.

Inicio, Comienzo, Apaga y Enciende son etiquetas que ayudan a identificar una dirección de memoria del programa.

Uno de ellos, con extensión ".hex", es el que se grabará en el PIC, y contiene todas las instrucciones traducidas al lenguaje máquina del microcontrolador.