Electrónica Unicrom

 Portada  Componentes electrónica  Conceptos electrónica  PIC, PLC, Osciladores, Filtros  Digitales 
 Circuitos  UPS y Fuentes  Instrumentos y mediciones  Telecom  Computadoras  Artículos  Foros 
Registro Ayuda
Usuario:
Contraseña:
Recordar contraseña Olvidó contraseña?
Menú para Invitado
- Tópicos activos (0)
- Artículos nuevos (0)
- Nuev. descargas (0)
- Mensajes priv.
- Mis favoritos
- Estadísticas
- Mensajes en línea

Miembros: 24023
Miembros Hoy: [4]
Usuarios activos:
2 miembros y 447 invitados
 
 

Contenido adicional
Normas y Guía de los Foros
Foros archivados
Artículos generales
Avisos Clasificados
Directorio de Enlaces
Sitios amigos
Archivo de noticias
Descargas
Mapa del Sitio
Colaboran con Unicrom
Mensaje de bienvenida
Principiantes
Glosario electrónica
 
 

Microcontroladores PIC (Parte # 3)

El PIC 16F84
Para que sirve un PIC, organización de la memoria

El PIC es el microcontrolador que fabrica la compañía Microchip. Aunque no son los microcontroladores que más prestaciones ofrecen, en los últimos años han ganado mucho mercado, debido al bajo precio de éstos, lo sencillo de su manejo y programación y la ingente cantidad de documentación y usuarios que hay detrás de ellos.

¿Para qué sirve un PIC?

Un PIC, al ser un microcontrolador programable, puede llevar a cabo cualquier tarea para la cual haya sido programado.

No obstante, debemos ser conscientes de las limitaciones de cada PIC. Así, el 16F84, PIC que se tratará en este tutorial, no podrá generar un PWM ni convertir señales analógicas en digitales, entre otras.

El 16F84

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: 

-  VDD: alimentación
- VSS: masa
- OSC1/CLKIN-OSC2/CLKOUT: conexión del oscilador
- VPP/MCLR: tensión de programación y reset
- RA0-RA3: líneas de E/S de la puerta A
- RA4: línea de E/S de la puerta A o entrada de impulsos de reloj para TMR0
- RB0/INT: línea de E/S de la puerta B o petición de interrupción
- RB1-RB7: líneas de E/S de la puerta B

Organización de la memoria

A continuación podemos ver la organización de la memoria del 16F84:

Podemos comprobar como la memoria está dividida en dos bancos (cada una de las columnas): banco 0 y banco 1. Las primeras 12 posiciones de cada banco (00h-0Bh y 80h-8Bh) están ocupadas por los Registros de Propósito Especial (Special Purpose Registers). Estos registros, en los que entraremos en detalle más adelante, son los encargados de controlar ciertas funciones específicas del PIC.

Las 68 posiciones siguientes (0Ch-4Fh y 8Ch-CFh) son los denominados Registros de Propósito General, del inglés General Purpose Registers. Éstos son empleados para guardar cualquier dato que necesitemos durante la ejecución del programa.

BANCO 0

  • TMR0: es un temporizador/contador de 8 bits. Puede operar de dos modos distintos:

     - Temporizador: el registro incrementa su valor en cada ciclo de instrucción (Fosc/4).
     - Contador: el registro incrementa su valor con cada impulso introducido en la patita RA4/TOSKI.

    En ambos casos, cuando el registro se desborda, es decir, llega a su valor máximo (en este caso 2^8 = 256. Como el 0 también se cuenta, el máximo valor sería 255), empieza de nuevo a contar a partir del 0, no sin antes informar de este evento a través de la activación de un flag y/o una interrupción.
     

  • PCL: es el contador del programa. Indica la dirección de memoria que se leerá a continuación. En algunas ocasiones, como el empleo de las tablas, el uso de este registro es imprescindible.
     

  • STATUS: registro de 8 bits que sirve para configurar ciertos aspectos del PIC. En la siguiente figura se aprecia la disposición de los bits de dicho registro:
     

    Bit 7

    Bit 6

    Bit 5

    Bit 4

    Bit 3

    Bit 2

    Bit 1

    Bit 0

    IRP

     

    RP0

    TO#

    PD#

    Z

    DC

    C

     - RP0: indica el banco de memoria con el que se está trabajando. Cuando vale 0 se selecciona el Banco 0 y cuando vale 1 el Banco 1.
     

  • PORTA: representación de la puerta A. Cada bit representa una línea de E/S de la puerta A:
     

    Bit 7

    Bit 6

    Bit 5

    Bit 4

    Bit 3

    Bit 2

    Bit 1

    Bit 0

     

     

     

    RA4

    RA3

    RA2

    RA1

    RA0

    Como se puede comprobar, los tres bits de mayor peso no representan ninguna línea de E/S, ya que la puerta A sólo tiene 5 líneas de E/S
     

  • PORTB: lo mismo que la puerta A, pero en este caso con 8 líneas de E/S

BANCO 1

  • TRISA: registro de 8 bits de configuración de la puerta A. Si un bit se encuentra en 1, esa línea de E/S se configura como entrada; si, en cambio, se encuentra a 0, se configura como salida

  • TRISB: lo mismo que TRISA, pero referente a la puerta B.
     

    Bit7

    Bit6

    Bit5

    Bit4

    Bit3

    Bit2

    Bit1

    Bit0

    RB7

    RB6

    RB5

    RB4

    RB3

    RB2

    RB1

    RB0

Finalmente cabe destacar el registro W, también conocido como registro de trabajo (del inglés work) o acumulador. Es de vital importancia ya que, entre otras, deberemos usarlo de registro puente para llevar a cabo ciertas operaciones.
 

Enlaces relacionados
-
Programador de PICs y Memorias
- Tutoriales de computadoras / ordenadores
Sección de PICs en nuestros Foros
- Microcontroladores PSOC
 

< Anterior          Siguiente >
 

Recomendar a un amigo Recomendar este Tutorial a un amigo
 

 
 

Servicios


  Correo Unicrom

Suscríbirme al boletín de
Electrónica Unicrom

Alojado en eListas.net
 
 

Patrocinadores




 

 
 


Poner Unicrom como página de inicio Poner Unicrom en Favoritos Privacidad   © 2002-8 Unicrom.com All Rights Reserved. MaxWebPortal Snitz Forums Ir arriba