martes, 8 de mayo de 2012

PIC 16F628A

PIC 16F628A

En esta entrada hablaremos del PIC 16F628A el cual utilizare para hacer mi entrada pic.
 
El PIC 16F628A presenta algunas ventajas que lo hacen superior (desde mi punto de vista) a otros PIC.

Este microcontrolador es el remplazo del obsoleto pic16f84a, por ende el pic16f628a es compatibles con el pic16f84a, gracias a eso se puede cambiar los proyectos que hayan hecho para en f84 al f628 sin ningún problema.

Posee una arquitectura RISC avanzada así como un juego reducido de 35 instrucciones (Instrucciones posibles a utilizar, si se programa en lenguaje ensamblador).

En pocas palabras la arquitectura RISC: Son computadoras con un conjunto de instrucciones reducido.

Ver una información mas completa sobre esta arquitectura: http://www.azc.uam.mx/publicaciones/enlinea2/num1/1-2.htm

Si deseas ver el conjunto de instrucciones que se pueden utilizar les dejo el siguiente link (Aunque las instrucciones son para el f84 sirven igual para el f628):


Distribución I/O

La distribución de los pines de entradas y salidas del PIC es:

Diagrama de pines del PIC16F628
PORTA: RA0-RA7
  • Los pines RA0-RA4 y RA6–RA7 son bidireccionales y manejan señales TTL.
  • El pin RA5 es una entrada Schmitt Trigger que sirve también para entrar en el modo de programación cuando se aplica una tensión igual a Vpp (13,4V mínimo).
  • El terminal RA4 puede configurarse como reloj de entrada para el contador TMR0.
  • Los pines RA0-RA3 sirven de entrada para el comparador analógico.
PORTB: RB0-RB7
  • Los pines RB0-RB7 son bidireccionales y manejan señales TTL
  • Por software se pueden activar las resistencias de pull-up internas, que evitan el uso de resistencias externas en caso de que los terminales se utilicen como entrada (permite, en algunos casos, reducir el número de componentes externos)
  • El pin RB0 se puede utilizar como entrada de pulsos para provocar una interrupción externa
  • Los pines RB4-RB7 están diseñados para detectar una interrupción por cambio de estado. Esta interrupción puede utilizarse para controlar un teclado matricial, por poner un ejemplo
Otros pines
  • VDD: Pin de alimentación positiva. De 2 a 5,5 Vcc.
  • VSS: Pin de alimentación negativa. Se conecta a tierra o a 0 Vcc.
  • MCLR: Master Clear (Reset). Si el nivel lógico de este terminal es bajo (0 Vcc), el microcontrolador permanece inactivo. Este Reset se controla mediante la palabra de configuración del PIC.
  • OSC1/CLKIN: Entrada de oscilador externo.
  • OSC2/CLKOUT: Salida del oscilador. El PIC 16F628 dependiendo de cómo se configure puede proporcionar una salida de reloj por medio de este pin.
Caracteristicas

El pic posee unas características entre las cuales tenemos:
  • Como mencione anteriormente un conjunto reducido de instrucciones (RISC), solamente 35 que tenemos que aprender a utilizar.
  • Oscilador interno de 4MHz.
  • Las instrucciones se ejecutan en un sólo ciclo de máquina excepto los saltos (goto y call), que requieren 2 ciclos. Aquí hay que especificar que un ciclo de máquina se lleva 4 ciclos de reloj, si se utiliza el reloj interno de 4MHz, los ciclos de máquina se realizarán con una frecuencia de 1MHz, es decir que cada instrucción se ejecutará en 1uS (microsegundo)
  • Opera con una frecuencia de reloj de hasta 20 MHz (ciclo de máquina de 200 ns)
  • Memoria Flash: 2048 locaciones de 14 bits
  • Memoria de datos: Memoria RAM de 224 bytes (8 bits por registro)
  • Memoria EEPROM: 128 bytes (8 bits por registro)
  • Stack de 8 niveles
  • 16 Terminales de I/O que soportan corrientes de hasta 25 mA
  • 3 Temporizadores
  • Módulos de comunicación serie, comparadores, PWM
Tipos de Memoria del PIC

Como mencione en las caracteristicas este pic tiene solamente tres tipos de memorias: Flash, RAM y EEPROM, a continuación explicare cada uno:

Memoria Flash: esta memoria es de tipo no volátil en esta memoria ira nuestro programa que realicemos.

El pic16f628a tiene una capacidad de 2048 locaciones osea 2048 líneas de código que podemos escribir en lenguaje assembler para este microcontrolador.

Memoria RAM: Memoria que sirve para guardar datos y variables, esta memoria es de tipo volátil, es decir perderá la información cuando desaparezca la alimentación.

Memoria EEPROM: Memoria de tipo no volátil de poca capacidad que nos sirve para guardar datos, la diferencia con la RAM es que aun cuando deje de recibir alimentación de corriente la información no se perderá.

Tipos de Osciladores

Este pic puede ser operado en ocho diferentes modos de oscilador: 
  • RC, Oscilador con resistencia y condensador (2 modos).
  • XT, Cristal de cuarzo.
  • HS, Cristal de alta velocidad.
  • LP, Cristal de baja frecuencia y bajo consumo de potencia.
  • INTOSC, oscilador interno de precisión de 4mhz (2 modos).
  • EC, señal externa de entrada de reloj.
En la siguiente imagen muestro el diagrama de bloques del oscilador:

                       

En la siguiente tabla se muestra los valores de los cristales y sus respectivos condensadores de filtro para el oscilador externo.

                            

Al momento de programar el pic se debe especificar que tipo de oscilador se usa.

Internamente la frecuencia del oscilador es dividida por 4, así que si temeos un oscilador de 4 MHz, la frecuencia de trabajo es de 1 MHz, por lo que cada instrucción se ejecuta cada 1 us.

Por ultimo les dejo el link para que puedan ver la Datasheet completa del PIC:


Bibliografías

http://proyectoaula-pic16f628a.blogspot.mx/
http://sites.google.com/site/proyectospic2010/PIC18F452/introduccion-pic16f628a-1
http://www.circuitoselectronicos.org/2011/01/el-pic-16f628.html
http://proyecto-aula-pic16f628a.blogspot.mx/2011/04/pic16f628a.html

2 comentarios: