Académique Documents
Professionnel Documents
Culture Documents
MICROCONTROLADORES
Ao 2017
Los principiantes en electrnica creen que un microcontrolador es igual a un
microprocesador. Esto no es cierto. Difieren uno del otro en muchos sentidos. La
primera y la ms importante diferencia es su funcionalidad. Para utilizar al
microprocesador en una aplicacin real, se debe de conectar con componentes
tales como memoria o componentes buses de transmisin de datos. Aunque el
microprocesador se considera una mquina de computacin poderosa, no est
preparado para la comunicacin con los dispositivos perifricos que se le
conectan. Para que el microprocesador se comunique con algn perifrico, se
deben utilizar los circuitos especiales. As era en el principio y esta prctica sigue
vigente en la actualidad.
Por otro lado, al microcontrolador se le disea de tal manera que tenga todas las
componentes integradas en el mismo chip. No necesita de otros componentes
especializados para su aplicacin, porque todos los circuitos necesarios, que de
otra manera correspondan a los perifricos, ya se encuentran incorporados. As
se ahorra tiempo y espacio necesario para construir un dispositivo.
QUE PUEDEN HACER LOS MICROCONTROLADORES?
Para entender con ms facilidad las razones del xito tan grande de los
microcontroladores, vamos a prestar atencin al siguiente ejemplo. Hace unos
10 aos, disear un dispositivo electrnico de control de un ascensor de un
edificio de varios pisos era muy difcil, incluso para un equipo de expertos. Ha
pensado alguna vez en qu requisitos debe cumplir un simple ascensor? Cmo
lidiar con la situacin cuando dos o ms personas llaman al ascensor al mismo
tiempo? Cul llamada tiene la prioridad? Cmo solucionar las cuestiones de
seguridad, de prdida de electricidad, de fallos, de uso indebido? Lo que sucede
despus de resolver estos problemas bsicos es un proceso meticuloso de
disear los dispositivos adecuados utilizando un gran nmero de los chips
especializados. Este proceso puede tardar semanas o meses, dependiendo de
la complejidad del dispositivo. Cuando haya terminado el proceso, llega la hora
de disear una placa de circuito impreso y de montar el dispositivo.Un
dispositivo enorme! Es otro trabajo difcil y tardado. Por ltimo, cuando todo est
terminado y probado adecuadamente, pasamos al momento crucial y es cuando
uno se concentra, respira profundamente y enciende la fuente de alimentacin.
De todos modos, la ley de Murphy es inexorable y sin duda usted no podr tomar
ventaja a pesar de todos los esfuerzos que ha hecho. Por desgracia, todo lo que
se ha dicho hasta ahora sucede en la realidad. Esto es lo que dedicarse a la
ingeniera electrnica realmente significa. Es as como se hacan las cosas
hasta aparicin de los microcontroladores diseados pequeos, potentes y
baratos. Desde ese momento su programacin dej de ser una ciencia, y todo
tom otra direccin
No se confunda si se encuentra con un bit que tiene el valor 4, 16 o 64. Son los
valores representados en el sistema decimal. Simplemente, nos hemos
acostumbrado tanto a utilizar los nmeros decimales que estas expresiones
llegaron a ser comunes. Sera correcto decir por ejemplo, el valor del sexto bit
en cualquier nmero binario equivale al nmero decimal 64. Pero todos somos
humanos y los viejos hbitos mueren difcilmente. Adems, cmo le suena
nmero uno-uno-cero-uno-cero?
BYTE
REGISTROS
UNIDAD DE MEMORIA
OTP ROM (One Time Programmable ROM) ROM programable una sola vez
INTERRUPCIN
Como indica su nombre, esto es una unidad que controla todos los procesos
dentro del microcontrolador. Consiste en varias unidades ms pequeas, de las
que las ms importantes son:
BUS
El bus est formado por 8, 16 o ms cables. Hay dos tipos de buses: el bus de
direcciones y el bus de datos. El bus de direcciones consiste en tantas lneas
como sean necesarias para direccionar la memoria. Se utiliza para transmitir la
direccin de la CPU a la memoria. El bus de datos es tan ancho como los datos,
en este caso es de 8 bits o lneas de ancho. Se utiliza para conectar todos los
circuitos dentro del microcontrolador.
COMUNICACIN EN SERIE
Este tipo de conexin es asncrona, lo que significa que no se utiliza una lnea
especial para transmitir la seal de reloj. En algunas aplicaciones este rasgo es
crucial (por ejemplo, en mandar datos a distancia por RF o por luz infrarroja).
Puesto que se utiliza slo una lnea de comunicacin, tanto el receptor como el
transmisor reciben y envan los datos a velocidad misma que ha sido predefinida
para mantener la sincronizacin necesaria. Esto es una manera simple de
transmitir datos puesto que bsicamente representa una conversin de datos de
8 bits de paralelo a serial. La velocidad de transmisin no es alta, es hasta 1
Mbit/sec.
OSCILADOR
CIRCUITO DE ALIMENTACIN
Hay que mencionar dos cosas dignas de atencin con relacin al circuito de la
fuente de alimentacin de microcontroladores:
TEMPORIZADORES/CONTADORES
CONTADORES
Si el perro guardin est habilitado, cada vez que cuenta hasta el mximo valor
en el que ocurre el desbordamiento del registro se genera una seal de reinicio
del microcontrolador y la ejecucin de programa inicia en la primera instruccin.
El punto es evitar que eso ocurra al utilizar el comando adecuado.
CONVERTIDOR A/D
Las seales del mundo real son muy diferentes de las que entiende el
microcontrolador (ceros y unos), as que deben ser convertidas para que el
microcontrolador pueda entenderlas. Un convertidor analgico-digital es un
circuito electrnico encargado de convertir las seales continuas en nmeros
digitales discretos. En otras palabras, este circuito convierte un nmero real en
un nmero binario y se lo enva a la CPU para ser procesado. Este mdulo se
utiliza para medir el voltaje en el pin de entrada. El resultado de esta medicin
es un nmero (el valor digital) utilizado y procesado ms tarde en el programa.
ARQUITECTURA INTERNA
Son dos maneras diferentes del intercambio de datos entre la CPU y la memoria.
Arquitectura de von-Neumann
ARQUITECTURA DE HARVARD
El hecho de que un programa (la ROM) y los datos temporales (la RAM)
estn separados, permite a la CPU poder ejecutar dos instrucciones
simultneamente. Dicho de manera sencilla, mientras que se realiza la
lectura o escritura de la RAM (que marca el fin de una instruccin), la
siguiente instruccin se lee por medio de otro bus.
JUEGO DE INSTRUCCIONES
Si est pensando en todas estas cosas por primera vez, todo le parecer un poco
confuso. Por esa razn, vaya paso a paso. Antes que nada, seleccione al
fabricante, es decir, la familia de microcontroladores que ofrece. Luego, aprenda
a trabajar con un modelo particular. Slo aprenda lo que necesite aprender, no
entre demasiado en detalles. Resuelva el problema especfico y le pasar una
cosa increble ser capaz de manejar cualquier modelo del mismo fabricante
Antes de 1940
Durante un perodo de nueve meses entre 1842 y 1843, Ada Lovelace tradujo
las memorias del matemtico italiano Luigi Menabrea acerca de la nueva
mquina propuesta por Charles Babbage, la Mquina Analtica. Con estos
escritos, ella aadi unas notas en las cuales especificaba en detalle un mtodo
para calcular los nmeros de Bernoulli con esta mquina, el cual es reconocido
por muchos historiadores como el primer programa de computadora del mundo.
Los aos 40
Otro hito a finales de 1950 fue la publicacin, por un comit Americano y Europeo
de cientficos de la computacin, de un nuevo lenguaje para algoritmos; el
Reporte de ALGOL 60 ("ALGOrithmic Language"). Este reporte consolid
muchas ideas que estaban circulando en aquel entonces, y proporcion dos
innovaciones importantes para los lenguajes de programacin:
Otra innovacin, relacionada con esto, fue cmo el lenguaje fue descrito:
Una notacin matemtica exacta, Backus-Naur Form (BNF), fue utilizada para
describir la sintaxis del lenguaje. Todos los subsecuentes lenguajes de
programacin han utilizado una variante de BNF para describir la porcin libre
del contexto de su sintaxis.
Algol 60 influenci particularmente en el diseo de lenguajes posteriores, de los
cuales algunos se hicieron ms populares. Los grandes sistemas de Burroughs
fueron diseados para ser programados en un subconjunto extendido de Algol.
y no slo la parte libre del contexto, sino que tanto la sintaxis como la semntica
del lenguaje completo fueron definidos formalmente, en trminos de una
gramtica de Van Wijngaarden, un formalismo diseado especficamente para
este propsito.
Las variadas pero poco usadas caractersticas de Algol 68 (por ejemplo, bloques
simultneos y paralelos) y su complejo sistema de atajos sintcticos y coerciones
automticas de tipo lo hicieron impopular entre los ejecutores y se gan una
reputacin de ser difcil. Niklaus Wirth sali del comit de diseo para crear el
sencillo lenguaje Pascal.
1952 - Autocode
1958 - LISP
1958 - ALGOL 58
1959 - COBOL
1959 - RPG
1962 - APL
1962 - Simula
1962 - SNOBOL
1964 - BASIC
1964 - PL/I
1968 - Logo
1969 - B (precursor C)
1970 - Pascal
1970 - Forth
1972 - C
1972 - Smalltalk
1972 - Prolog
1973 - ML
1975 - Scheme
1978 - Modula-2
La dcada de 1980: consolidacin, mdulos, rendimiento
1983 - Ada
1984 - MATLAB
1985 - Eiffel
1986 - Objective-C
1986 - Erlang
1987 - Perl
1988 - Tcl
1988 - Mathematica
1989 - FL (Backus);
1990 - Haskell
1991 - Python
1993 - Ruby
1993 - Lua
1995 - Java
1995 - JavaScript
1995 - PHP
1996 - WebDNA
1997 - Rebol
1999 - D
Tendencias actuales
Soporte para Unicode para que el cdigo fuente (texto del programa) no se
limite slo a los caracteres contenidos en el conjunto de caracteres ASCII,
permitiendo, por ejemplo, el uso de caracteres no latinos basados en guiones o
signos de puntuacin extendidos.
2000 - ActionScript
2001 - C#
2002 - F#
2003 - Groovy
2003 - Scala
2003 - Factor
2007 - Clojure
2009 - Go
2011 - Dart
Bill Joy, inventor de vi, autor de BSD Unix, creador de SunOS, el cual se
convirti en Solaris.
Lenguajes de programacin
LENGUAJE ENSAMBLADOR
Lenguaje C
Dentro de los lenguajes en los que programamos rutinas para PIC existen tres
posibilidades:
Lenguaje BASIC
Lenguaje C
El lenguaje BASIC fue inventado en 1964 por John George Kemeny (1926-1992)
y Thomas Eugene Kurtz (1928-) en el Dartmouth College. En aos subsiguientes,
mientras que otros dialectos de BASIC aparecan, el BASIC original de Kemeny
y Kurtz fue conocido como Dartmouth BASIC.
Ventajas:
Desventajas:
Lenguaje C:
Desventajas:
Con este lenguaje tampoco se puede controlar del todo los tiempos y los
registros bit a bit.
Lenguaje Ensamblador:
Es el lenguaje de bajo nivel natural de la lnea PIC tanto para gama baja,
media o alta.
Desventajas: