Está en la página 1de 10

Introducción

La industria electrónica evoluciona constantemente en la aplicación de nuevas tecnologías para


conseguir los múltiples procesos que en ella se realizan, incorporando automatismos cada vez más
sofisticados. Creando la necesidad de diseñar sistemas con mejores características, de menor tamaño,
bajos requerimientos de energía, mejor realización, teniendo un especial énfasis sobre todo en la
facilidad del sistema diseñado.

Uno de los sistemas utilizados actualmente es el microcontrolador que se lo encuentra en aplicaciones


tales como: control de alarmas, tableros de control en la industria automotriz, en la instrumentación
médica, en los teclados de computadora, sistemas portátiles de almacenamiento de datos, en equipos
de laboratorio, entre otros.

Un microcontrolador es todo un sistema mínimo dentro de un solo dispositivo lo cual ofrece enormes
beneficios tecnológicos. En estos circuitos se puede programar en un solo “chip”, para desarrollar e
implementar varias aplicaciones y funciones con menos componentes que la circuitería tradicional
de compuertas lógicas, optimizando mucho espacio físico, son más económicos y sin la limitación
de que un cambio de lógica del usuario, ocasione un cambio en el diseño del hardware, ya que los
cambios ampliaciones futuras del sistema son casi nulos (solo se requieren cambios en el software).

Los microcontroladores PIC, pueden ser programados tanto en lenguaje ensamblador como en Basic
y principalmente en lenguaje C, para el que existen numerosos compiladores.
Microcontrolador PIC16F628A

Es un dispositivo electrónico capaz de llevar a cabo procesos lógicos, ya que en su interior posee
toda la arquitectura de un computador, esto es CPU, memorias RAM, EEPROM, y circuitos de
entrada y salida. Un microcontrolador de fábrica, no realiza tarea alguna, este debe ser programado
para que realice desde un simple parpadeo de un led hasta un sofisticado control de un robot. Un
microcontrolador es capaz de realizar la tarea de muchos circuitos lógicos como compuertas AND,
OR, NOT, NAND, conversores A/D, D/A, temporizadores, decodificadores, etc., simplificando todo
el diseño a una placa de reducido tamaño y pocos elementos. Estos procesos o acciones son
programados en lenguaje ensamblador por el usuario, y son introducidos en este a través de un
programador.

El PIC 16f628A es un microcontrolador de 8 bit, posee una arquitectura RISC (computador con juego
de instrucciones reducido) avanzada así como un juego reducido de 35 instrucciones. Este
microcontrolador es el remplazo del obsoleto PIC16f84A, los pines del PIC16f628a son compatibles
con el PIC16f84A, así se podrían actualizar proyectos que hemos utilizado con el PIC16f84A.

Los microcontroladores más utilizados hoy en día, son los del fabricante MICROCHIP, por la amplia
variedad de microcontroladores que nos ofrece, y la información de cada uno de los
microcontroladores que nos proporciona sin ningún costo alguno.

El lenguaje nativo de estos microcontroladores es el ASM: El lenguaje ensamblador o assembler (en


inglés: assembler language y la abreviación ASM) es un lenguaje de programación de bajo nivel.
Consiste en un conjunto de mnemónicos que representan instrucciones básicas para los
computadores, microprocesadores, microcontroladores y otros circuitos integrados programables.
Características generales

Características más relevantes del PIC16F628A:

 Velocidad de operación hasta 20MHZ con oscilador externo.


 Oscilador interno RC (resistencia condensador) de 4MHZ calibrado de fábrica al ±1%.
 Admite 8 configuraciones de oscilador.
 8 niveles de pila.
 Procesador con arquitectura HARVARD.
 Conjunto reducido de instrucciones RISC (35) gama media.
 Instrucciones de un ciclo excepto los saltos (200nSpor instrucción a 20 MHZ).
 Resistencias PULL-UP programables en el puerto B.
 Pin RA5 MCLR programable como reset externo o pin de entrada.
 Rango de operación desde 3V hasta 5.5V.
 15 pines de I/O y 1 solo de entrada (RA5).
 Temporizador perro guardián WDT independiente del oscilador.
 Programable con bajo voltaje LPV (5V).
 Programación serial en Circuito ICSP por 2 pines: RB6 reloj y RB7 datos.
 Código de protección programable por sectores.
 Memoria de programa FLASH 2048K. de 100.000 ciclos escritura/borrado.
 Memoria de datos EEPROM de 1.000.000 ciclos escritura/borrado de 100 años retención.
 2 circuitos comparadores análogos con entradas multiplexadas.
 Timers, Timer 0 a 8 bits, Timer 1 a 16 bits y Timer 2 a 8 bits.
 Módulo CCP, Captura compara 16 bits y PWM, modulación de ancho de pulso 10 bits.
 10 fuentes de interrupción.
 Módulo de comunicación serial USART/SCI.
 Capacidad de corriente para encender leds directamente (25 mA I/O)) por cada pin
Arquitectura del microcontrolador PIC 16F628

El PIC16F628 pertenece al tipo de procesadores con arquitectura Harvard, es decir, la memoria de


datos y de código separadas, y arquitectura RISC (Reduced Instruction Set Computer) Grupo
reducido de instrucciones para computadoras. El microcontrolador cuenta con los siguientes
elementos: memoria de programa de 2K del tipo FLASH, programable y borrable eléctricamente,
128 bytes de memoria EEPROM para el almacenamiento de datos permanentes en memoria, 224
bytes de RAM., dos puertos de entrada-salida , el puerto A con 8 señales y el B con 8 señales, en
total 16 señales de entrada salida. Adicionalmente, el microcontrolador cuenta con 3 temporizadores.
Adicionalmente, el 16F628 integra un UART y un generador PWM

El CPU puede procesar un total de 35 instrucciones. Cada una de las instrucciones está contenida en
una palabra de 14 bits y todas se ejecutan en un ciclo de instrucción, con excepción de las
instrucciones que modifican el contenido del contador del programa. Lo anterior es debido al
esquema de “pipeline” usado en arquitecturas HARVARD y que permiten al procesador realizar el
FETCH (ir a buscar) y el EXECUTE (ejecutar) simultáneamente con excepción de las instrucciones
de salto.
El microcontrolador 16F628 contiene los siguientes registros principales: el registro W, de 8 bits,
que es el único acumulador del procesador, el registro PC (program counter) contador de programa,
que es un apuntador de 10 bits y que direcciona a la siguiente localidad de memoria de código que
habrá de leerse y ejecutarse. También existe una PILA ó STACK, que se usa para el manejo de las
instrucciones de CALL (llamar), RETURN (volver), RETFIE (recuperar), RETLW (volver). Es una
pila de 8 niveles que se encuentra en una memoria independiente de la memoria de programa y
código, y allí se almacenan y recuperan las direcciones de retorno después de los llamados a
subrutina. Es importante señalar que, dado que se trata de una pila de solo 8 localidades, solo pueden
anidarse hasta 8 llamados a subrutinas o interrupciones dentro del programa.

Memoria de programación

La arquitectura HARVARD permite el uso de dos buses de datos separados para la memoria de
programa y de datos. La memoria de programa es del tipo FLASH, con capacidad de programar y
borrar hasta 10,000 veces, y cuenta con 2048 localidades de 14 bits, con direcciones de la 000H a la
7FFH. Las direcciones 0 y la 4 de esta memoria son usadas para los vectores de RESET e interrupción
respectivamente, es decir, después de RESET, al contador del programa apunta hacia la dirección 0
y después de la ocurrencia de una interrupción (que se encuentre habilitada), el contador del programa
apuntará a la dirección 4. La memoria de datos es de 8 bits, e incluye 224 localidades de RAM, y
128 localidades de EEPROM (con capacidad de programar y borrar hasta 10 millones de veces). La
memoria de datos RAM está organizada en 4 bancos y se encuentra debajo de los registros especiales
(SFR) del 16F628. Las direcciones disponibles de RAM son: BANCO 0: 20H A 7FH (96 bytes),
BANCO 1: A0H a EFH (80 bytes) y BANCO 2: 120H a 14FH (48 bytes). Las localidades pueden
ser accesadas con direccionamiento directo o indirecto.

La memoria de datos

El PIC16F628A, tiene dos tipos de memorias de datos, la RAM estática o SRAM o memoria de
acceso casual que es un tipo de memoria volátil, es decir sus datos permanecen en la memoria
mientras esta alimentación en el dispositivo y es de vital importancia porque ahí residen dos tipos de
datos, los registrados de propósito general, en donde se almacenan las variables y los registros
especiales, que son los encargados de llevar al contador de programa, el conteo del Temporizador, el
estado de los puertos, la configuración de las interrupciones, etc.

El otro tipo de memoria es una memoria auxiliar no volátil llamada EEPROM, con capacidad de 128
posiciones de 8bits cada una. Esta memoria puede ser accedida por el usuario mediante
programación, es muy útil para almacenar datos que el usuario necesita que se conserven aun sin
alimentación, tal es el caso de la clave de una alarma, esta puede ser modificada, pero no debe
perderse por un corte de energía.

Como este microcontrolador es fabricado con tecnología CMOS, su consumo de potencia es muy
bajo (2mA a 4Mhz) y además es completamente estático, lo que significa que si el reloj se detiene
los datos de la memoria RAM no se pierden, esto mientras el microprocesador siga alimentado. La
memoria de datos RAM, tiene 512 líneas de 8 bits cada una de estas será particionada por 4 bancos;
el banco 0, banco 1, banco 2 y banco 3, cada uno con 128 bytes, el acceso a cada banco de memoria
lo realiza los bits RP1 y RP0 del registro STATUS, la mayoría de los bytes son ocupados por los
registros de funciones especiales o no están implementadas. Para el caso del PIC16F628A solo 224
posiciones de memoria RAM están disponibles para los registros del propósito general, la
distribución de memoria se muestra en la siguiente tabla:

Diagrama de pines y funciones


Funciones

Ocsilador

Hay que tener cuidado y no confundir "circuito oscilante" con "oscilador". El circuito oscilante es el
encargado de producir las oscilaciones deseadas; sin embargo, no es capaz de mantenerlas por sí
solo. El oscilador es el conjunto que forman el circuito oscilante, el amplificador y la red de
realimentación juntos. En definitiva el oscilador es una etapa electrónica que, siendo alimentada con
una tensión continua, produce a su salida una señal periódica, que puede ser aproximadamente
sinusoidal, o cuadrada, o de diente de sierra, triangular, etc. La esencia del oscilador es “crear” una
señal periódica por sí misma, sin que haya que aplicarle ninguna señal a la entrada.
Con circuitos electrónicos pueden generarse señales alternas de una gran variedad de formas de onda
en un amplio intervalo de frecuencias. De hecho los osciladores a transistores constituyen una forma
eficaz de generar tensiones a frecuencias elevadas.

El 16F628 funciona con un oscilado cristal de 4 Mhz.. El oscilador principal es dividido entre 4 para
formar los pulsos Q1, Q2, Q3, y Q4, estos 4 pulsos hacen un ciclo de máquina. En el siguiente
diagrama se muestra el diagrama básico de operación del reloj, en donde se divide el oscilador
principal en 4 ciclos, por cada ciclo de máquina.

Tipos de osciladores.

El PIC16F627A/628A/648A 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 precision de 4mhz(2modos)
 EC -> señal externa de entrada de reloj
 En la siguiente figura esta el diagrama de bloques del oscilador:
Al momento de programar un micro se debe especificar qué tipo de oscilador se usa. Internamente
la frecuencia del oscilador es dividida por 4, así que tenemos un oscilador de 4 MHz, la frecuencia
de trabajo es de 1MHz, por lo que cada instrucción se ejecuta cada 1 microsegundo.

Conclusiones

Dentro de un contexto académico, esta investigación se convierte en alternativas para el aprendizaje


de la correcta programación e implementación de proyectos prácticos con microcontroladores.

Recomendación

Es de suma importancia tener un conocimiento previo sobre el funcionamiento de los micros


controladores, ya que nos facilitan el funcionamiento de los distintos artefactos eléctricos y
electrónicos, reduciendo la cantidad de conexiones y acortando el espacio de los componentes.

Bibliografía
ALGARREYROCHTORR. (26 de 04 de 2011). "FUNCIONAMIENTO DEL PIC 16F628A".
Obtenido de PIC16F628A: http://proyecto-aula-
pic16f628a.blogspot.com/2011/04/pic16f628a.html

EDUPIC 16F628 Punto Flotante. (2010). EDUPIC Módulo 16F628 Manual del Usuario. Punto
Flotante, 2, 3, 5, 6, 12, 18, 25, 26. Obtenido de
http://www.tecnovirtual.edu.ec/virtual/pluginfile.php/20391/mod_resource/content/1/PIC1
6F628MANUAL.pdf

López, V. S. (14 de 04 de 2012). Computo Integrado. Obtenido de Microcontrolador PIC16F628A:


http://cintegrado.blogspot.com/2012/04/microcontrolador-pic16f628a.html

POMA, M. X. (2014). “LABORATORIO PARA ENTRENAMIENTO DE


MICROCONTROLADORES”. UNIVERSIDAD NACIONAL DE LOJA, 12, 13, 15, 17, 19,
20. Obtenido de
http://dspace.unl.edu.ec:9001/jspui/bitstream/123456789/18084/1/Salinas%20Poma%2C%
20M%C3%A1ximo%20Xavier.pdf

También podría gustarte