Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Infor Microcontrolador PDF
Infor Microcontrolador PDF
INFORME MICROCONTROLADORES
1
1. Tabla de Contenido
1. Introducción........................................................................................................................... 1
2. Marco teórico. ....................................................................................................................... 2
2.1. El microcontrolador. .................................................................................................. 2
2.2. Diferencias entre microprocesador y microcontrolador. .............................................. 3
2.3. Estructura básica........................................................................................................ 4
2.4. Proceso en detalle. .................................................................................................... 5
2.4.1. Registros. ................................................................................................................ 6
2.4.2. Unidad de control. .................................................................................................. 6
2.4.3. Unidad aritmético-lógica. ........................................................................................ 7
2.4.4. Buses. ..................................................................................................................... 7
2.4.5. Conjunto de instrucciones....................................................................................... 7
2.5. Memoria. .................................................................................................................. 8
2.6. Periféricos. ................................................................................................................ 9
2.6.1. Temporizadores y contadores. ................................................................................ 9
2.6.2. Conversor analógico/digital..................................................................................... 9
2.6.3. Puertos de comunicación. ....................................................................................... 9
2.6.4. Comparadores. ..................................................................................................... 10
2.6.5. Modulador de ancho de pulso (PWM). .................................................................. 10
2.7. Lenguaje entre el microcontrolador y nosotros. ........................................................ 11
3. Experiencia en el laboratorio y otros. ................................................................................... 14
3.1 Configuración del software. ..................................................................................... 14
3.2 Conexión del Micro controlador. .............................................................................. 14
3.3 Actividades con MCLS-Software. .............................................................................. 14
3.3.1 Parpadeo de un LED. ............................................................................................. 14
3.3.2 Tira de LEDs. ......................................................................................................... 15
3.4 Problemas. .............................................................................................................. 16
4. Conclusiones. ....................................................................................................................... 17
2
1. Introducción
1
2. Marco teórico.
2.1.El microcontrolador.
2
2.2.Diferencias entre microprocesador y microcontrolador.
3
Figura 3: Figura general periféricos.
El microcontrolador es un sistema cerrado. Todas las partes del computador están contenidas en
su interior y sólo salen al exterior las líneas que gobiernan los periféricos.
2.3.Estructura básica.
Estos dispositivos representan la inmensa mayoría de los chips de computadoras vendidos, sobre
un 50% son controladores "simples" y el restante corresponde a DSPs más especializados. Pueden
encontrarse en casi cualquier dispositivo electrónico como automóviles, lavadoras, hornos
microondas, teléfonos, etc.
Un microcontrolador difiere de una unidad central de procesamiento normal, debido a que es más
fácil convertirla en una computadora en funcionamiento, con un mínimo de circuitos integrados
externos de apoyo.
4
Los microcontroladores disponen generalmente también de una gran variedad de dispositivos de
entrada/salida, como convertidores de analógico a digital, temporizadores, UARTs y buses de
interfaz serie especializados, como I2C y otros. Frecuentemente, estos dispositivos integrados
pueden ser controlados por instrucciones de procesadores especializados. Los modernos
microcontroladores frecuentemente incluyen un lenguaje de programación integrado, como el
lenguaje de programación BASIC que se utiliza bastante con este propósito.
Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso. Debido a que se
utiliza bastante sitio en el chip para incluir funcionalidad, como los dispositivos de entrada/salida o
la memoria que incluye el microcontrolador, se ha de prescindir de cualquier otra circuitería.
2.4.Proceso en detalle.
Antes de que existieran los microcontroladores, existían circuitos integrados los cuales eran muy
sistemas digitales muy complejos, los cuales si se quería hacer una pequeña modificación de
cualquier tipo, se tenia que pensar en crear grandes cambios en la configuración del hardware,
pero al avanzar los años, pero todo eso cambio con el surgimiento del primer microcontrolador (el
4004 destinado al desarrollo de las calculadoras), este tiene la capacidad de hacer cálculos
dependiendo de códigos de entrada adecuados.
Visto así, no hay nada de especial en un microprocesador; la maravilla está en que la combinación
adecuada de los códigos de entrada, su ejecución secuencial, el poder saltar hacia atrás o adelante
en la secuencia de códigos en base a decisiones lógicas u órdenes específicas, permite que la
máquina realice un montón de operaciones complejas, no contempladas en los simples códigos
básicos.
Es lógico pensar que el invento del microprocesador integrado no fue una revelación divina para
sus creadores, sino que se sustentó en los avances, existentes hasta el momento, en el campo de
la electrónica digital y las teorías sobre computación. Pero sin lugar a dudas fue “la gota que
rebalso el vaso” de la revolución científico-técnica, porque permitió desarrollar aplicaciones
impensadas o acelerar algunas ya encaminadas.
Ahora comenzaremos a ver cómo es que está hecho un procesador, no será una explicación
demasiado detallada porque desde su invención éste ha tenido importantes revoluciones propias,
pero hay aspectos básicos que no han cambiado y que constituyen la base de cualquier
microprocesador. En la Figura 'Esquema de un microcontrolador' podemos ver la estructura típica
de un microprocesador, con sus componentes fundamentales, claro está que ningún procesador
real se ajusta exactamente a esta estructura, pero aun así nos permite conocer cada uno de sus
elementos básicos y sus interrelaciones.
5
2.4.1. Registros.
Son un espacio de memoria muy reducido pero necesario para cualquier microprocesador, de
aquí se toman los datos para varias operaciones que debe realizar el resto de los circuitos del
procesador. Los registros sirven para almacenar los resultados de la ejecución de instrucciones,
cargar datos desde la memoria externa o almacenarlos en ella.
Aunque la importancia de los registros parezca trivial, no lo es en absoluto. De hecho una parte de
los registros, la destinada a los datos, es la que determina uno de los parámetros más importantes
de cualquier microprocesador. Cuando escuchamos que un procesador es de 4, 8, 16, 32 o 64 bits,
nos estamos refiriendo a procesadores que realizan sus operaciones con registros de datos de ese
tamaño, y por supuesto, esto determina muchas de las potencialidades de estas máquinas.
Mientras mayor sea el número de bits de los registros de datos del procesador, mayores serán sus
prestaciones, en cuanto a poder de cómputo y velocidad de ejecución, ya que este parámetro
determina la potencia que se puede incorporar al resto de los componentes del sistema, por
ejemplo, no tiene sentido tener una ALU de 16 bits en un procesador de 8 bits.
Por otro lado un procesador de 16 bits, puede que haga una suma de 16 bits en un solo ciclo de
máquina, mientras que uno de 8 bits deberá ejecutar varias instrucciones antes de tener el
resultado, aun cuando ambos procesadores tengan la misma velocidad de ejecución para sus
instrucciones. El procesador de 16 bits será más rápido porque puede hacer el mismo tipo de
tareas que uno de 8 bits, en menos tiempo.
Esta unidad es de las más importantes en el procesador, en ella recae la lógica necesaria para la
decodificación y ejecución de las instrucciones, el control de los registros, la ALU, los buses y
cuanta cosa más se quiera meter en el procesador.
La unidad de control es uno de los elementos fundamentales que determinan las prestaciones del
procesador, ya que su tipo y estructura, determina parámetros tales como el tipo de conjunto de
instrucciones, velocidad de ejecución, tiempo del ciclo de máquina, tipo de buses que puede tener
el sistema, manejo de interrupciones y un buen número de cosas más que en cualquier procesador
van a parar a este bloque.
Por supuesto, las unidades de control, son el elemento más complejo de un procesador y
normalmente están divididas en unidades más pequeñas trabajando de conjunto. La unidad de
control agrupa componentes tales como la unidad de decodificación, unidad de ejecución,
6
controladores de memoria cache, controladores de buses, controladores de interrupción,
pipelines, entre otros elementos, dependiendo siempre del tipo de procesador.
Como los procesadores son circuitos que hacen básicamente operaciones lógicas y matemáticas,
se le dedica a este proceso una unidad completa, con cierta independencia. Aquí es donde se
realizan las sumas, restas, y operaciones lógicas típicas del álgebra.
Actualmente este tipo de unidades ha evolucionado mucho y los procesadores más modernos
tienen varias ALU, especializadas en la realización de operaciones complejas como las operaciones
en coma flotante.
2.4.4. Buses.
Son el medio de comunicación que utilizan los diferentes componentes del procesador para
intercambiar información entre sí, eventualmente los buses o una parte de ellos estarán reflejados
en los pines del encapsulado del procesador.
Existen tres tipos de buses:
Dirección: Se utiliza para seleccionar al dispositivo con el cual se quiere trabajar o en el
caso de las memorias, seleccionar el dato que se desea leer o escribir.
Datos.
Control: Se utiliza para gestionar los distintos procesos de escritura, lectura y controlar la
operación de los dispositivos del sistema.
7
memoria o en los registros internos. Este tipo de repertorio dificulta el paralelismo entre
instrucciones, por lo que en la actualidad, la mayoría de los sistemas CISC de alto rendimiento,
convierten las instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas
generalmente microinstrucciones.
RISC, del inglés Reduced Instruction Set Computer, Computadora con Conjunto de Instrucciones
Reducido. Se centra en la obtención de procesadores con las siguientes características
fundamentales:
Instrucciones de tamaño fijo.
Pocas instrucciones.
Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos.
Número relativamente elevado de registros de propósito general.
Una de las características más destacables de este tipo de procesadores es que posibilitan el
paralelismo en la ejecución, y reducen los accesos a memoria. Es por eso que los procesadores
más modernos, tradicionalmente basados en arquitecturas CISC implementan mecanismos de
traducción de instrucciones CISC a RISC, para aprovechar las ventajas de este tipo de
procesadores.
Los procesadores de los microcontroladores PIC son de tipo RISC.
2.5.Memoria.
8
Memoria de datos: Los datos que maneja los programas varían continuamente, y esto exige que
la memoria que los contiene debe ser de lectura y escritura, por lo que la memoria RAM estática
(SRAM) es la más adecuada, aunque sea volátil.
Hay microcontroladores que disponen como memoria de datos una de lectura y escritura no
volátil, del tipo EEPROM. De esta forma, un corte en el suministro de la alimentación no ocasiona
la pérdida de la información, que está disponible al reiniciarse el programa.
2.6.Periféricos.
Son circuitos sincrónicos para el conteo de los pulsos para poder tener una entrada de reloj. Si la
fuente de un gran conteo es el oscilador interno del microcontrolador es común que no tengan un
pin asociado, y en este caso trabajan como temporizadores. Por otra parte, cuando la fuente de
conteo es externa, entonces tienen asociado un pin configurado como entrada, este es el modo
contador.
Los temporizadores son uno de los periféricos más habituales en los microcontroladores y se
utilizan para muchas tareas, como por ejemplo, la medición de frecuencia, implementación de
relojes, para el trabajo de conjunto con otros periféricos que requieren una base estable de
tiempo entre otras funcionalidades.
Es muy frecuente el trabajo con señales analógicas, éstas deben ser convertidas a digital y por ello
muchos microcontroladores incorporan un conversor analógico-digital, el cual se utiliza para
tomar datos de varias entradas diferentes que se seleccionan mediante un multiplexor.
9
2.6.3.1. Puerto serie
Este periférico está presente en casi cualquier microcontrolador, normalmente en forma
de UART (Universal Asynchronous Receiver Transmitter) o USART (Universal Synchronous
Asynchronous Receiver Transmitter) dependiendo de si permiten o no el modo sincrónico
de comunicación.
2.6.3.2. SPI
Este tipo de periférico se utiliza para comunicar al microcontrolador con otros
microcontroladores o con periféricos externos conectados a él, por medio de una interfaz
muy sencilla . Hay solo un nodo controlador que permite iniciar cualquier transacción, lo
cual es una desventaja en sistemas complejos, pero su sencillez permite el aislamiento
galvánico de forma directa por medio de optoacopladores.
2.6.3.3. I2C
Cumple las mismas funciones que el SPI, pero requiere menos señales de comunicación y
cualquier nodo puede iniciar una transacción. Es muy utilizado para conectar las tarjetas
gráficas de las computadores personales con los monitores, para que estos últimos
informen de sus prestaciones y permitir la autoconfiguración del sistema de video.
2.6.3.4. USB
Los microcontroladores son los que han permitido la existencia de este sistema de
comunicación. Es un sistema que trabaja por polling (monitoreo) de un conjunto de
periféricos inteligentes por parte de un amo, que es normalmente un computador
personal. Cada nodo inteligente está gobernado inevitablemente por un microcontrolador.
2.6.4. Comparadores.
Son circuitos analógicos basados en amplificadores operacionales que tienen la característica de
comparar dos señales analógicas y dar como salida los niveles lógicos ‘0’ o ‘1’ en dependencia del
resultado de la comparación. Es un periférico muy útil para detectar cambios en señales de
entrada de las que solamente nos interesa conocer cuando está en un rango determinado.
10
2.7. Lenguaje entre el microcontrolador y nosotros.
Los circuitos microprogramables son sistemas digitales, lo que significa que trabajan con dos
únicos niveles de tensión. Dichos niveles, por abstracción, se simbolizan con el cero, 0, y el uno, 1,
por eso el lenguaje de máquina sólo utiliza dichos signos. Esto permite el empleo de las teorías
del álgebra booleana y del sistema binario en el diseño de este tipo de circuitos y en su
programación.
11
En principio, dado que el sistema usual de numeración
num es de base decimal y, por ello, sólo se
dispone de diez dígitos, se adoptó la convención de usar las seis primeras letras del alfabeto latino
para suplir los dígitos quee nos faltan. El conjunto de símbolos sería, por tanto, el siguiente:
S = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
Se debe notar que A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. En ocasiones se emplean letras
minúsculas en lugar de mayúsculas. Como en cualquier sistema de numeración posicional, el valor
numérico de cada dígito es alterado dependiendo de su posición en la cadena de dígitos,
quedando multiplicado por una cierta potencia de la base del sistema, que en este caso es 16. Por
ejemplo: 3E0A16 = 3×163 + E×162 + 0×161 + A×160 = 3×4096 + 14×256 + 0×16 + 10×1 = 15882.
El sistema hexadecimal actual fue introducido en el ámbito de la computación por primera vez
por IBM en 1963.. Una representación anterior, con 0 0–9 y u–z, z, fue usada en 1956 por la
computadora Bendix G-15.
12
Muchos sofisticados ensambladores ofrecen mecanismos adicionales para facilitar el desarrollo
del programa, controlar el proceso de ensamblaje, y la ayuda de depuración.
Fue usado principalmente en los inicios del desarrollo de software, cuando aún no se contaba con
potentes lenguajes de alto nivel y los recursos eran limitados. Actualmente se utiliza con
frecuencia en ambientes académicos y de investigación, especialmente cuando se requiere la
manipulación directa de hardware, altos rendimientos, o un uso de recursos controlado y
reducido.
Muchos dispositivos programables (como los microcontroladores) aún cuentan con el
ensamblador como la única manera de ser manipulados.
13
3. Experiencia en el laboratorio y otros.
Primero que todo, es necesario configurar el software que se utiliza para hacer funcionar y
programar el micro controlador. Al proceder con esto hubo un problema grave con la
compatibilidad del software con la versión del sistema operativo, por lo tanto se procedió a
descargar una nueva versión que contiene una actualización que sirve para hacerlo funcionar. El
software utilizado esta en http://mcls-modular.de/download/deutsch/idev310.exe .
Al instalarlo, identifica por si mismo que esta conectado un hardware conocido. Se elige el 80C535
y se continúa. Lo demás procede de la misma forma que se señala en la guía de trabajo.
La conexión que hay entre la plataforma de trabajo y el computador es vía puerto COM. Al tener
esto conectado, se necesita que las placas estén correctamente conectadas en la plataforma y
también estén correctamente conectadas entre ellas. Al hacerlo así, se puede proceder a probar
los distintos programas que trae el software.
14
Luego, al abrir el archivo blink1.asm en el programa, y después de analizar su contenido, se obtuvo
el resultado esperado. Se logró que el LED conectado al puerto P1.7 se encendiera. Ese puerto se
puede cambiar, buscándolo en el código y eligiendo el que uno quiera. Por otro lado, dentro de las
líneas de comandos, se encuentra un subprograma llamado tiempo, el cual da la orden al LED de
parpadear con cierta frecuencia. Si este subprograma no se encuentra, el LED simplemente no
parpadeará. Por último, el switch al cual se conecta, no influye en este programa, ya que al
moverse no hace ninguna variación en el LED que parpadea.
15
Como se ve, todos los LEDs están conectados a un puerto diferente lo cual hace pensar que cada
uno se debería comportar de una forma diferente con respecto a otro.
De hecho, al abrir el programa led_II.asm en el software, se logra que los LEDs se prendan,
logrando una secuencia entre todos. Esta secuencia está determinada por una línea de comando
que contiene 8 valores, que son ceros y unos, y que está desfasada para cada LED, de forma que se
logra obtener la secuencia mencionada. Ese desfase, es controlado por el subprograma tiempo
que determina un cierto periodo entre una orden y otra. Por último, es importante señalar que en
esta experiencia, el switch si es útil. Lo que hace es hacer funcionar la secuencia al revés, es decir,
el código entra al revés por cada led, haciendo que se vea al revés el juego de luces.
3.4 Problemas.
Uno de los más grandes problemas que se tuvo, fue no poder hacer funcionar el programa en un
principio, lo cual imposibilitaba todo el desarrollo de la actividad. Pero no solo surgió ese
problema. También ocurrió que las últimas dos experiencias no estaban en el software, por lo
tanto no se pudieron concretar. Estas actividades corresponden a Encendido de Led por medio de
teclado y Conteo Hexadecimal.
16
4. Conclusiones.
Al principio, cuando aparecieron los primeros microcontroladores no se pensó que estos fuesen a
causar un gran impacto en las vidas de las personas y en el mundo, pero a medida que pasaron los
años, se fue demostrando la verdadera revolución que ocasionarían mejorando nuestras vidas.
Hoy en dia hay microcontroladores en todo lo que nos rodea, disminuyendo los espacios
requeridos por los circuito, aumento del control de los dispositivos electrónicos, etc.
Además se pudo experimentar de forma practica algunas características importantes que nos
permiten facilitarnos la vida, con una simple manipulación de led, el cual es el comienzo de robot
en industrias automatizadas, automóviles, en fin, un mundo de posibilidades incontables que van
creciendo día a día.
17