Está en la página 1de 10

 

Programando microcontroladores PIC con Protón 

PROGRAMANDO MICROCONTROLADORES 
PIC CON PROTÓN  
PARTE 2: EL MICROCONTROLADOR PIC. 
Un  microcontrolador  es  un  circuito  integrado  de  alta  escala  de  integración  que 
incorpora la mayor parte de los elementos que configuran un controlador. 
 
Un microcontrolador dispone normalmente de los siguientes componentes: 
• Procesador o UCP (Unidad Central de Proceso). 
• Memoria RAM para Contener los datos. 
• Memoria para el programa tipo ROM/PROM/EPROM. 
• Líneas de E/S para comunicarse con el exterior. 
• Diversos módulos para el control de periféricos (temporizadores, Puertas Serie 
y Paralelo, CAD: Conversores 
• Analógico/Digital, CDA: Conversores Digital/Analógico, etc.). 
• Generador de impulsos de reloj que sincronizan el funcionamiento de todo el 
sistema. 
 
Los productos que para su regulación incorporan un microcontrolador disponen de las 
siguientes ventajas: 
• Aumento  de  prestaciones:  un  mayor  control  sobre  un  determinado  elemento 
representa una mejora considerable en el mismo. 
• Aumento  de  la  fiabilidad:  al  reemplazar  el  microcontrolador  por  un  elevado 
número  de  elementos  disminuye  el  riesgo  de  averías  y  se  precisan  menos 
ajustes. 
• Reducción  del  tamaño  en  el  producto  acabado:  La  integración  del 
microcontrolador  en  un  chip  disminuye  el  volumen,  la  mano  de  obra  y  los 
stocks. 
• Mayor flexibilidad: las características de control están programadas por lo que 
su modificación sólo necesita cambios en el programa de instrucciones. 
 
El  microcontrolador  es  en  definitiva  un  circuito  integrado  que  incluye  todos  los 
componentes de un computador. 
 
Debido a su reducido tamaño es posible montar el controlador en el propio dispositivo 
al  que  gobierna.  En  este  caso  el  controlador  recibe  el  nombre  de  controlador 
empotrado (embedded controller). 
 
Diferencia entre microprocesador y microcontrolador. 
 
Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de 
los buses en el exterior permite que se configure a la medida de la aplicación. 
Ing. Giovanni Lafebre J. (Cel: 096376496)                                                                                                                                  M&M 
 
 
Pro
ogramand
do microco
ontrolado
ores PIC co
on Protón

 
El  microcontrolador  es  un
n  sistema  cerrado. 
c Todas  las  parrtes  del  computador  están 
conteenidas  en  su  interior  y  sólo  salen 
s al  exxterior  las  líneas  quee  gobiernan  los 
perifféricos.
 

 
Aplicaciones de los miccrocontro
oladores.
 
Cadaa  vez  existeen  más  pro
oductos  quee  incorporaan  un  microocontroladoor  con  el  fin 
f de 
aumeentar  sustaancialmentee  sus  prestaciones,  reeducir  su  taamaño  y  co
oste,  mejorrar  su 
fiabillidad y dism
minuir el con
nsumo. 
Algunos  fabricaantes  de  microcontro
m oladores  superan  el  millón 
m de  u
unidades  de 
d un 
modelo determinado prod ducidas en uuna semanaa. Este dato o puede daar una idea  de la 
masiva utilizació ón de estos componen ntes. 
Los mmicrocontro oladores esttán siendo  empleados en multitud de sistem mas presenttes en 
nuesstra  vida  diaria, 
d commo  pueden  ser  jugue etes,  horno o  microonddas,  frigorííficos, 
televvisores,  com
mputadorass,  impresoraas,  módems,  el  sistemma  de  arrannque  de  nuuestro 
Ing. Giovanni Laffebre J. (Cel: 096376496))                                                                                                                                  M&M 
 
 
Pro
ogramand
do microco
ontrolado
ores PIC co
on Protón

coche,  etc.  Y  otras  apliicaciones  con 


c las  quue  seguram mente  no  estaremoss  tan 
familiarizados  como 
c instru
umentación n  electrónicca,  control  de  sistemaas  en  una  nave 
espacial,  etc.  Una 
U aplicación  típica  podría  emp plear  varios  microcon ntroladores  para 
controlar  pequ ueñas  partes  del  sistema.  Esto os  pequeños  controladores  po odrían 
comuunicarse  en ntre  ellos  y 
y con  un  prrocesador  central, 
c proobablementte  más  pottente, 
para  compartir  la  informaación  y  coordinar  sus  acciones,  como, 
c de  h
hecho,  ocurrre  ya 
habittualmente een cualquieer PC.  
 
Arqu
uitectura básica 
 
Aunq que inicialm
mente todoss los microcontroladore es adoptaroon la arquiteectura clásica de 
Von  Neumann,,  en  el  mo omento  preesente  se  impone  la  arquitectu ura  Harvard.  La 
arquitectura  dee  Von  Neumann  se  caracteriza 
c por  dispon
ner  de  unaa  sola  mem moria 
princcipal  dondee  se  almaccenan  datos  e  instruccciones  de  forma  ind distinta.  A  dicha 
memmoria  se  acccede  a  traavés  de  unn  sistema  de 
d buses  único 
ú (direccciones,  datos  y 
control). 
La arrquitectura  Harvard diispone de d dos memorrias indepen ndientes, un na que con ntiene 
sólo  instruccion
nes y otra, ssólo datos.  Ambas disponen de ssus respectiivos sistemas de 
busees  de  accesso  y  es  po
osible  realizzar  operaciones  de  accceso  (lectura  o  escritura) 
simuultáneamentte en ambaas memoriass 
 

 
La
a arquitectura Harvard dispone de dos memorias indeppendientes pa
ara datos y pa
ara instruccion
nes, 
permitiendo accesos sim
multáneos. 
 
Los m
microcontro
oladores PIC
C responden
n a la arquittectura Harrvard. 
 
Parttes Básicas del Micrrocontrolaador 
 
El prrocesadorr o UCP 
 
Es  el  elemento o  más  impo ortante  del  microconttrolador  y  determina  sus  princiipales 
caraccterísticas, ttanto a niveel hardwaree como software. 
Se  encarga 
e de  direccionaar  la  mem moria  de  in nstruccioness,  recibir  eel  código  de 
d la 
instrucción  en  curso, 
c su  decodificació
ón  y  la  ejeccución  de  la  operaciónn  que  implica  la 
instrucción, así ccomo la bússqueda de llos operand dos y el almacenamiento del resultado. 
Existen  tres  orientacionees  en  cuan nto  a  la  arquitectura
a a  y  funcio
onalidad  de e  los 
procesadores acctuales. 

Ing. Giovanni Laffebre J. (Cel: 096376496))                                                                                                                                  M&M 


 
 
Programando microcontroladores PIC con Protón 

CISC:  Un  gran  número  de  procesadores  usados  en  los  microcontroladores  están 
basados  en  la  filosofía  CISC  (Computadores  de  Juego  de  Instrucciones  Complejo). 
Disponen de más de 80 instrucciones máquina en su repertorio, algunas de las cuales 
son muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecución. 
Una  ventaja  de  los  procesadores  CISC  es  que  ofrecen  al  programador  instrucciones 
complejas que actúan como macros. 
RISC:  Tanto  la  industria  de  los  computadores  comerciales  como  la  de  los 
microcontroladores  están  decantándose  hacia  la  filosofía  RISC  (Computadores  de 
Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones 
máquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan 
en un ciclo. 
La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software 
del procesador. 
SISC: En los microcontroladores destinados a aplicaciones muy concretas, el juego de 
instrucciones,  además  de  ser  reducido,  es  “específico”,  o  sea,  las  instrucciones  se 
adaptan a las necesidades de la aplicación prevista. Esta filosofía se ha bautizado con el 
nombre de SISC (Computadores de Juego de Instrucciones Específico). 
 
Memoria 
 
En  los  microcontroladores  la  memoria  de  instrucciones  y  datos  está  integrada  en  el 
propio  chip.  Una  parte  debe  ser  no  volátil,  tipo  ROM,  y  se  destina  a  contener  el 
programa de instrucciones que gobierna la aplicación. Otra parte de memoria será tipo 
RAM, volátil, y se destina a guardar las variables y los datos. 
 
Según el tipo de memoria ROM que dispongan los microcontroladores, la aplicación y 
utilización de los mismos es diferente. Se describen las cinco versiones de memoria no 
volátil que se pueden encontrar en los microcontroladores del mercado. 
 
1º. ROM con máscara 
Es  una  memoria  no  volátil  de  sólo  lectura  cuyo  contenido  se  graba  durante  la 
fabricación del chip. El elevado coste del diseño de la máscara sólo hace aconsejable el 
empleo  de  los  microcontroladores  con  este  tipo  de  memoria  cuando  se  precisan 
cantidades superiores a varios miles de unidades. 
 
2ª. OTP 
El microcontrolador contiene una memoria no volátil de sólo lectura “programable una 
sola  vez”  por  el  usuario.  OTP  (One  Time  Programmable).  Es  el  usuario  quien  puede 
escribir  el  programa  en  el  chip  mediante  un  sencillo  grabador  controlado  por  un 
programa desde un PC. 
La versión OTP es recomendable cuando es muy corto el ciclo de diseño del producto, 
o bien, en la construcción de prototipos y series muy pequeñas. 
Tanto  en  este  tipo  de  memoria  como  en  la  EPROM,  se  suele  usar  la  encriptación 
mediante fusibles para proteger el código contenido. 
 
 
 

Ing. Giovanni Lafebre J. (Cel: 096376496)                                                                                                                                  M&M 
 
 
Programando microcontroladores PIC con Protón 

3ª EPROM 
Los  microcontroladores  que  disponen  de  memoria  EPROM  (Erasable  Programmable 
Read OnIy Memory) pueden borrarse y grabarse muchas veces. La grabación se realiza, 
como  en  el  caso  de  los  OTP,  con  un  grabador  gobernado  desde  un  PC.  Si, 
posteriormente, se desea borrar el contenido, disponen de una ventana de cristal en 
su  superficie  por  la  que  se  somete  a  la  EPROM  a  rayos  ultravioleta  durante  varios 
minutos.  Las  cápsulas  son  de  material  cerámico  y  son  más  caros  que  los 
microcontroladores con memoria OTP que están hechos con material plástico. 
 
4ª EEPROM 
Se  trata  de  memorias  de  sólo  lectura,  programables  y  borrables  eléctricamente 
EEPROM  (Electrical  Erasable  Programmable  Read  OnIy  Memory).  Tanto  la 
programación como el borrado, se realizan eléctricamente desde el propio grabador y 
bajo el control programado de un PC. Es muy cómoda y rápida la operación de grabado 
y la de borrado. No disponen de ventana de cristal en la superficie. 
Los microcontroladores dotados de memoria EEPROM una vez instalados en el circuito, 
pueden grabarse y borrarse cuantas veces se quiera sin ser retirados de dicho circuito. 
Para ello se usan “grabadores en circuito” que confieren una gran flexibilidad y rapidez 
a la hora de realizar modificaciones en el programa de trabajo. 
El número de veces que puede grabarse y borrarse una memoria EEPROM es finito, por 
lo  que  no  es  recomendable  una  reprogramación  continua.  Son  muy  idóneos  para  la 
enseñanza y la Ingeniería de diseño. 
Se  va  extendiendo  en  los  fabricantes  la  tendencia  de  incluir  una  pequeña  zona  de 
memoria  EEPROM  en  los  circuitos  programables  para  guardar  y  modificar 
cómodamente  una  serie  de  parámetros  que  adecuan  el  dispositivo  a  las  condiciones 
del entorno. 
Este tipo de memoria es relativamente lenta. 
 
5ª FLASH 
Se trata de una memoria no volátil, de bajo consumo, que se puede escribir y borrar. 
Funciona como una ROM y una RAM pero consume menos y es más pequeña. 
A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es más rápida 
y de mayor densidad que a EEPROM. 
La  alternativa  FLASH  está  recomendada  frente  a  la  EEPROM  cuando  se  precisa  gran 
cantidad  de  memoria  de  programa  no  volátil.  Es  más  veloz  y  tolera  más  ciclos  de 
escritura/borrado. 
Las memorias EEPROM y FLASH son muy útiles al permitir que los microcontroladores 
que  las  incorporan  puedan  ser  reprogramados  “en  circuito”,  es  decir,  sin  tener  que 
sacar el circuito integrado de la tarjeta. Así, un dispositivo  con este tipo de memoria 
incorporado  al  control  del  motor  de  un  automóvil  permite  que  pueda  modificarse  el 
programa durante la rutina de mantenimiento periódico, compensando los desgastes y 
otros  factores  tales  como  la  compresión,  la  instalación  de  nuevas  piezas,  etc.  La 
reprogramación del microcontrolador puede convertirse en una labor rutinaria dentro 
de la puesta a punto. 
 
 
 

Ing. Giovanni Lafebre J. (Cel: 096376496)                                                                                                                                  M&M 
 
 
Pro
ogramand
do microco
ontrolado
ores PIC co
on Protón

 
El Oscilador EExterno 
 
Todoo microconttrolador neccesita de un n circuito externo que  le indique  la velocidad a la 
que  debe trabajjar. Este cirrcuito se co
onoce como o oscilador oo reloj, es m
muy simple pero 
de vital importaancia para eel buen funccionamiento o del sistem
ma. 
 
Puedden usarse ccuatro tiposs de cristalees dependie endo del miccrocontrolaador: 
 
• RC: Oscilador con reesistencia yy condensad dor. 
• XT: Cristal de Cuarzo. 
• HS: Cristtal de Alta vvelocidad. 
• LP: Cristaal de baja frrecuencia yy bajo consu umo de poteencia. 
 
La frecuencia dee trabajo para el microcontrolador, debe seer especificaada al mom mento 
de programarlo o, ya que si  no se tienee cuidado ccon esto, y  se conecta un oscilador de 
frecuuencia  difeerente  a  la  especcificada,  el  microcontrolador  no  funcio onará 
adeccuadamentee o simplem mente no haará nada. 
 
El disspositivo m o es el Cristtal de Cuarzo, ya sea d
más utilizado de alta o baja velocidaad, el 
cristaal debe ir accompañado o por dos coondensadorres como see muestra a continuació ón:  
 

 
 
Rese
et 
 
En lo
os microcontroladores se requieree un pin de R Reset  para reiniciar el funcionamiento 
del sistema cuan ndo sea neccesario, ya ssea por unaa falla que se presente o porque e
el 
sistema requiere ser constrruido así. Ell pin de Reset en los PIC es llamaddo MCLR  
(Masster Clear). 
 
El Reeset por MC
CLR se consigue llevand do momentááneamentee este pin a un estado lógico 
bajo,, cuando se quiere tener control ssobre el Resset del sistema se pued de conectarr un 
botóón, como se muestra a continuació ón: 
 

Ing. Giovanni Laffebre J. (Cel: 096376496))                                                                                                                                  M&M 


 
 
Pro
ogramand
do microco
ontrolado
ores PIC co
on Protón

 
 
Puertas de En
ntrada y Salida 
 
La  principal 
p u
utilidad  dee  los  pinees  que  po osee  la  cáápsula  que  contiene e  un 
micro ocontrolado or es soporrtar las líneas de E/S qque comuniican al com mputador intterno 
con los perifériccos exteriores. 
 
Segúún  los  contrroladores  de  periférico
os  que  pose
ea  cada  mo
odelo  de  m
microcontrollador, 
las lín
neas de E/SS se destinan a proporccionar el soporte a las señales de entrada, salida y 
control. 
 
Vamos  a  empezzar  con  el  microcontrolador  PIC  más  conoccido,  el  16FF84A,  éste  es 
e un 
micro ocontrolado or que tienee dos puerttos. 

 
 
Un  total 
t de  18  pines,  2  pines 
p de  alimentación,  un  pin  dee  Reset,  do
os  pines  paara  el 
oscilaador, y 13 p
pines de E/SS. 
 
 
 
 
 

Ing. Giovanni Laffebre J. (Cel: 096376496))                                                                                                                                  M&M 


 
 
Programando microcontroladores PIC con Protón 

 
Puertos del Microcontrolador 
 
Dependiendo  del  dispositivo  seleccionado,  se  puede  tener  diferentes  puertos,  el  PIC 
16F84A tiene 2 puertos, Puerto A y Puerto B. 
 
Puerto A.‐ 

Es  un  puerto  bidireccional  de  5  bits,  como  se  mencionó  anteriormente,  se  puede 
acudir al explorador de código de Protón IDE con el fin de ver como está estructurado, 
en el siguiente cuadro, se muestran los bits, pines y nombres del puerto A. 

Nombre  Bit  Buffer  Función 


RA0  Bit0 – LSB  TTL  Entrada/Salida 
RA1  Bit1  TTL  Entrada/Salida 
RA2  Bit2  TTL  Entrada/Salida 
RA3  Bit3  TTL  Entrada/Salida 
RA4/T0CKI  Bit4 – MSB  ST  Entrada/Salida  o  entrada  de  reloj  externo  para  TMR0.  Es 
colector abierto cuando se usa como salida 
ST= Estrada Schmitt Trigger.  
 
Puerto B.‐ 

Es un puerto bidireccional de 8 bits, de la misma forma que con el puerto A, se puede 
hacer  click  en  el  puerto  B  en  el  explorador  de  código  para  ver  su  estructura,  a 
continuación se muestra detalladamente los pines y bits de este puerto. 

Nombre  Bit  Buffer  Función 


RB0/INT  Bit0 – LSB  TTL/ST (1)  Entrada/Salida  o  Interrupción  Externa.  Resistencia  de 
Pull‐up programable por software 
RB1  Bit1  TTL  Entrada/Salida. Resistencia de Pull‐up programable por 
software 
RB2  Bit2  TTL  Entrada/Salida. Resistencia de Pull‐up programable por 
software 
RB3  Bit3  TTL  Entrada/Salida. Resistencia de Pull‐up programable por 
software 
RB4  Bit4  TTL  Entrada/Salida  (con  interrupción  en  cambio). 
Resistencia de Pull‐up programable por software 
RB5  Bit5  TTL  Entrada/Salida  (con  interrupción  en  cambio). 
Resistencia de Pull‐up programable por software 
RB6  Bit6  TTL/ST(2)  Entrada/Salida  (con  interrupción  en  cambio). 
Resistencia de Pull‐up programable por software. Reloj 
para programación serial. 
RB7  Bit7 – MSB  TTL/ST(2)  Entrada/Salida  (con  interrupción  en  cambio). 
Resistencia de Pull‐up programable por software. Datos 
para programación serial. 
 

Ing. Giovanni Lafebre J. (Cel: 096376496)                                                                                                                                  M&M 
 
 
Programando microcontroladores PIC con Protón 

REGISTROS TRIS Y PORT 
 
Para  empezar,  lo  más  básico,  es  conocer  sobre  los  registros  TRIS  y  PORT,  estos 
registros poseen la mayoría de los PIC, generalmente a partir de la serie 16F, los PIC de 
la serie 10F y 12F, no poseen estos registros. 

Existe más de un registro TRIS y PORT en un microcontrolador, siempre se acompaña 
con la letra correspondiente al puerto que se va a configurar.   

El registro TRIS es un registro de dirección de datos, en tanto que el registro PORT lee 
los estados en los pines del puerto específico. 
 
El  registro  PORT,  tendrá  un  determinado  número  de  bits,  dependiendo  del  puerto, 
como se mostró en las tablas anteriores. 
 
Para  configurar  un  puerto  determinado,  se  debe  utilizar  el  registro  TRIS,  seguido  del 
puerto que se quiere configurar, por ejemplo configurando TRISB bit (=1) configurará 
el  pin  correspondiente  del  registro  PORTB  como  entrada,  si  se  configura  el  TRISB  bit 
(=0) establecerá al pin correspondiente del registro PORTB como salida. 
 
Ejemplo: 
 
TRISB.0=1 esto produce que el pin del PORTB.0 (Pin 33) se configure como entrada. 
 
También se puede configurar todo el puerto, haciéndolo de la siguiente manera: 
 
TRISB= %11110000 (MSB11110000LSB) 
 
El símbolo “%” indica que se está trabajando con un número binario, cada uno de los 
números, corresponde a un bit del PORTB, el MSB es el de la derecha y el LSB el de la 
izquierda, así los pines del PORTB quedarán configurados de la siguiente forma: 
 
BIT  ESTADO PIN
PORTB.0 Salida  33  LSB 
PORTB.1 Salida  34    
PORTB.2 Salida  35    
PORTB.3 Salida  36    
PORTB.4 Entrada 37    
PORTB.5 Entrada 38    
PORTB.6 Entrada 39    
PORTB.7 Entrada 40  MSB
 
Se puede configurar el con las entradas o salidas necesarias, puede ser todo el puerto 
como salida, todo el puerto como entrada o individualmente entradas y salidas. 
 

Ing. Giovanni Lafebre J. (Cel: 096376496)                                                                                                                                  M&M 
 
 
Programando microcontroladores PIC con Protón 

En  el  siguiente  ejemplo  se  muestra  como  configurar  todo  el  puerto  como  salida  y 
asignar un valor a sus bits: 
 
TRISB=0 (0 en decimal corresponde a %00000000 por lo tanto todos los bits del puesto son salidas) 
PORTB=15 
 
Cuando el puerto ha sido configurado se le puede asignar un valor determinado, ya sea 
en  decimal,  binario  (%)  o  hexadecimal  ($),  ese  valor  que  se  le  asigne  se  lo  podrá 
observar en cada uno de los pines, así por lo tanto si se asigna el: 
 
DEC: 15  BIN: %00001111   HEX: $0F 
 
Los estados de los pines quedarán de la siguiente forma: 
 
 
BIT  ESTADO PIN
PORTB.0 ALTO  33  LSB 
PORTB.1 ALTO  34    
PORTB.2 ALTO  35    
PORTB.3 ALTO  36    
PORTB.4 BAJO  37    
PORTB.5 BAJO  38    
PORTB.6 BAJO  39    
PORTB.7 BAJO  40  MSB
 

Ing. Giovanni Lafebre J. (Cel: 096376496)                                                                                                                                  M&M 
 

También podría gustarte