0% encontró este documento útil (0 votos)
417 vistas38 páginas

Introducción al Microcontrolador PIC16F628A

El documento describe las características de un microcontrolador PIC16F628A. Resume que un microcontrolador es un circuito integrado que contiene una CPU, memoria y entradas/salidas. El PIC16F628A es popular debido a su bajo costo, bajo consumo y versatilidad. Tiene memoria FLASH para almacenar instrucciones, SRAM para datos y EEPROM auxiliar. Es ideal para estudiantes debido a su facilidad de programación y uso de bajo voltaje.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
417 vistas38 páginas

Introducción al Microcontrolador PIC16F628A

El documento describe las características de un microcontrolador PIC16F628A. Resume que un microcontrolador es un circuito integrado que contiene una CPU, memoria y entradas/salidas. El PIC16F628A es popular debido a su bajo costo, bajo consumo y versatilidad. Tiene memoria FLASH para almacenar instrucciones, SRAM para datos y EEPROM auxiliar. Es ideal para estudiantes debido a su facilidad de programación y uso de bajo voltaje.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

EL MICROCONTROLADOR

PIC
¿QUÉ ES UN MICROCONTROLADOR?

Un microcontrolador es un circuito integrado, en cuyo


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.
EL MICROCONTROLADOR PIC16F628A

Los microcontroladores PIC (Peripheral interface Controller),


son fabricados por la empresa MICROCHIP Technology
INC. cuya central se encuentra en Chandler, Arizona, esta
empresa ocupa el primer lugar en venta de
microcontroladores de 8 bits desde el año 2002. Su gran
éxito se debe a la gran variedad (más de 180 modelos), gran
versatilidad, gran velocidad, bajo costo, bajo consumo de
potencia, y gran disponibilidad de herramientas para su
programación.
Uno de los microcontroladores más populares en la
actualidad es el PIC16F628A y sus variantes PIC16F627A y
PIC16F648A, estos modelos (serie A) soportan hasta
100.000 ciclos de escritura en su memoria FLASH, y
1’000.000 ciclos en su memoria Eeprom, este está
reemplazando rápidamente al popular PIC16F84A, pues
presenta grandes ventajas como son:
Todas estas y otras ventajas más como el oscilador interno
RC de 4MHZ, MCLR programable, mayor capacidad de
corriente, Programación en bajo voltaje, etc. Lo hacen al
PIC16F628A, como el microcontrolador ideal para estudiantes
y aficionados, ya que al tener oscilador interno y el MCLR
(master clear) sea programable, es mucho más sencillo
ponerlo en funcionamiento, basta con conectar al pin 14 a 5V
y el pin 5 a tierra para que empiece a trabajar.
ARQUITECTURA DEL PIC16F628A

El PIC16F628A utiliza un procesador con arquitectura


Harvard, consiguiendo mayor rendimiento en el
procesamiento de las instrucciones, esta arquitectura a
diferencia de la Von Neumann, utiliza dos bloques de
memorias independientes, una contiene instrucciones y la
otra sólo datos, cada una con su respectivo sistema de
buses de acceso, 8 líneas para los datos y 14 líneas para las
instrucciones, con lo que es posible realizar operaciones de
acceso lectura o escritura simultáneamente en las 2
memorias, a esto se conoce como paralelismo.
El CPU del microcontrolador 16F6XX emplea una avanzada
arquitectura RISC (computador con juego de instrucciones
reducido) con un set de 35 instrucciones poderosas
pertenecientes a la gama media de la familia de los
microcontroladores PIC, la mayoría de instrucciones se
ejecutan en un ciclo de instrucción a excepción de los saltos
que requieren de 2 ciclos, dentro de su Procesador existe
una PILA de 8 niveles que permiten el anidamiento de
subrutinas, esto quiere decir que puede retomar 8 lugares
diferentes de línea de programa e ir regresando a cada uno
en el orden inverso al que fueron anidados.
Diagrama de los bloques funcionales del PIC, su
conexión interna es mediante buses, se aprecia la
conexión de las 3 memorias Flash, Ram y Eeprom.
LA MEMORIA DE PROGRAMA

Conocido también como memoria de instrucciones, aquí se


escribe las ordenes para que el CPU las ejecute. En el caso
del microcontrolador PIC16F628A tiene memoria de
programa no volátil tipo FLASH, en comparación a su
antecesor la memoria EEPROM, este se caracteriza por ser
más rápido en el proceso de escritura/borrado eléctrico,
además dispone de mayor capacidad de almacenamiento,
esta característica hace que sea ideal para prácticas de
laboratorio en donde la grabación y el borrado son
frecuentes (recuerde que soporta 100.000 ciclos de
escritura/borrado).
El bus de direcciones de la memoria de programa es de 13
bits, por lo que el Contador de Programa (PC) puede
direccional 8192 posiciones de 14 bits cada una (desde la
0000h hasta 1FFFh), de las cuales sólo las primeras 2048
líneas tiene implementadas (desde la 0000h hasta la
07FFh), es decir que el PC sólo utiliza los 11 primeros bits
de direcciones los demás bits los ignora.
LA MEMORIA DE DATOS

El PIC16F628A, tiene dos tipos de memorias de datos, la


RAM estática o SRAM (Random Access Memory) o memoria
de acceso casual que es un tipo de memoria volátil, es decir
sus datos permanecen en la memoria mientras exista
alimentación en el dispositivo y es de vital importancia
porque ahí residen dos tipos de datos, los registros de
propósito general (GPR), en donde se almacenan las
variables y los registros especiales (SFR), que son los
encargados de llevar el 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 8
bits 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 aún 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, el fabricante asegura que la serie PIC16F6XXA,
tiene una retención de datos en esta memoria mayor a 100
años.
Como este microcontrolador es fabricado con tecnología
CMOS, su consumo de potencia es muy bajo (2 mA a 4 Mhz)
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 micro sigue alimentado.

La memoria de datos RAM, tiene 512 líneas de 8 bits cada


una y está 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 (SFR) o no están
implementadas.

Para el caso del PIC16F628A sólo 224 posiciones de


memoria RAM están disponibles para los Registros de
Propósito General (GPR), la distribución de memoria.
Mapa de la memoria de DATOS SRAM, los bloques
marcados con tramas no son implementados, se leen
“0” las localidades marcadas con (1) no son registros
físicos, las localidades 20h a 7Fh, corresponden a los
96 bytes de los registros de propósito general GPR, 80
bytes GPR en el banco 1(A0h – EFh) y 48 bytes GPR en
el banco 2 (120h – 14Fh), dando un total de 224 bytes
disponibles para el usuario. Para mayor información y
utilización de los SFR, refiérase al datasheet del
PIC16F6XXA
CARACTERÍSTICAS GENERALES

Hasta aquí se puede resumir las características más


relevantes del PIC16F628A, estas son:

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


• Oscilador interno RC (resistencia condensador) de 4 MHZ
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 (200nS por
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 sólo 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.
• 3 Timers, Timer 0 a 8 bits, Timer 1 a 16 bits y Timer 2 a 8 bits.
• Módulos 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.
DIAGRAMA DE PINES Y FUNCIONES

Excluyendo los dos pines de alimentación, todos los 16 pines


restantes pueden ser configurados como entradas o salidas,
algunos de ellos tienen funciones especiales.
NOTA: sus 2 puertos el A y el B entregan un total de 200mA
cada uno, es decir 25 mA cada pin. En modo sumidero pueden
soportar cada uno de sus puertos 200mA. es decir 25 mA.
cada pin.
APRENDIENDO A PROGRAMAR EL PIC16F628A CON
MICROCODE

Este es el objetivo primordial de este libro, enseñar a


programar micros PIC de la forma más rápida posible, si no
ha leído completamente el libro le recomendamos leer el
literal MANEJO DE MicroCode Studio.

Vamos a proponer nuevamente el proyecto que ya hemos


visto antes, pero esta vez lo pondremos en funcionamiento,
escriba el programa que viene a continuación, o abra el
archivo del CD Ejercicios\ led [Link] y siga los
siguientes pasos. NOTA *.pbp = *.bas
1. Recuerde seleccionar el PIC16F628A.

2. Una vez que esté seguro que el programa está bien escrito
presione o F9, observe en la parte inferior izquierda como
cambia el color del círculo:
Círculo plomo ready, mientras está escribiendo el programa.

Círculo verde mientras está compilando el programa con pbp


2.47.

Círculo amarillo mientras genera el código Assembler y el


.Hex.

Círculo plomo finalizar y nos da el tamaño que necesita en el


PIC.

Caso contrario si el programa está mal escrito o existen


errores en su desarrollo:

Círculo rojo después de compiling indica error en la


compilación.
Como se podrá ver hay distintas formas de escribir un
programa y todos tienen el mismo resultado final, así que si
un proyecto no funciona correctamente, pruebe escribiendo
de una forma diferente.
DECLARACIONES DISPONIBLES EN EL COMPILADOR
PBP 2.47

Debemos entender que declaraciones son cada una de las


palabras que el compilador pbp 2.47 tiene reservado para
realizar una tarea específica, las más utilizadas son: HIGH,
LOW, PAUSE, GOSUB, GOTO, LCDOUT, SERIN, SEROUT,
FOR, NEXT, IF, THEN, SOUND, END, un ejemplo:

HIGH portb.3

Esta instrucción HIGH es reconocida automáticamente por


microcode, lo coloca en negrilla y mayúscula, y sirve para
que el compilador realice los ajustes necesarios para
cambiarse al segundo banco de la RAM, colocar como
salida el puerto B en TRISB, y luego regrese al primer banco
de la RAM y setea en 1 al Portb.3, todo esto nos ahorramos
gracias al pbp 2.47.
A continuación las 83 instrucciones disponibles con una
breve explicación.

También podría gustarte