Professional Documents
Culture Documents
[Escriba aqu]
HISTORIA DE LOS
MICROCONTROLADORES
Las circunstancias con las que nos encontramos hoy en el campo de
los microcontroladores tienen sus races en el desarrollo de la tecnologa de
los circuitos integrados. Este desarrollo ha hecho posible contener cientos de
miles de transistores en un solo chip. se era uno de los requisitos previos
para la produccin de los microprocesadores, y las primeras computadoras
eran hechas agregando perifricos externos como la memoria, timers etc. lo
que aumentaba el volumen de los circuitos integrados. Estos circuitos
integrados contenan procesador y perifricos. As es cmo se desarrollo el
primer chip que contena una microcomputadora, o lo que despus se llegara
a conocer como un microcontrolador.
En el ao 1969, un equipo de ingenieros japoneses de la
compaa BUSICOM lleg a Estados Unidos con una idea, ellos deseaban usar
para sus proyectos pocos circuitos integrados de los que se usaban en las
calculadoras. La proposicin se hizo a INTEL, y Marcian Hoff era el
responsable del proyecto. Ya que l era quien tenia experiencia trabajando
con una computadora (PC) PDP8, se le ocurri pensar en una solucin
fundamentalmente diferente en lugar de la construccin sugerida. Esta
solucin presuma que la funcin del circuito integrado se determinara por
un programa almacenado en l. Eso significaba que la configuracin sera
ms simple, pero que requerira mucho ms memoria de lo que requera el
proyecto que propusieron los ingenieros japoneses. Despus de un tiempo,
aunque los ingenieros japoneses probaron soluciones ms fciles, la idea de
Marcian gan, y el primer microprocesador naci. Para transformar esta idea
en un producto ya fabricado, Federico Faggin, se uni a INTEL, y en slo 9
meses tuvo xito. INTEL obtuvo los derechos para vender este "bloque
integrado" en 1971. Primero,
compraron la licencia de la compaa
BUSICOM, que no tena idea del tesoro que posean. Durante ese ao,
apareci en el mercado un microprocesador que se llam 4004, este fue el
primer microprocesador de 4 bits con velocidad de 6 000 operaciones por
segundo. No mucho tiempo despus de eso, la compaa americana CTC
pidi a INTEL y Texas Instruments que hiciera un microprocesador de 8 bits.
Aunque despus a CTC no le interes mas la idea, Intel y Texas Instruments
siguieron trabajando en el microprocesador y el primero de abril de 1972, el
microprocesador de 8 bits aparece en el mercado con el nombre de 8008.
Poda direccionar 16 Kb de memoria, con un set de 45 instrucciones y
una velocidad de 300 000 operaciones por segundo. Este microprocesador
es el predecesor de todos los microprocesadores de hoy. Intel mantuvo sus
desarrollos y saco al mercado el procesador de 8 bits bajo el nombre 8080, el
cual poda direccionar 64Kb de memoria, con 75 instrucciones, a un precio de
360 dlls.
[Escriba aqu]
En otra compaa americana, Motorola, comprendieron rpidamente
lo que estaba sucediendo, as que ellos sacaron al mercado su
microprocesador de 8 bits, el 6800. Su constructor principal era Chuck
Peddle, y junto con el procesador, Motorola fue la primera compaa en hacer
otros perifricos como el
6820 y el 6850. En ese momento muchas compaas reconocieron
importancia de los microprocesadores y empezaron sus propios desarrollos.
Chuck Peddle abandon Motorola para unirse a la Tecnologa MOS y se
mantuvo trabajando intensamente en el desarrollo de los microprocesadores.
Un evento muy importante tuvo lugar en la historia de
microprocesadores en una exhibicin de WESCON en 1795 en Estados
Unidos. La Tecnologa MOS anunci que estaba comercializando los
microprocesadores 6501 y 6502 a 25 dlls. cada uno, y que los compradores
podran adquirirlos inmediatamente. Esto era tan extraordinario, que algunas
personas creyeron que era un escndalo, considerando que los competidores
estaban vendiendo el 8080 y el 6800 a 179 dlls. cada uno. Intel y
Motorola bajaron sus precios en el primer da de la exhibicin como una
respuesta a su competidor, 69.95 por microprocesador. Motorola reclama
a la Tecnologa de MOS y a Chuck Peddle el haberles copiado su 6800. La
Tecnologa
MOS suspende la fabricacin del 6501, pero siguen
produciendo el 6502. Los 6502 eran
microprocesadores de 8 bits, 56
instrucciones y la capacidad de direccionar 64Kb de memoria directamente.
Para reducir el costo, el 6502 se vuelve muy popular, as que se instala en
las computadoras tales como: KIM-1, Apple I, Apple II, Atari, Comodore,
Acorn, Oric, Galeb, Orao, Ultra, y muchas otras. Y muy pronto aparecieron
varios fabricantes del 6502 (Rockwell, Sznertek, GTE, NCR, Ricoh, y
Comodore quienes toman la Tecnologa MOS) el cual estaba en su momento
de apogeo y se venda a una velocidad de 15 millones de procesadores por
ao. Otros, sin embargo, no se rindieron. Federico Faggin deja Intel, y
empieza su propio Zilog Inc.
En 1976, Zilog anuncia el Z80. Durante la fabricacin de este
microprocesador, Faggin toma una decisin giratoria. Sabiendo que ya se han
desarrollado muchos programas para 8080, Faggin sabia que muchos
se
quedaran fieles a ese microprocesador. As que decide disear un nuevo
procesador que pueda ser compatible con 8080, o que sea capaz de
desarrollar todos los programas que ya se haban escrito para el 8080.
Adems de estas caractersticas, se agregaron muchas otras para que el Z80
fuera un microprocesador muy poderoso. Poda direccionar 64 Kb de
memoria, tena 176 instrucciones, un gran nmero de registros, una
opcin para refresco de memoria dinmica de la RAM, mayor velocidad
de trabajo etc. El Z80 fue un gran xito y todos cambiaron del 8080 al
Z80. Puede decirse que el Z80 fue el microprocesador comercializado ms
exitoso de ese tiempo. Adems de Zilog, tambin aparecieron otros nuevos
fabricantes como Mostek, NEC, SHARP, y SGS. Z80 estaba en el corazn de
muchas computadoras como en Spectrum, Partner, TRS703, Z-3 etc.
[Escriba aqu]
[Escriba aqu]
[Escriba aqu]
[Escriba aqu]
[Escriba aqu]
[Escriba aqu]
[Escriba aqu]
[Escriba aqu]
[Escriba aqu]
[Escriba aqu]
El oscilador externo
Es un circuito externo que le indica al micro la velocidad a la que debe trabajar.
Este circuito, que se conoce como oscilador o reloj, es muy simple pero de vital
importancia para el buen funcionamiento del sistema. El P1C16C84/F84 puede
utilizar cuatro tipos de reloj diferentes. Estos tipos son:
RC. Oscilador con resistencia y condensador.
XT. Cristal.
HS. Cristal de alta velocidad.
[Escriba aqu]
[Escriba aqu]
[Escriba aqu]
[Escriba aqu]
[Escriba aqu]
Este ltimo circuito, es por si deseas tener control sobre el reset del
sistema, slo le conectas un botn y listo...
[Escriba aqu]
El procesador o UCP
Es el elemento ms importante del microcontrolador. Se encarga de direccionar la
memoria de instrucciones, recibir el cdigo OP de la instruccin en curso,
decodificarlo y ejecutarlo, tambin realiza la bsqueda de los operandos y
almacena el resultado.
Memoria de programa
Esta vendra a ser la memoria de instrucciones, aqu es donde almacenaremos
nuestro programa o cdigo que el micro debe ejecutar. No hay posibilidad de
utilizar memorias externas de ampliacin. Son 5 los tipos de memoria. pero slo
describir dos:
Memorias EEPROM. (Electrical Erasable Programmable Read Only
Memory - Memoria de slo lectura Programable y borrable elctricamente)
Comn en el PIC 16C84. sta tarea se hace a travs de un circuito
grabador y bajo el control de un PC. El nmero de veces que puede
grabarse y borrarse una memoria EEPROM es finito
aproximadamente 1000 veces, no es acaso suficiente...?. Este tipo de
memoria es relativamente lenta.
Memorias FLASH. Disponible en el PIC16F84. Posee las mismas
caractersticas que la EEPROM, pero sta tiene menor consumo de
energa y mayor capacidad de almacenamiento, por ello est
sustituyendo a la memoria EEPROM.
La memoria de programa se divide en pginas de 2,048 posiciones. El
PIC16F84A slo tiene implementadas 1K posiciones es decir de 0000h a
03FFh y el resto no est implementado. (es aquello que se ve en gris)
[] : Opciones.
() : Contenido.
=> : Se asigna a ...
<> : Campo de bits de un registro.
E : Pertenece al conjunto ...
Label : Nombre de la etiqueta.
TOS : Cima de la pila con 8 niveles en la gama media.
PC : Contador de programa que direcciona la memoria de
instrucciones.
FLAGS
Los Flags o banderas son marcadores, representados por bits dentro del registro
STATUS, y son:
SUBWF
SWAPF
XORWF
f,d
f,d
f
f,d
f,d
f,d
f,d
f,d
f,d
f,d
f
f,d
f,d
f,d
f,d
f,d
Sumar W y f AND
entre W y f
Limpiar f
Limpiar W
Complementar f
Decrementar f
Decrementar f, saltar si cero
Incrementar f
Incrementar f, saltar si cero
OR entre W y f
Mover f Mover
W a F No
Operacin
Rotar a la izquierda a
travs del carry Rotar
a la derecha
a travs del carry Restar W
de f Intercambiar nibbles
de f OR exclusiva entre W y
f
Estados afectados
C,DC,Z
Z
Z
Z
Z
Z
Z
Z
Z
CC
C,DC,Z
Z
En este otro cuadro, a dems de f aparece b. que vendra a ser uno de los 8 bits
del registro f
Operacin
Estados afectados
f,b
Limpiar bit b de f
f,b
Activar bit b de f
f,b
Probar bit b de f,
saltar si cero
f,b
Probar bit b de f,
saltar si uno
Por ltimo, aparece k que viene a ser una constante de 8 bit, es decir que k puede
tomar valores entre 0 y 255, stos inclusive, segn la instruccin a utilizar
k
k
k
K
K
K
K
K
K
Operacin
Sumar literal k a W
AND entre k y W
Llamar subrutina
Limpiar WDT
Salta a direccin k
OR entre k y W
Cargar W con literal k
Retornar de interrupcin
Retornar y cargar W con k
Retornar de subrutina
Ir al modo de bajo consumo
Restarle k a W
OR exclusiva entre k y W
Estados afectados
C,DC,Z
Z
-TO,-TD
Z
-TO,-TD
C,DC,Z
Z
OSC (Oscilador):
Es el modo de oscilacin que va a usar el Pic.
Cada vez que el Pic recibe un pulso elctrico del oscilador da un paso para
ejecutar una instruccin (4 impulsos para completar una), por lo que podemos
decir que es una seal que le recuerda al Pic que tiene que seguir avanzando.
Segn esto, el pic puede usar 4 tipos de oscilador:
Caractersticas especiales
Algunos elementos que forman parte de los PIC no se encuentran en microcontroladores de otros fabricantes, o simplemente representan alguna ventaja
o facilidad a la hora de hacer un diseo. Veamos una breve descripcin de las
ms significativas:
Circuito de vigilancia (Watchdog Timer )
Su funcin es restablecer el programa cuando ste se ha perdido por fallas en la
programacin o por alguna razn externa. Es muy til cuando se trabaja en
ambien- tes con mucha interferencia o ruido electromagntico. Est conformado
por un osci- lador RC que se encuentra dentro del microcontrolador.
Este oscilador corre de manera independiente al oscilador principal. Cuando se
habilita su funcionamiento, dicho circuito hace que el microcontrolador sufra un
reset cada determinado tiempo (que se puede programar entre 18 ms y 2
segundos). Este reset lo puede evitar el usuario mediante una instruccin especial
del microcontrola- dor (CLRWDT: borrar el conteo del watchdog), la cual se debe
ejecutar antes de que termine el perodo nominal de dicho temporizador. De esta
manera, si el programa se
Interrupciones
Este microcontrolador incluye el manejo de interrupciones, lo cual
representa gran- des ventajas. El PIC16F84 posee cuatro fuentes de
interrupcin a saber:
Interrupcin externa en el pin
RB0/INT
Finalizacin del temporizador/contador
TMRO
Finalizacin de escritura en la EEPROM de
datos
Cambio de nivel en los pines RB4 a
RB7
El registro 0Bh o INTCON contiene las banderas de las
interrupciones INT, cambio en el puerto B y finalizacin del conteo del
TMRO, al igual que el control para habilitar o deshabilitar cada una de
las fuentes de interrupcin, incluida la de escritura en memoria
EEPROM. Slo la bandera de finalizacin de la escritura resi- de en el
registro 88h (EECON1<4>).
Si el bit GIE (Global Interrupt Enable) se coloca en 0, deshabilita
todas las interrupciones. Cuando una interrupcin es atendida, el bit
GIE se coloca en 0 auto- mticamente para evitar interferencias con
otras interrupciones que se pudieran pre- sentar, la direccin de
retorno se coloca en la pila y el PC se carga con la direccin
04h. Una vez en la rutina de servicio, la fuente de la interrupcin se
puede determinar examinando las banderas de interrupcin. La bandera respectiva se
debe colo- car, por software, en cero antes de regresar de la
interrupcin, para evitar que se vuelva a detectar nuevamente la
misma interrupcin.
Fusibles de configuracin
Una vez protegido el cdigo, el fusible de proteccin slo puede ser borrado
(puesto a 1) si se borra toda la memoria del programa y
la de datos.
Las pull-ups internas
Cada uno de los pines del puerto B tiene un dbil elemento pull-up
interno (250
A tpico); este elemento es automticamente
desconectado cuando el pin se configura como salida. Adicionalmente,
el bit RBPU (OPTION<7>) controla todos estos ele- mentos, los cuales
estn deshabilitados ante una condicin de reset. Estos elementos pullup son especialmente tiles cuando el microcontrolador va a colocarse
en el modo de bajo consumo, ya que ayudan a no tener las entradas
flotantes, significando una reduccin en el consumo de corriente.
El conjunto de Instrucciones
Estas se clasifican en orientadas a registros, orientadas al bit y
operaciones literales y de control. Cada instruccin es una palabra de 14
bits, dividida en un cdigo de operacin (el cual especifica la orden a
ejecutar) y uno o ms operandos sobre los que se acta. En el apndice
A se encuentra la lista completa de instrucciones, la cual incluye ejemplos
y explicaciones. Como se puede observar all, en total son 35, las cuales
tardan un ciclo de mquina, a excepcin de los saltos, que toman dos
ciclos.
Compatibilidad con otras familias
Quienes estn familiarizados con los PIC16C5X encontrarn
bsicamente las siguientes modificaciones:
La longitud de las instrucciones se increment a 14 bits.
Se puede omitir la paginacin de la memoria de programa.
La paginacin de la memoria de datos se ha redefinido ligeramente,
de tal manera que se elimina la necesidad de los bits PA2, PA1 y PA0
en el registro de estados.
Se cuenta con cuatro nuevas instrucciones: RETURN, RETFIE, ADDLW y
SUBLW.
La manera en que se configuraban los puertos (con la instruccin
TRIS) y se asig- naba el preescalador (con la instruccin OPTION) ha
sido modificada, de tal for- ma que los registros OPTION y TRIS ahora
son direccionables; an as, se conser- van dichas instrucciones para
mantener la compatibilidad con los PIC16C5X.
Se agregaron capacidades de interrupcin. El vector de interrupcin
es 0004h.
El tamao de la pila se increment a 8 niveles.
El vector de reset se modific a 0000h.
Reactivacin despus de la instruccin SLEEP a travs de
interrupciones.
El pin de entrada RTCC es ahora un pin del puerto A, llamado
RA4/TOCK1
El ancho del registro FSR se aument a 8 bits.
La posicin 07 no est implementada.
Programacin serial del microcontrolador.
MICROCONTROLADORES Y MICROPROCESADORES
Un microcontrolador difiere de un microprocesador de muchas maneras. Lo
primero y lo ms importante es su funcionalidad. Para que un microprocesador
sea usado, otros componentes como la memoria e interfaces, deben agregarse
para recibir y enviar datos. En resumen, el microprocesador es el corazn de
una computadora. Por otro lado, el microcontrolador fue diseado para ser todo
eso en un solo chip. Ningn otro componente externo se necesita para su
aplicacin, porque todos los perifricos necesarios ya se construyen en l. As,
nosotros ahorramos el tiempo y el espacio que se necesitan para construir los
dispositivos.