19
1 Universidad de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL3003 – Laboratorio de Ingeniería Eléctrica INFORME MICROCONTROLADORES Nombre Alumnos: Boris Garrido Arévalo Javier Yarmuch Muñoz Tomas Ogden Araya Profesor : Nelson Morales O. Fecha : 1-06-2011 Santiago, Chile.

INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

  • Upload
    ledat

  • View
    230

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

1

Universidad de Chile

Facultad de Ciencias Físicas y Matemáticas

Departamento de Ingeniería Eléctrica

EL3003 – Laboratorio de Ingeniería Eléctrica

INFORME MICROCONTROLADORES

Nombre Alumnos: Boris Garrido Arévalo

Javier Yarmuch Muñoz

Tomas Ogden Araya

Profesor : Nelson Morales O.

Fecha : 1-06-2011

Santiago, Chile.

Page 2: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

2

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

Page 3: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

1

1. Introducción

En cualquier proceso de cualquier índole, ya sea este un mecanismo mecánico, de transmisión de

calor, un proceso industrial o cualquiera que sea, está presente la idea de mantener un control

sobre los mecanismos y variables involucradas para lograr una estabilidad y obtener así los

resultados esperados. Dentro de esta idea de control son importantes dos puntos, el primero es la

medición de las variables que participan el proceso y que determinan su resultado, y el segundo es

dar paso a acciones que lleven estas variables a los valores considerados adecuados. Así, pudiendo

manejar estos puntos, el proceso debería comportarse de una manera prevista y los resultados

obtenidos serán muy cercanos a los esperados, cosa muy importante ya que en muchos de estos

procesos un funcionamiento erróneo puede conllevar a pérdidas cuantiosas en cuanto a lo

económico o irremediables cuando se trata de la seguridad de las personas.

Para lograr este control se han inventado diversos sistemas, si bien la idea de control no

ha cambiado, las implementaciones para este fin si lo han hecho. Así, los primeros sistemas de

control consistían en elementos digitales discretos, pero la necesidad de ahorro de espacio y

dinero llevaron al desarrollo de dispositivos cada vez más pequeños, llegando a crearse sistemas

integrados de control, los llamados microcontroladores. Dichos microcontroladores, cada vez más

capaces y más pequeños, son los responsables del control de la mayoría de los procesos que

ocurren dentro de los aparatos modernos, estando presentes en cosas tan inimaginables como en

el sistema de frenos de un automóvil o el control de temperatura de un horno. Así, poco a poco los

estos pequeños dispositivos toman más fuerza y ganan más terreno dentro de la tecnología actual,

llegando a que en un mundo moderno la idea de un mecanismo complejo que no utilice

microcontroladores se hace impensable.

Page 4: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

2

2. Marco teórico.

2.1. El microcontrolador.

Un microcontrolador es un circuito integrado que incluye en su interior las tres unidades

funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de

entrada y salida. La memoria del programa en forma de flash ROM a menudo se incluyen en el

chip, así como una pequeña cantidad de RAM . Estos son diseñados para aplicaciones embebidas,

en contraste con los microprocesadores utilizados en computadoras personales u otras

aplicaciones de propósito general.

Figura 1: ejemplo microcontrolador.

Los microcontroladores son utilizados en los productos controlados automáticamente y

dispositivos, tales como los sistemas de control del motor del automóvil, los dispositivos médicos

implantables, mandos a distancia, máquinas de oficina, electrodomésticos, herramientas

eléctricas, juguetes, etc. Al reducir el tamaño y el costo en comparación con un diseño que utiliza

un microprocesador independiente, memoria y dispositivos de entrada/salida.

Algunos microcontroladores pueden utilizar bits de palabras de cuatro y funcionan a la velocidad

de la frecuencia de un reloj incorporado tan bajas como 4 [kHz], de bajo consumo de energía. Por

lo general, tendrá la capacidad de conservar la funcionalidad a la espera de un evento como pulsar

un botón u otra interrupción. Otros microcontroladores pueden servir en roles críticos de

rendimiento, donde pueden necesitar que actué más como un procesador de señal digital (DSP),

con velocidades de reloj más alta y el consumo de energía.

Page 5: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

3

2.2. Diferencias entre microprocesador y microcontrolador.

“La idea es que el circuito integrado se coloque en el dispositivo, enganchado a la fuente de

energía y de información que necesite, y eso es todo. Un microprocesador tradicional no le

permitirá hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay

que agregarle los modulos de entrada y salida (puertos) y la memoria para almacenamiento de

información.”

El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (UCP),

también llamada procesador, de un computador. La UCP está formada por la Unidad de Control,

que interpreta las instrucciones, y el Camino de Datos, que las ejecuta.

Las patitas de un microprocesador sacan al exterior las líneas de sus buses de direcciones, datos y

control, para permitir conectarle con la Memoria y los Módulos y configurar un computador

implementado por varios circuitos integrados. Se dice que un microprocesador es un sistema

abierto porque su configuración es variable de acuerdo con la aplicación a la que se destine.

Figura 2: ejemplo en esquema de un microprocesador.

Si sólo se dispusiese de un modelo de microcontrolador, éste debería tener incluido todos

sus recursos para poderse adaptar a las exigencias de las diferentes aplicaciones. En la práctica

cada fabricante de microcontroladores ofrece un elevado número de modelos diferentes, desde

los más sencillos hasta los más poderosos. Es posible seleccionar la capacidad de las memorias, el

número de pines, la cantidad y potencia de los elementos auxiliares, la velocidad de

funcionamiento, etc. Por todo ello, un aspecto muy destacado del diseño es la selección del

microcontrolador a utilizar.

Page 6: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

4

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.

El tamaño de la unidad central de procesamiento, la cantidad de memoria y los periféricos

incluidos dependerán de la aplicación, un ejemplo es el control de un electrodoméstico sencillo

como una batidora, utilizará un procesador muy pequeño (4 u 8 bit) por que sustituirá a un

autómata finito. En cambio un reproductor de música y/o vídeo digital (mp3 o mp4) requerirá de

un procesador de 32 bit o de 64 bit y de uno o pines de señal digital (audio y/o vídeo).

Figura 4: Esquema de un microcontrolador.

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.

Page 7: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

5

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.

Page 8: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

6

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.

2.4.2. Unidad de control.

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,

Page 9: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

7

controladores de memoria cache, controladores de buses, controladores de interrupción,

pipelines, entre otros elementos, dependiendo siempre del tipo de procesador.

2.4.3. Unidad aritmético-lógica.

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.

Su impacto en las prestaciones del procesador es también importante porque, dependiendo de su

potencia, tareas más o menos complejas, pueden hacerse en tiempos muy cortos.

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.

2.4.5. Conjunto de instrucciones.

Aunque no aparezca en el esquema, no podíamos dejar al conjunto o repertorio de instrucciones

fuera, porque este elemento determina lo que puede hacer el procesador.

Define las operaciones básicas que puede realizar el procesador, que conjugadas y organizadas

forman lo que conocemos como software. El conjunto de instrucciones vienen siendo como las

letras del alfabeto, el elemento básico del lenguaje, que organizadas adecuadamente permiten

escribir palabras, oraciones y cuanto programa se le ocurra.

Existen dos tipos básicos de repertorios de instrucciones, que determinan la arquitectura del

procesador: CISC y RISC.

CISC, del inglés Complex Instruction Set Computer, Computadora de Conjunto de Instrucciones

Complejo. Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por

ser muy amplio y que permiten realizar operaciones complejas entre operandos situados en la

Page 10: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

8

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.

Memoria de programa: El microcontrolador está diseñado para que en su memoria de programa

se almacenen todas las instrucciones del programa de control. Como éste siempre es el mismo,

debe estar grabado de forma permanente.

Existen algunos tipos de memoria adecuados para soportar estas funciones, de las cuales se

describen las siguientes:

- ROM con máscara: se graba mediante el uso de máscaras. Sólo es recomendable para series muy

grandes debido a su elevado coste.

- EPROM: se graba eléctricamente con un programador controlador por un PC. Disponen de

una ventana en la parte superior para someterla a luz ultravioleta, lo que permite su borrado.

Puede usarse en fase de diseño, aunque su coste unitario es elevado.

- OTP: su proceso de grabación es similiar al anterior, pero éstas no pueden borrarse. Su bajo coste

las hacen idóneas para productos finales.

- EEPROM: también se graba eléctricamente, pero su borrado es mucho más sencillo, ya que

también es eléctrico. No se pueden conseguir grandes capacidades y su tiempo de escritura y su

consumo es elevado.

- FLASH: se trata de una memoria no volátil, de bajo consumo, que se puede escribir y borrar

en circuito al igual que las EEPROM, pero que suelen disponer de mayor capacidad que estas

últimas. Son recomendables aplicaciones en las que es necesario modificar el programa a lo largo

de la vida del producto. Por sus mejores prestaciones, está sustituyendo a la memoria EEPROM

para contener instrucciones.

Page 11: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

9

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.

Cuando observamos la organización básica de un microcontrolador, señalamos que dentro de este

se ubican un conjunto de periféricos, cuyas salidas están reflejadas en los pines del

microcontrolador. A continuación describiremos algunos de los periféricos que con mayor

frecuencia encontraremos en los microcontroladores.

2.6.1. Temporizadores y contadores.

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.

2.6.2. Conversor analógico/digital.

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.

2.6.3. Puertos de comunicación.

Existen distintos protocolos de comunicación, que consisten en el envio de información con sierto

tipos de señales, siertos intervalos de tiempo, en algunos casos la comunicación puede ser

bidireccional, se mencionaran algunos de los mas importantes:

Page 12: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

10

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.

2.6.5. Modulador de ancho de pulso (PWM).

Los PWM (Pulse Width Modulator) son periféricos muy útiles sobre todo para el control de

motores, sin embargo hay un grupo de aplicaciones que pueden realizarse con este periférico,

dentro de las cuales podemos citar: inversión DC/AC para UPS, conversión digital analógica D/A,

control regulado de luz (dimming) entre otras.

Page 13: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

11

2.7. Lenguaje entre el microcontrolador y nosotros.

Lenguaje de máquina es el sistema de códigos directamente interpretable por un circuito

microprogramable, como el microprocesador de una computadora o el microcontrolador de un

autómata. Este lenguaje está compuesto por un conjunto de instrucciones que determinan

acciones a ser tomadas por la máquina. Un programa consiste en una cadena de estas

instrucciones de lenguaje de máquina (más los datos). Estas instrucciones son normalmente

ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o

eventos externos. El lenguaje de máquina es específico de cada máquina o arquitectura de la

máquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre ellas.

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.

Una visión típica de la arquitectura de computadoras como una serie de capas de

abstracción: hardware, firmware, ensamblador, kernel, sistema operativo y aplicaciones.

Claude Elwood Shannon, en su Analysis of Relay and Switching Circuits, y con sus experiencias en

redes de conmutación, sentó las bases para la aplicación del “álgebra de Boole” a las redes de

conmutación.

Una red de conmutación es un circuito de interruptores eléctricos que al cumplir ciertas

combinaciones booleanas con las variables de entrada, define el estado de la salida. Este concepto

es el núcleo de las puertas lógicas, las cuales son, por su parte, los ladrillos con que se

construyen sistemas lógicos cada vez más complejos.

El sistema binario, en matemáticas e informática, es un sistema de numeración en el que los

números se representan utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las

computadoras, debido a que trabajan internamente con dos niveles de voltaje, por lo que su

sistema de numeración natural es el sistema binario (encendido 1, apagado 0).

El sistema Hexadecimal, es el sistema de numeración de base 16 (empleando por tanto 16

símbolos). Su uso actual está muy vinculado a la informática y ciencias de la computación, pues

los computadores suelen utilizar el byte u octeto como unidad básica de memoria; y, debido a que

un byte representa 28 valores posibles, y esto puede representarse

como , que, según el teorema

general de la numeración posicional, equivale al número en base 16 , dos dígitos hexadecimales

corresponden exactamente (permiten representar la misma línea de enteros) a un byte.

Page 14: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

En principio, dado que el sistema usual de num

dispone de diez dígitos, se adoptó la convención de usar las seis primeras letras del alfabeto latino

para suplir los dígitos que 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

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×16

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

computadora Bendix G-15.

Figura

El lenguaje ensamblador, o

programación de bajo nivel

otros circuitos integrados programables. Implementa una representación simbólica de los

de máquina binarios y otras constantes necesarias para programar una

constituye la representación más directa del

legible por un programador. Esta representa

de hardware, los registros del procesador, las posicione

lenguaje. Un lenguaje ensamblador es por lo tanto específico a cierta

computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de

programación de alto nivel, que, idealmente son

Un programa utilitario llamado

ensamblador al código de máquina del computador objetivo. El ensamblador realiza una

traducción más o menos isomorfa

las instrucciones y datos de máquina. Esto está en contraste con los lenguajes de alto nivel, en los

cuales una sola declaración gener

En principio, dado que el sistema usual de numeración es de base decimal

dispone de diez dígitos, se adoptó la convención de usar las seis primeras letras del alfabeto latino

e nos faltan. El conjunto de símbolos sería, por tanto, el siguiente:

= {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

+ E×162 + 0×16

1 + A×16

0 = 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

. Una representación anterior, con 0–9 y u–z, fue usada en

Figura 5: Lenguaje de maquina hexadecimal.

o assembler (assembly language en inglés ) es un

para los computadores, microprocesadores, microcontroladores

programables. Implementa una representación simbólica de los

binarios y otras constantes necesarias para programar una arquitectura

constituye la representación más directa del código máquina específico para cada arquitectura

legible por un programador. Esta representación es usualmente definida por el fabricante

del procesador, las posiciones de memoria, y otras características del

lenguaje. Un lenguaje ensamblador es por lo tanto específico a cierta

física (o virtual). Esto está en contraste con la mayoría de los lenguajes de

, que, idealmente son portables.

llamado ensamblador es usado para traducir sentencias del lenguaje

ensamblador al código de máquina del computador objetivo. El ensamblador realiza una

isomorfa (un mapeo de uno a uno) desde las sentencias mnemónicas a

las instrucciones y datos de máquina. Esto está en contraste con los lenguajes de alto nivel, en los

ola declaración generalmente da lugar a muchas instrucciones de máquina.

12

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

e nos faltan. El conjunto de símbolos sería, por tanto, el siguiente:

Se debe notar que A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. En ocasiones se emplean letras

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

= 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

z, fue usada en 1956 por la

) es un lenguaje de

microcontroladores, y

programables. Implementa una representación simbólica de los códigos

arquitectura dada de CPU y

específico para cada arquitectura

ción es usualmente definida por el fabricante

, y otras características del

lenguaje. Un lenguaje ensamblador es por lo tanto específico a cierta arquitectura de

física (o virtual). Esto está en contraste con la mayoría de los lenguajes de

es usado para traducir sentencias del lenguaje

ensamblador al código de máquina del computador objetivo. El ensamblador realiza una

(un mapeo de uno a uno) desde las sentencias mnemónicas a

las instrucciones y datos de máquina. Esto está en contraste con los lenguajes de alto nivel, en los

lugar a muchas instrucciones de máquina.

Page 15: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

13

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.

Page 16: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

14

3. Experiencia en el laboratorio y otros.

3.1 Configuración del software.

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.

3.2 Conexión del Micro controlador.

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.

3.3 Actividades con MCLS-Software.

3.3.1 Parpadeo de un LED.

Primero que todo, es necesario conectar las placas de la siguiente forma:

Page 17: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

15

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.

3.3.2 Tira de LEDs.

En la siguiente experiencia se necesita que se conecten las cosas de la siguiente forma:

Page 18: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

16

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.

Page 19: INFORME MICROCONTROLADORES - U-Cursos · PDF fileUnidad de control ... un aspecto muy destacado del diseño es ... lenguaje de programación BASIC que se utiliza bastante con este

17

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.