martes, 14 de julio de 2015

MICROCONTROLADOR PIC

Microcontroladores de Microchip



Estos micros pertenecen a la gama media y disponen de un conjunto de 35 instrucciones, por eso lo llaman de tipo RISC (Reduced Instruction Set Computer) mas claro sería "Computador con un conjunto de Instrucciones Reducido" pocas instrucciones pero muy poderosas, otras son de tipo CISC (Complex Instruction Set Computer) es decir “Computador con un conjunto de Instrucciones Complejo”, demasiadas instrucciones, difíciles de recordar.

las funciones especiales de las que disponen los micros son:

Conversores análogo a digital (A/D) en caso de que se requiera medir señales analógicas, por ejemplo temperatura, voltaje, luminosidad, etc.

Temporizadores programables (Timer's) Si se requiere medir períodos de tiempo entre eventos, generar temporizaciones o salidas con frecuencia específica, etc.

Interfaz serial RS-232. Cuando se necesita establecer comunicación con otro microcontrolador o con un computador.

Memoria EEPROM Para desarrollar una aplicación donde los datos no se alteren a pesar de quitar la alimentación, que es un tipo de memoria ROM que se puede programar o borrar eléctricamente sin necesidad de circuitos especiales.

Salidas PWM (modulación por ancho de pulso) Para quienes requieren el control de motores DC o cargas resistivas, existen microcontroladores que pueden ofrecer varias de ellas.

Técnica llamada de "Interrupciones",   Cuando una señal externa activa una línea de interrupción, el microcontrolador deja de lado la tarea que está ejecutando, atiende dicha interrupción, y luego continúa con lo que estaba haciendo. 



Arquitectura interna del PIC


Hay dos arquitecturas conocidas; la clásica de Von Neumann, y la arquitectura Harvard, veamos como son:
Arquitectura Von Neumann Dispone de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a través de un sistema de buses único (direcciones, datos y control.


Figura 1: Arquitectura Von Neumann

Arquitectura Harvard Dispone de dos memorias independientes, una que contiene sólo instrucciones, y otra que contiene sólo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultáneamente en ambas memorias, ésta es la estructura para los PIC's. 


Figura 2: Arquitectura Harvard
PIC16F84A

Se trata de un microcontrolador de 8 bits. Es un PIC de gama baja, cuyas características podemos resumir en:
- Memoria de 1K x 14 de tipo Flash

- Memoria de datos EEPROM de 64 bytes
- 13 líneas de E/S con control individual
- Frecuencia de funcionamiento máxima de 10 Mhz.
- Cuatro fuentes de interrupción
* Activación de la patita RB0/INT
* Desbordamiento del TMR0
Cambio de estado en alguna patia RB4-RB7
* Fin de la escritura de la EEPROM de datos
Temporizador/contador TMR0 programable de 8 bits
- Perro Guardián o WatchDog

Generalmente se encuentra encapsulado en formato DIP18. A continuación puede apreciarse dicho encapsulado y una breve descripción de cada una de las patitas: imagen:





Descripción de patillas


NombreTipoDescripción
OSC1/CLKIN16IEntrada del oscilador a cristal/Entrada de la fuente de reloj externa
OSC2/CLKOUT15OSalida del oscilador a cristal. En el modo RC, es una salida con una frecuencia de ¼ OSC1
MCLR4I/PReset/Entrada del voltaje de programación.
RA017I/OPuerto A bidireccional, bit 0
RA118I/OPuerto A bidireccional, bit 1
RA21I/OPuerto A bidireccional, bit 2
RA32I/OPuerto A bidireccional, bit 3
RA4/T0CKI3I/OTambién se utiliza para la entra de reloj para el TMR0
RB0/INT6I/OPuerto B bidireccional, bit 0
Puede seleccionarse para entrada de interrupción externa
RB17I/OPuerto B bidireccional, bit 1
RB28I/OPuerto B bidireccional, bit 2
RB39I/OPuerto B bidireccional, bit 3
RB410I/OPuerto B bidireccional, bit 4
Interrupción por cambio de estado
RB511I/OPuerto B bidireccional, bit 5
Interrupción por cambio de estado
RB612I/OPuerto B bidireccional, bit 6
Interrupción por cambio de estado
RB713I/OPuerto B bidireccional, bit 7
Interrupción por cambio de estado
Vss5PTierra de referencia
Vdd14PAlimentación


PIC16F877A.

DESCRIPCIÓN DEL PIC16F877A: Este microcontrolador versátil  y económico dentro del mercado de los microcontroladores, su popularidad se debe sobre todo a la abundante información que del se encuentra en la red (proyectos, diseños, foros etc.) y a que las herramientas de software necesarios para trabajar con estos microcontroladores es proporcionada gratuitamente por su fabricante (MICROCHIP). Este microcontrolador es la parte más importante del presente proyecto.
Este microcontrolador se basa en la arquitectura Harvard en la cual el programa y los datos se pueden trabajar desde memorias separadas, lo que posibilita que las instrucciones y los datos posean longitudes diferentes, esta misma estructura es la que permite la superposición de los ciclos de búsqueda y ejecución de las instrucciones lo cual se ve reflejado en una mayor velocidad de trabajo y precisión a diferencia de otros microcontroladores.

MEMORIA DEL PROGRAMA. La memoria estos microcontroladores es para el PIC16F877A(8) es de 8Kbyte de longitud (8192 líneas para código) con palabras de 14 bits, como es del tipo flash ROM se puede programar y borrar la cantidad de veces que indica la hoja de datos de este microcontrolador.
                


Terminales del Microcontrolador y sus respectivas funciones:

 

 

 

 

 

 

 

 

 





Figura 4: Diagrama del PIC16F877A

Pata 1(MCLR): Es una pata de múltiples aplicaciones, es la entrada de Reset (master clear) si está a nivel bajo y también es la habilitación de la tensión de programación cuando se está programando el dispositivo. Cuando su tensión es la de VDD el PIC funciona normalmente.

Patas  2, 3, 4, 5, 6 y 7 (RA0-RA5): Es el PORT A. Corresponden a 6 líneas bidireccionales de E/S (definidas por programación). Es capaz de entregar niveles TTL cuando la alimentación aplicada en VDD es de 5V ± 5%.

Patas 13 y 14 (OSC1/CLKIN y OSC2/CLKOUT): Corresponden a los pines de la entrada externa de reloj y salida de oscilador a cristal respectivamente.

Patas 11 12  y 31 32 (Vss y VDD): Son respectivamente las patas de masa y alimentación. La tensión de alimentación de un PIC está comprendida entre 2V y 6V aunque se recomienda no sobrepasar los 5.5V.

Patas 33, 34, 35, 36, 37, 38, 39 y 40 (RB0-RB7): Es el PORT B. Corresponden a ocho líneas bidireccionales de E/S (definidas por programación). Pueden manejar niveles TTL cuando la tensión de alimentación aplicada en VDD es de 5V ± 5%. RB0 puede programarse además como entrada de interrupciones externas INT. Los pines RB4 a RB7 pueden programarse para responder a interrupciones por cambio de estado. Las patas RB6 y RB7 se corresponden con las líneas de entrada de reloj y entrada de datos respectivamente, cuando está en modo programación del integrado.

Patas 15, 16, 17, 18, 23, 24, 25 y 26 (RC0-RC7): Es el PORT C. Corresponden a ocho líneas bidireccionales de E/S (definidas por programación). Pueden manejar niveles TTL cuando la tensión de alimentación aplicada en VDD es de 5V ± 5%.


Patas 19, 20, 21, 22, 27, 28, 29 y 30 (RD0-RD7): Es el PORT D. Corresponden a ocho líneas bidireccionales de E/S (definidas por programación). Pueden manejar niveles TTL cuando la tensión de alimentación aplicada en VDD es de 5V ± 5%. Generalmente los periféricos como LCD y KeyPAD se conectan en estas E/S.


Fuentes:
         Enrique Palacios, Fernando Remiro, Lucas J López,  “Microcontrolador PIC16F84 -  Desarrollo de Proyectos”. - AlfaOmega Grupo Editor, S.A de CV. México, 2006 - 2da Ed.  pp. xxi – xxiii , pp 1 - 2.

      José María, Angulo Usategui, Ignacio Angulo Martínez,  “Microcontroladores PIC - Diseño práctico de aplicaciones PIC16F84”,  McGraw Hill España, 2003, 3ra Ed. pp. 1  3.

        http://www.ni.com
        http://www.microchip.com/
                     http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf

              http://www.unicrom.com/Tut_PICs3.asp

              http://perso.wanadoo.es/pictob/micropic16f84.htm

              http://www.alselectro.com/images/pic1_thumb.jpg

              http://www.microcontrollerboard.com/images/PIN_DIAGRAM_PIC16F877A.jpg

   




No hay comentarios:

Publicar un comentario