Está en la página 1de 34

Microcontroladores (CS00002)

Grupo 02 Horario: 13 – 15 Mi
Salón: LE-03

Karina Y. Sosa González


Campus Ciudad de México ksosa@itesm.mx
División de Ingeniería y Arquitectura Oficinas I 1er. Piso.
Departamento de Ingeniería
Eléctrica y Electrónica

OBJETIVO GENERAL DE LA MATERIA


El alumno aprenderá a diseñar sistemas digitales de aplicaciones específicas, tanto desde el punto de
vista de hardware, como de software, basados en microcontroladores; siempre con la convicción de que
la simulación es un buen inicio cuando se desea implementar una aplicación.

OBJETIVOS ESPECIFICOS DEL CURSO


Conocer las características generales de los sistemas de microcontroladores en cuanto a su clasificación,
arquitectura, conexión de periféricos, etc.
Conocer la arquitectura y funcionamiento de los microcontroladores de la familia MCS51 de Intel.
Desarrollar habilidades en la programación en lenguaje ensamblador de los microcontroladores de la
familia MCS51.
Desarrollar habilidades en el manejo de simuladores para microcontroladores.

CALENDARIO DE LABORATORIO
Semana Fechas Tema
Introducción al laboratorio, políticas, evaluación,
1 10 al 16 de Agosto instalación de los software: Proteus y Proview.
Práctica No. 1: Reporte introductoria del programa.
2 17 al 22 de Agosto Práctica No. 2: Manejo de motores de CD.
3 24 al 29 de Agosto Práctica No. 3: Manejo de motores a pasos
31 de Agosto – 5 de
4 Práctica No. 4: Convertidor de datos, luces y Buzzer.
Septiembre
5 7 al 12 de Septiembre Práctica No. 5:Sistema mínimo del MCS-51
6 14 al 19 de Septiembre Asueto
7 21 al 26 de Septiembre Práctica No. 6:Introducción a PROVIEW
28 de Septiembre al 3 de Práctica No. 7: Programación para display a siete
8
Octubre segmentos en paralelo.
9 5 al 10 de Octubre Práctica No. 8: adquisición de datos.
10 12 al 17 de Octubre Práctica No. 9: Conexión de una pantalla de LCD
11 19 al 24 de Octubre Práctica No. 10: Control de Motores 1
Práctica No. 11: Control de Motores 2
12 26 al 31 de Octubre
Entrega de Propuesta de Proyecto Final.
13 2 al 7 de Noviembre Proyecto final
14 9 al 13 de Noviembre Práctica No. 12: Comunicación serial y LCD.
15 Proyecto Final
16 16 al 21 de Noviembre Entrega de Proyecto Final

POLÍTICAS GENERALES
Sobre la asistencia a clases y puntualidad
a) La asistencia al curso es obligatoria. El profesor comenzará a tomar lista de asistencia cinco minutos
después de la hora de inicio establecida.
b) Al alumno que llegue después de cinco minutos de la hora de inicio establecida, no se le permitirá la
entrada al salón de clases y tendrá falta de asistencia.
c) Ninguna falta de asistencia es justificable.
d) Si un alumno es expulsado del salón de clase por su profesor, tendrá falta en esa sesión.
e) De acuerdo al Reglamento Académico de las Carreras Profesionales1 vigente, para tener derecho a
presentar examen final se requiere que el alumno tenga un mínimo de 88% de asistencias en el curso.
Tiene también el derecho a presentar el examen final, el alumno que tenga menos del 88% de
asistencias y un mínimo del 82% siempre que tenga promedio de calificaciones parciales igual o superior
a 83. Para los efectos de dicho reglamento, se considera que un 6% de asistencias equivale al número
de clases por semana.
Sobre la disciplina en el salón de clases
Las disposiciones generales sobre la disciplina en el salón de clases se encuentran detalladas en el
Reglamento General de Alumnos2 vigente. En sus líneas generales, dicho reglamento establece que:
a) Los alumnos deben mantener una actitud respetuosa hacia el profesor, el resto de los alumnos y
expositores invitados en el salón de clase.
b) Queda estrictamente prohibido ingerir todo tipo de bebidas y/o alimentos dentro del salón de clases.
c) No se permite el uso de teléfonos celulares dentro de la clase. El profesor puede sacar de clase al
alumno, poniéndole falta en esa sesión.
d) Debe evitarse el maltrato a las sillas. Si el profesor solicita a los alumnos moverlas de sitio, éstos
deberán dejarlas en la posición regular al finalizar la clase.
Sobre la deshonestidad académica
La copia parcial o total o el plagio de tareas y trabajos de investigación serán fuertemente penalizados. El
artículo 63 del Reglamento Académico de las Carreras Profesionales menciona las sanciones a se hace
acreedor el alumno al incurrir en una falta de este tipo. Éstas pueden ser: asignar una calificación de 10
en una actividad determinada, asignar una calificación de 10 en un examen parcial o final, y la separación
del Instituto.
Sobre la entrega de pre-reportes y reportes
a) Los reportes y pre-reportes de cada práctica se deberán entregar durante los primeros quince
minutos de la clase correspondiente. Si el(los) alumno(s) no entrega(n) su trabajo dentro de este
periodo, no tendrá(n) derecho a calificación sobre el mismo.
b) Los pre-reportes se entregarán por equipos y constará de la simulación de la práctica en Proview y
Proteus y en lo pedido en la investigación previa, NO SE ENTREGA, SOLO SE REVISA Y SE
ANEXA PARA EL REPORTE.
c) Los alumnos deberán traer su práctica armada al menos en un 30%, para aprovechar el tiempo
asignado en el laboratorio a hacerle pruebas y dejarla en funcionamiento. Si un equipo no completa
las actividades asignadas, deberán entregarla durante los primeros quince minutos de la siguiente
sesión, con una penalización en la calificación de esa práctica.
Rubro Porcentaje
Pre-reportes 20 %
Trabajo en Laboratorio 60 %
Reportes 20 %
Total calificación por parcial 15%
Proyecto Final 10 %

Libros de consulta
ƒ MacKenzie, Scott. “The 8051 Microcontroller”. New York. Prentice Hall, 1999.
ƒ Proview32, Ver. 3.3, Franklin Software Inc, 1995-1996.
ƒ http://www.intel.com
ƒ http://www.nsc.com
ƒ http://www.atmel.com
ƒ http://www.microcontroller.com
ƒ http://www.8052.com
ƒ http://www.ti.com

1
http://www.rsmx.itesm.mx/archivos/regpro/reglamentos.html
2
http://www.itesm.mx/dae/rga/
Práctica No. 1
Reporte Introductorio
del Software.
OBJETIVOS

; Al término de la presente práctica, el alumno será capaz de manejar el software de simulación Proteus,
mismo que le ayudará durante todo el curso a verificar el correcto funcionamiento tanto de la programación
requerida, como del hardware.

INTRODUCCIÓN

El programa PROTEUS es una aplicación CAD que se compone de tres módulos básicos:

► ISIS (Intelligent Schematic Input System) que es el modulo de captura de esquemas.


► VSM (Virtual System Modelling) es el modulo de simulación, incluyendo PROSPICE.
► ARES (Advanced Routing Modelling) es el modulo para realización de circuitos impresos (PCB)

El modulo ISIS es un programa que nos permite dibujar sobre un área de trabajo un circuito que posteriormente
podremos simular. Las utilidades que posee este software son entre otras: 1) conexiones automáticas entre dos puntos
del esquema, 2) librerías de componentes, 3) Netlist compatible con la mayoría de los programas de PCB, 4)
enumeración automática de componentes, entre otros.

Otro de los componentes que trae esta aplicación es VSM, el cual es utilizado para efectuar análisis, aunque lo
primero es realizar el diseño de un circuito y en dicho circuito especificar cuales son las propiedades de los
elementos en él incluidos.

Además, debemos de disponer de generadores de señal que se aplicaran al circuito y de sondas de prueba que
permitan medir las tensiones y corrientes a analizar, graficas sobre las cuales representar los resultados del análisis,
etc. Una vez que se han indicado para analizar cualquier circuito se hace preciso excitarlo con señales, es decir, se
hace necesario el concurso de generadores o inyectores de señal, para así obtener graficas analógicas o digitales
según sea el caso.

Por ultimo, podemos transladar todos lo que hemos realizado a un circuito PCB, mismo que nos ayudara a pasar los
circuitos a prueba física de forma casi transparente.

Ahora bien, si alguno de los dispositivos que estamos utilizando no se encuentran dentro de las librerías, también
puede ser creado directamente en la hoja de trabajo, a través de simples pasos que van desde dibujar el componente
dentro de la hoja de trabajo, establecer el cuerpo del componente y darle las características necesarias que se
establecen para su buen funcionamiento.

INVESTIGACION PREVIA

1. ¿Qué sentido tiene realizar simulaciones dentro de la carrera?


2. ¿Cómo se utilizan las hojas de datos? Es decir, describa el correcto funcionamiento de la hoja que incluya
tanto la colocación de dispositivos, como la conexión y simulación de parámetros.
3. Describa el procedimiento para que una vez que se ha simulado el circuito, y verificado que funcione, se
pueda transformar en la base de tablilla para un PCB.
4. Por ultimo, diseñe un pequeño manual de operaciones que conteste las preguntas 2 y 3 de forma
satisfactoria, dando énfasis principalmente a los componentes que mayormente se utilizaran dentro del
semestre.

MATERIAL Y EQUIPO

Equipo: Componentes
1 computadora Latop No requerido
Software de simulación Proteus

DESARROLLO

1. Dibuje un circuito analógico y realice su análisis. Como mínimo debe de integrar cuatro componentes sin
considerar las fuentes de alimentación y tierra.
2. Elabore un circuito digital de prueba con mínimo cinco dispositivos y realice su simulación.
3. Por ultimo, integre un circuito analógico-digital y simule.
Práctica No. 2
Manejo de Motores CD.

OBJETIVOS

; Al término de esta práctica el alumno comprenderá el principio de operación de los motores a pasos y será
capaz de implementar aplicaciones donde se requiera del posicionamiento preciso de una pieza utilizando
motores a pasos.
; Al término de esta práctica el alumno comprenderá el principio de operación de los puentes H.

INTRODUCCIÓN

Un puente H es un circuito con cuatro transistores (MOSFETs, BJTs, IGBTs) que permiten controlar el sentido de la
corriente entre dos terminales activando y desactivando al mismo tiempo dos de sus transistores con lo cual se puede
cambiar la polarización de la carga.

Figura 1. Puente H.

En la figura 1a se puede observar que al activar SW1 y SW2 mientras se desactiva SW3 y SW4 la carga es
polarizada en un sentido y en la figura 1b se puede observa que al invertir la activación de los interruptores el sentido
de la corriente cambia.

INVESTIGACION PREVIA

1. Realice una investigación exhaustiva del funcionamiento general de los transistores NPN y PNP, así como
la conexión de ellos para formar un puente H.
2. Investigue las ventajas y desventajas de utilizar circuitos de motores H (tales como el L293) en lugar de los
arreglos de transistores.
3. Baje las hojas de especificaciones de los transistores TIP 41 y 42, así como la hoja de especificaciones del
CI L293.
4. ¿Qué tipo de transistores son? ¿Cuál es su rango de corriente que soportan tanto el CI como los transistores?
5. ¿Cómo se encuentra formado interiormente un motor DC?
6. ¿Cuánta potencia consume un motor?
7. ¿La potencia suministrada por el circuito es suficiente para hacerlo funcionar? Haga un análisis del
funcionamiento del circuito utilizando transistores y el CI L293.

MATERIAL Y EQUIPO

Equipo: Componentes
1 Fuente de voltaje de CD triple. 1 Motor DC.
1 Generador de Funciones. (8) Resistencias de 1Kohm
4 Cables Banana-Caimán 4 Transistores TIP41
1 BNC-Caimán 4 Transistores TIP42
1 CI L293
(8) diodos rectificadores

DESARROLLO

1. A continuación se muestran los circuitos de las figuras 4 y 5, que constituyen puentes H con arreglos de
transistores NPN o PNP.
a. Investigue la conexión de los transistores para que el motor gire a la derecha o a la izquierda.
b. Una vez hecho lo anterior, arme el circuito (soldado en un modulo) y pruebe su funcionamiento
(recuerde dejar las entradas necesarias para manipular el circuito - cuatro: alimentación Vcc, GND,
y la activación del sentido del motor (A y B) con headers)
c. Con el circuito del inciso anterior manteniendo la señal de tierra cambia la señal de activación por
un tren de pulsos de 5V(TTL). Incrementa la frecuencia de la señal partiendo de 10Hz hasta que
observes que el motor adquiere su velocidad máxima, a partir de este punto modifica el ciclo de
trabajo de la señal de 0.9 a 0.1 sin modificar la frecuencia. Indique los resultados considerando la
forma de onda de entrada como punto de referencia.

Figura 4: Puente H con transistores NPN. Figura 5: Puente H con transistores PNP.
Práctica No. 3
Manejo de Motores a
Pasos.
OBJETIVOS:

; Al término de esta práctica el alumno comprenderá el principio de operación de los motores a pasos y será
capaz de implementar aplicaciones donde se requiera del posicionamiento preciso de una pieza utilizando
motores a pasos.

INTRODUCCION:

Los motores a pasos cubren un campo muy específico en el área control de motores y son utilizados para la medición
y control. Algunas de sus aplicaciones más importantes se pueden encontrar en las impresoras de inyección de tinta,
en las maquinas de control numérico y en las bombas volumétricas. Existen algunas características específicas de los
motores a pasos que los hacen idóneos para este tipo de aplicaciones:

Posicionamiento en lazo abierto, el motor gira en incrementos fijos de modo que se puede saber la posición
sin necesidad de una retroalimentación de la posición.
Libres de mantenimiento, los motores a pasos no cuentan con carbones y escobillas con lo que no se
requiere realizarles mantenimiento además de hacerlos más confiables ya que estos no generan un arco cosa
que es deseable en algunos ambientes de trabajo.
Independencia de la carga, el motor gira a incrementos fijos sin importar la carga mientras no se rebase la
especificación de torque del motor.
Sostenimiento del torque, el motor puede mantener la carga en una posición específica sin necesidad de un
mecanismo de retroalimentación.
Excelente respuesta, el motor comienza a girar con mucha facilidad, tiene una buena respuesta al paro y la
inversión de giro.

Existen tres tipos de motores a pasos: de imán permanente, reluctancia variable e híbridos. El motor a pasos de imán
permanente tiene un rotor magnetizado radialmente, el motor de reluctancia variable consiste de un rotor y estator
con un número diferente de dientes, el motor de pasos híbrido cuenta con estator dentado y un rotor de tres partes
que contiene dos piezas de polos separados por un magneto permanente magnetizado.

FIGURA 1: Motor a Pasos Bipolar.


En esta práctica nos enfocaremos en el funcionamiento de los motores a pasos de imán permanente de los cuales
existen dos tipos: Unipolares y Bipolares.

Los motores a pasos unipolares están constituidos por dos bobinas cada una con un tap central como se muestra en la
figura 1. El motor externamente puede tener de 5 a 6 cables ya que puede tener los dos cables de tap central o solo
uno ya que internamente pueden estar unidos. Existen tres tipos de secuencia para la activación de cada una de las
bobinas. Básicamente consiste en ir activando una a una las bobinas secuencialmente de forma que el rotor vaya
girando ya sea por la atracción u oposición del campo magnético del rotor de acuerdo a la polarización del tap central
(Ver figura 2).

En la tabla 1 se muestra la secuencia de paso único la cual consiste en ir activando una a la vez cada una las bobinas.
Esta secuencia es la más simple sin embargo no se logra un buen torque ya que una sola bobina arrastra y sujeta al
rotor.

TABLA 1: Secuencia Única. TABLA 2: Paso Doble

En la tabla 2 se muestra la secuencia de paso doble la cual activa dos bobinas a la vez con lo que genera un campo
magnético más potente con lo que genera una atracción más fuerte al rotor con lo que atraerá y mantendrá al rotor
con más fuerza, sin embargo los cambios serán más bruscos.

TABLA 3: Secuencia de Medio Paso.

En la tabla 3 se muestra la secuencia de medio paso la cual combina las dos secuencias anteriores con la cual se logra
un paso más fino en comparación a la secuencia de paso doble.

Los motores de pasos bipolares cuentan con dos embobinados independientes (figura 2) sin tap central con lo que la
corriente fluye por toda la bobina produciendo más torque que un motor unipolar del mismo tamaño, sin embargo se
requiere de un circuito de control más complejo ya que se tiene que cambiar el sentido de la corriente en las bobinas
para que el rotor se vaya girando en un sentido.

FIGURA 2: Motor a Pasos Bipolar.


La corriente a través de la bobina es bidireccional por lo que se requiere realizar un cambio de polaridad en cada una
de las bobinas. En la figura 2 el flujo de corriente es en un sentido cuando A es positivo y B es negativo para invertir
el giro se necesitará de invertir la polaridad por lo que se necesita utilizar un puente H para realizar este cambio. En
la tabla 4 se muestra una secuencia de 12 pasos donde + y – indica la polarización y 0 indica que no se energiza. La
secuencia de la tabla 4 optimiza el consumo de energía al energizar únicamente una bobina a la vez y la tabla 5
optimiza el torque energizando dos bobinas al mismo tiempo.

TABLA 4: Secuencia Para un Motor Bipolar.

TABLA 5: Secuencia para un Motor Bipolar.

INVESTIGACION PREVIA:

1. Una vez que ha conseguido el motor a pasos, investigue cual es la tabla de movimiento en contra y con las
manecillas del reloj.
2. Investigue las hojas de especificaciones del circuito MC3479.
3. Desarrolle la configuración para que por medio de un dip switch se pueda cambiar la polaridad del giro.
4. ¿Cómo hacemos para tener pasos completos y medios pasos?
5. ¿para que sirve el zener dentro de la configuración marcada abajo?
6. ¿Es mejor utilizar controlador de motor a pasos o utilizar las líneas de control del motor?
7. describa como se puede utilizar el controlador de motor a pasos con el puente H utilizando tanto los transistores
como el CI L293.

MATERIAL Y EQUIPO:

Equipo: Componentes
1 Fuente de voltaje de CD triple. 1 MC3479
1 Generador de Funciones. (8) Resistencias de 1Kohm
1 Osciloscopio (1) Resistencia de 47Kohm
4 Cables Banana-Caimán 1 Diodo zener de 3V
1 BNC-Caimán 4 Transistores TIP41
1 Punta de prueba para el osciloscopio 4 Transistores TIP42

DESARROLLO:

1. Utilizando como base el circuito mostrado en la figura 3, arme un modulo soldado para poder controlar un
motor a pasos considerando que debe de utilizar headers para el futuro control de las salidas CLK,
CW/CCW, HALF/FULL, OIC (No es necesario que se utilice este modelo, pero si es necesario que
podamos controlar los puntos anteriores, al igual que como puente H se puede intercambiar los transistores
por un CI de su elección).
2. Una vez armado el modulo, conecta a tierra las terminales CW/CCW(10) y OIC(8). Aliméntala con un tren
de pulsos de 5V (TTL) la terminal CLK(7).
a. Varia la frecuencia de 0.1Hz a 50Khz lentamente, con un taquímetro toma mediciones de la
velocidad de giro de la flecha a distintas frecuencias al mismo tiempo observa con ayuda del
osciloscopio la frecuencia de la señal de salida PHA(11). Observa y reporta que pasa con el giro de
la flecha del motor. ¿Para que sirve la terminal PHA(11)?
b. Nuevamente varía la frecuencia Terminal de entrada CLK(7) pero con una carga. Para ello con la
frecuencia más baja a la que gira la flecha del motor aplica con tus dedos presión en la flecha sin
que esta deje de girar. Aumenta la frecuencia y observa que pasa con el torque del motor.
3. El circuito integrado MC3471 puede trabajar con las secuencias de las tablas 4 y 5.
a. Conecta F/HS(9) a 5Volts y repite el procedimiento del paso 2b. Observa y reporta
b. Conecta OIC(8) a 5Volta y repite el procedimiento del paso 2b. Observa y reporta

FIGURA 3: Diagrama Eléctrico.


Práctica No. 4
Convertidor de Datos.

OBJETIVOS

; El alumno comprenderá y armará un kit de adquisición de datos.

INTRODUCCIÓN

La adquisición de datos, consiste en la toma de muestras del mundo real (sistema analógico) para generar datos que
puedan ser manipulados por un ordenador (sistema digital). Consiste, en tomar un conjunto de variables físicas,
convertirlas en tensiones eléctricas y digitalizarlas de manera que se puedan procesar en una computadora o PAC. Se
requiere una etapa de acondicionamiento, que adecua la señal a niveles compatibles con el elemento que hace la
transformación a señal digital. El elemento que hace dicha transformación es el módulo o tarjeta de Adquisición de
Datos (DAQ).

La adquisición de datos se inicia con el fenómeno físico o la propiedad física de un objeto (objeto de la
investigación) que se desea medir. Esta propiedad física o fenómeno podría ser el cambio de temperatura o la
temperatura de una habitación, la intensidad o intensidad del cambio de una fuente de luz, la presión dentro de una
cámara, la fuerza aplicada a un objeto, o muchas otras cosas. Un eficaz sistema de adquisición de datos puede medir
todas estas diferentes propiedades o fenómenos.

Un transductor es un dispositivo que convierte una propiedad física o fenómeno en una señal eléctrica
correspondiente medible, tal como tensión, corriente, el cambio en los valores de resistencia o condensador, etc. La
capacidad de un sistema de adquisición de datos para medir los distintos fenómenos depende de los transductores
para convertir las señales de los fenómenos físicos mensurables en la adquisición de datos por hardware.
Transductores son sinónimo de sensores en sistemas de DAQ. Hay transductores específicos para diferentes
aplicaciones, como la medición de la temperatura, la presión, o flujo de fluidos. DAQ también despliega diversas
técnicas de acondicionamiento de Señales para modificar adecuadamente diferentes señales eléctricas en tensión, que
luego pueden ser digitalizados usando CED.

Las señales pueden ser digitales (también llamada señales de la lógica) o analógicas en función del transductor
utilizado.

El acondicionamiento de señales suele ser necesario si la señal desde el transductor no es adecuado para la DAQ
hardware que se utiliza. La señal puede ser amplificada o desamplificada, o puede requerir de filtrado, o un cierre
patronal, en el amplificador se incluye para realizar demodulación. Varios otros ejemplos de acondicionamiento de
señales podría ser el puente de conclusión, la prestación actual de tensión o excitación al sensor, el aislamiento,
linealización, etc. Este pretratamiento del señal normalmente lo realiza un pequeño módulo acoplado al transductor.

A veces el sistema de adquisición es parte de un sistema de control, y por tanto la información recibida se procesa
para obtener una serie de señales de control. En este diagrama (figura 1) podemos ver los bloques que componen
nuestro sistema de adquisición de datos.

El transductor es un elemento que convierte la magnitud física que vamos a medir en una señal de salida
(normalmente tensión o corriente) que puede ser procesada por nuestro sistema. Salvo que la señal de entrada sea
eléctrica, podemos decir que el transductor es un elemento que convierte energía de un tipo en otro. Por tanto, el
transductor debe tomar poca energía del sistema bajo observación, para no alterar la medida.

Figura 1: Sistema de adquisición de datos.

El acondicionamiento de señal es la etapa encargada de filtrar y adaptar la señal proveniente del transductor a la
entrada del convertidor analógico / digital. Esta adaptación suele ser doble y se encarga de: Adaptar el rango de
salida del transductor al rango de entrada del convertidor.(Normalmente en tensión), acoplar la impedancia de salida
de uno con la impedancia de entrada del otro.

La adaptación entre los rangos de salida del convertidor y el de entrada del convertidor tiene como objetivo el
aprovechar el margen dinámico del convertidor, de modo que la máxima señal de entrada debe coincidir con la
máxima que el convertidor (pero no con la máxima tensión admisible, ya que para ésta entran en funcionamiento las
redes de protección que el convertidor lleva integrada). Por otro lado, la adaptación de impedancias es
imprescindible ya que los transductores presentan una salida de alta impedancia, que normalmente no puede excitar
la entrada de un convertidor, cuya impedancia típica suele estar entre 1 y 10 k.

El convertidor analógico/digital es un sistema que presenta en su salida una señal digital a partir de una señal
analógica de entrada, (normalmente de tensión) realizando las funciones de cuantificación y codificación. La
cuantificación implica la división del rango continuo de entrada en una serie de pasos, de modo que para infinitos
valores de la entrada la salida sólo puede presentar una serie determinada de valores. Por tanto la cuantificación
implica una pérdida de información que no podemos olvidar. La codificación es el paso por el cual la señal digital se
ofrece según un determinado código binario, de modo que las etapas posteriores al convertidor puedan leer estos
datos adecuadamente. Este paso hay que tenerlo siempre en cuenta, ya que puede hacer que obtengamos datos
erróneos, sobre todo cuando el sistema admite señales positivas y negativas con respecto a masa, momento en el cual
la salida binaria del convertidor nos da tanto la magnitud como el signo de la tensión que ha sido medida.

La etapa de salida es el conjunto de elementos que permiten conectar el s.a.d con el resto del equipo, y puede ser
desde una serie de buffers digitales incluidos en el circuito convertidor, hasta un interfaz RS-232, RS-485 o Ethernet
para conectar a un ordenador o estación de trabajo, en el caso de sistemas de adquisición de datos comerciales

INVESTIGACION PREVIA

1. Elabore un diagrama interno de un convertidor analógico digital y explique su funcionamiento (puede tomar
el convertidor de tipo Rampa, Sample & Hold, o cualquier otro.
2. Explique para que sirven los voltajes de referencia dentro del circuito integrado, y su iteración con los
voltajes de alimentación máximos y mínimos.
3. ¿Qué representa la resolución en un sistema? ¿Cómo se calcula? ¿En que parte del sistema debe ser
considerada?
4. Investigue la hoja de especificaciones del ADC0804 y explique cada uno de sus entradas y salidas.
MATERIAL Y EQUIPO

Equipo: Componentes
1 Fuente de voltaje de CD triple. 1 ADC0804.
1 Generador de Funciones. (8) Resistencias de 330 ohm
4 Cables Banana-Caimán (8) Leds
1 BNC-Caimán Capacitores
Otros

DESARROLLO

1. En la figura 2, se muestra la forma de conexión de un convertidor analógico-digital en forma de TTL Tester.


a. ¿Qué ventajas tiene esta forma de conexión?
b. ¿Cuál es el rango de operación?
c. ¿Cómo puedo hacer para que la resolución de mi sistema cambie a 10mV/paso?

2. En la figura 3, se muestra el esquema con el cual, un microcontrolador puede indicarle al ADC el momento
en el que desea la conversión.
a. ¿Cómo funciona esto?
b. Explique el diagrama de sincronizacion detalladamente.
c. Describa entonces para que sirven las patas INTR, RD, CS.

3. Elabore un modulo con el ADC soldado, donde a través de Headers, podamos manipular las entradas CS,
INTR, RD, Vin(+), Vin(-), Valim(+), Valim(-) y Vref conectado a un potenciómetro de 10k para poder
manipular la resolución.

Figura 2: ADC en configuración TTl Tester. Figura 3: Configuración para controlador.


Práctica No. 5
Elaboración de un
Sistema Mínimo.
OBJETIVOS:

; Al término de esta práctica el alumno podrá entender el funcionamiento principal del microcontrolador
MCS51 y sus características, así como integrar un sistema mínimo para realizar sus prácticas en un futuro.

INTRODUCCION:

Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una
computadora: CPU, Memoria y Unidades de E/S.

Son diseñados para disminuir el costo económico y el consumo de energía de un sistema en particular. Por eso el
tamaño de la CPU, la cantidad de memoria y los periféricos incluidos dependerán de la aplicación. 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 más Códec de señal digital (audio y/o vídeo). El control de un sistema de frenos ABS
(Antilock Brake System) se basa normalmente en un microcontrolador de 16 bit, al igual que el sistema de control
electrónico del motor en un automóvil.

Figura 1: Diagrama a bloques de un microcontrolador.

Los microcontroladores 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. Mientras se pueden tener uno o dos
microprocesadores de propósito general en casa (vd. está usando uno para esto), usted tiene distribuidos seguramente
entre los electrodomésticos de su hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi
cualquier dispositivo electrónico como automóviles, lavadoras, hornos microondas, teléfonos, etc.
Un microcontrolador difiere de una CPU normal, debido a que es más fácil convertirla en una computadora en
funcionamiento, con un mínimo de chips externos de apoyo. La idea es que el chip 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
módulos de entrada/salida (puertos) y la memoria para almacenamiento de información.

Por ejemplo, un microcontrolador típico tendrá un generador de reloj integrado y una pequeña cantidad de memoria
RAM y ROM/EPROM/EEPROM/FLASH, significando que para hacerlo funcionar, todo lo que se necesita son unos
pocos programas de control y un cristal de sincronización. 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 CAN. 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 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. En esta figura, vemos al microcontrolador metido
dentro de un encapsulado de circuito integrado, con su procesador (CPU), buses, memoria, periféricos y puertos de
entrada salida. Fuera del encapsulado se ubican otros circuitos para completar periféricos internos y dispositivos que
pueden conectarse a los pines de entrada/salida. También se conectarán a los pines del encapsulado la alimentación,
masa, circuito de completamiento del oscilador y otros circuitos necesarios para que el microcontrolador pueda
trabajar.

Antes de que nos introduzcamos en el complicado mundo de la simulación y creación de programas para el
microcontrolador, es importante analizar cada uno de sus componentes y entender de forma general los procesos
básicos de este circuito y la forma correcta de conectarlo.

Por principio de cuentas, es importante determinar un circuito de reinicio que logre tener la estabilidad requerida
para que los procesos internos puedan ejecutarse. La segunda condición importante es activar la memoria interna del
circuito para que el programa guardado dentro pueda iniciar su ejecución. El cristal de oscilación cobra vital
importancia cuando hacemos referencia a la velocidad en la cual se comportara el circuito, es determinante que el
cristal funcione de forma correcta, o el microcontrolador no iniciara los procesos grabados en su interior. Por ultimo,
pero no menos importante, necesitamos tener la certeza de que el circuito ha sido alimentado correctamente (una
alimentación inversa provocara que el circuito se queme).
.
INVESTIGACION PREVIA:

1. Investigue diversas formas de conectar el PUSH BOTTON sin tener rebotes en forma PULL UP.
2. ¿Para que sirve la pata ALE/PROG? ¿Qué obtenemos a la salida?
3. ¿Qué se obtiene en la pata PSEN cuando se conecta el reloj y el micro?
4. Explique la función principal de EA/VPP y que debe de conectarse ahí para el correcto funcionamiento.
5. Describa las funciones de las patas restantes del microcontrolador.

MATERIAL Y EQUIPO:

Equipo: Componentes
1 Fuente de voltaje de CD triple. 1 AT89S51
1 Osciloscopio 1 Resistencias de 1K ohm
1 Punta de Osciloscopio 1 Cristal de 11.059MHz
2 Cables Banana-Caimán 2 Capacitores de 33pF
Par de pinzas 1 Capacitor de 100pF
Programador Universal 1 Push Botton NA
Multímetro 1 BD9 Hembra para proto
1 MAX 232
4 Capacitores 1uF
DESARROLLO:

1. En una tablilla, solde un sistema mínimo con las siguientes características:


1. Un reloj del sistema como se muestra en la Figura 2
2. Un sistema de reseteo como se muestra en la Figura 3, acondicionando la señal de EA a voltaje
(recuerde que de otra forma, el circuito funcionara como un microprocesador en lugar de
microcontrolador).

Figura 2: Conexión del cristal. Figura 3: Conexión del reset.

3. Por ultimo, conecte las salidas RxD y TxD al max232 para poder tener una comunicación serial.

Figura 4: Conexión del puerto serial.

NOTA: Considera que el pataje del circuito es el siguiente (figura 5) no olvide conectar Headers en todos los puertos
para poder facilitar el uso del sistema mínimo con los módulos anteriormente realizados.

FIGURA 5: Patigrama del microcontrolador AT89C51.


Práctica No. 6
Introducción a Proview

OBJETIVOS:

; Al término de esta práctica el alumno será capaz de detectar errores más comunes cuando se ensambla un
programa, conocerá el ambiente de trabajo y los comandos más comunes en un Debbugger para
microcontroladores.

INTRODUCCION:

Existen en el mercado una gran variedad de programas para la simulación y emulación de diferentes dispositivos
electrónicos que varían en precio y prestaciones, en el caso de los microcontroladores hay programas como
“Proview” que además nos permite ensamblar y generar programas en lenguaje “C”. El simulador es una herramienta
muy útil para los diseñadores ya que este permite analizar posibles fallas en la estructura de programas que no se
podrían ver en la operación normal del microcontrolador.

El software que se utilizará en el laboratorio para ensamblar y simular el código con el que se programará al
microcontrolador es el Franklin Proview – 32. Este software incluye una interfase grafica con un editor
multifuncional y un administrador de proyectos que facilitan el ensamblaje del código y la depuración. El uso del
programa es muy sencillo ya que sus comandos se pueden acceder fácilmente mediante menús de tipo pull-down.

Los menús que existen son: File, Edit, Search, Tool, View, Debug, Options, Windows y Help. Éstos se pueden
acceder fácilmente mediante el uso del ratón o el teclado de la computadora.

En el simulador se puede ver el contenido de los registros de control, la memoria RAM y se puede simular la entrada
y salida de datos, además permite modificar en tiempo simulación los datos contenidos en la memoria del
microcontrolador.

INVESTIGACION PREVIA:

1. ¿Cuál es la forma de instalar el PROVIEW?


2. Investigue diversas formas de conectar el PUSH BOTTON sin tener rebotes.
3. ¿Para que sirve la pata ALE/PROG?
4. ¿Qué se obtiene en la pata PSEN cuando se conecta el reloj y el micro?
5. Explique la función principal de EA/VPP y que debe de conectarse ahí para el correcto funcionamiento.
6. ¿Cómo debe de simularse un programa en pasos?
7. ¿Es importante el debuggeo? Explique.
8. ¿Por qué es necesario usar un simulador en lugar de conectar directamente el microcontrolador y
programarlo?

MATERIAL Y EQUIPO:

Equipo: Componentes
1 Fuente de voltaje de CD triple. 1 AT89C51
1 Osciloscopio 1 Resistencias de 100 ohms
1 Punta de Osciloscopio 1 Resistencias de 1K ohm
2 Cables Banana-Caimán 1 Cristal de 6MHz
Par de pinzas 2 Capacitores de 33pF
Programador Universal 1 Capacitor de 100pF
Multímetro 1 Push Botton NA

DESARROLLO:

1. Inicia el programa Proview32, genera un nuevo programa en la opción File => New =>Assembler Files
2. En el cuadro de texto escribe el siguiente programa:
CSEG
ORG 0000h
JMP reset

ORG 0030h
reset: Mov A, #01h
Otra: Mov P1, A
Rl A
Acall espera
Jmp Otra

espera: Mov R0, #0FFh


Mov R1, #0FFh
Abc: Djnz R0, Abc
Mov R0, #0FFh
Djnz R1, Abc
Ret
End.
FIGURA 1: Diseño de programa para encender un conjunto de leds.

3. Una vez que tengas el programa, guárdalo con el nombre de practica5, en el menú File => Save as.
Este programa por omisión lo salva con extensión .ASM, todos los programas realizados en lenguaje
ensamblador llevan esta extensión.
FIGURA 2: Pantalla del compilador.
4. Ensambla el programa, en el menú: Projec=>Translate
Si el programa no tiene ningún error aparecerá una pantalla de la figura 2. Si en el cuadro “Message”
aparece algún mensaje de error con varias líneas, presiona en la línea de error dos veces el botón izquierdo
del mouse y el programa activara la ventana de texto y te señalara la línea que contiene el error con las letras
en rojo y un sombreado gris. Repite el paso 4 hasta que el programa no tenga ningún error.
5. Si no tienes errores, deberás obtener un archivo .LST con tu programa comentado, junto con su presentación
en código de máquina, y además un archivo .HEX que podrás utilizar como entrada para el simulador y el
programador universal.
6. Una vez que hayas compilado el programa, simúlalo con el programa Proview. Para carga el archivo .HEX
en el menú Debug->Start. Te debe aparecer una pantalla como la de la figura 3.

FIGURA 3: Menú de opciones del compilador cuando simula.

NOTA: Los diferentes comandos de este programa se verán en la sesión de laboratorio.

7. Arma el sistema mínimo similar al de la practica No. 4 y prueba el programa que acabas de crear.
8. Ahora, reconstruye el programa para que corra hacia el otro lado. Compruébalo con una simulación y bájalo
al microcontrolador.
Práctica No. 7
Programación Básica
del 8051.
OBJETIVOS:

; Los alumnos podrán explicar la manera en que funciona un display de siete segmentos de ánodo común y de
cátodo común en forma paralela.
; Los alumnos simularán su propio programa usando el programa PROVIEW 32 y Proteus.

INTRODUCCION:

Un display de siete segmentos sirve para desplegar un dígito decimal o en algunos casos hexadecimal. Está
compuesto por 7 diodos emisores de luz (LED) que, al conducir una corriente eléctrica, emiten luz. En la Figura 1 se
muestra uno de estos dispositivos y la manera en que se escriben los dígitos decimales.

FIGURA 1: Display de 7 segmentos y representación de números decimales

Se dice que el display es de cátodo común si los diodos emisores de luz están unidos por el cátodo. Esta unión se
conecta a tierra. Si se desea iluminar cualquiera de los segmentos, es necesario conectar la terminal correspondiente a
VCC a través de una resistencia de 330 Ù para limitar la corriente que pasa por el mismo. Si el display es de ánodo
común, los diodos emisores de luz están unidos por el ánodo. Esta unión se conecta a VCC. Si se desea iluminar
cualquiera de los segmentos es necesario conectar la terminal correspondiente a tierra a través de una resistencia de
330 Ù para limitar la corriente que pase por el mismo.

Para poder mostrar un número BCD en el display de 7 segmentos se debe utilizar un decodificador que mande a cada
segmento la señal de voltaje (1 lógico) o tierra (o lógico) que en su conjunto formará el número deseado. La Figura
2 muestra un ejemplo del funcionamiento de este decodificador. Afortunadamente, nosotros podemos suplir también
el no introducir ningún decodificador BCD proponiendo de forma directa los leds que deben encenderse en cada
ocasión.

Utilizar un decodificador como éste es muy útil cuando se dispone de las 4 señales A, B, C y D. Sin embargo, se
requiere de un circuito adicional si se desean añadir varios displays para representar números de dos o más dígitos.
Se puede emplear el 8051 para realizar las mismas funciones del decodificador conectando al puerto 1 los 7
segmentos del display y mandando al puerto la combinación apropiada que desplegará un dígito decimal en un
instante determinado. Así, si se deseara por ejemplo mostrar una cuenta ascendente de segundos (de 0 a 9 segundos)
se tendría que mandar al puerto 1 el dato apropiado y mantenerlo ahí por 1 segundo para posteriormente colocar el
siguiente dato en el puerto y así sucesivamente.
FIGURA 2. Decodificador de BCD a 7 segmentos

La ventaja de utilizar un microcontrolador para realizar esta función es más perceptible al requerir más de un dígito.
Para lograr esto, se debe hacer un “barrido” de los displays. Esto es, se manda un dato por el puerto 1 que
corresponderá a lo que debe desplegarse en el dígito menos significativo. Para habilitar este Display, se manda un
“1” al pin común del Display si se trata de ánodo común o un “0” si se trata de cátodo común. Inmediatamente se
cambia el dato en el puerto 1 (en caso de ser necesario) al mismo tiempo que se deshabilita el Display menos
significativo y se habilita el más significativo. Posteriormente se reinicia el proceso ahora deshabilitando el más
significativo y habilitando el menos significativo, colocando al mismo tiempo en el puerto 1 el dato adecuado. Cabe
mencionar que para poder hacer esto, cada pin común de los displays debe conectarse a un bit de un puerto
disponible (pines diferentes).

Ahora bien, la forma en la cual se resolverá el problema (llamado paralelismo) propone que nosotros no utilicemos
componentes externos (tales como el decodificador) y conectemos cualquier cantidad de displays en paralelo a través
de un solo puerto.

INVESTIGACION PREVIA:

1. Investigue las especificaciones técnicas de los displays a siete segmentos considerando el tiempo de
respuesta del circuito, intensidad de corriente necesaria y voltaje de alimentación mínimo.
2. ¿Cuáles son las diferencias significativas entre un display de ánodo común contra uno de cátodo? Explique
su respuesta en cuanto a voltaje y corriente.
3. ¿De que forma se verifican los bits dentro de un puerto?
4. Diseñe un programa que tome los datos del puerto y nos ayude a determinar a través de un bit si el conteo
debe de comenzar o no, si reinicia o se detiene, y si es ascendente o descendente según el pin de entrada
como se muestra en la siguiente tabla. Recuerde que el conteo debe de ir de 0 a 99 con un tiempo de espera
razonable para que pueda verse.
Pin de entrada Proceso
Px.0 On/Off
Px.1 Hold/Reset
Px.2 Ascendente/Descendente
Tabla 1: Códigos necesarios.

5. Indique las tablas de códigos hexadecimales que utilizará en el programa y recuerde que el conteo es
decimal.
6. Simule el anterior programa en Proview y en Proteus.

MATERIAL Y EQUIPO:

Equipo: Componentes
1 Fuente de voltaje de CD triple. 1 Microcontrolador AT89C51
1 Generador de Funciones. 1 Cristal de 12MHz
1 Osciloscopio 2 Capacitores de 33pF
4 Cables Banana-Caimán 1 Push Botton NA
1 BNC-Caimán Resistencias varias
1 Punta de prueba para el osciloscopio 1 Diodo 4148
1 Switch de 4 interruptores
2 Displays a siete segmentos
DESARROLLO:

1. Conecten los pines de los dos displays de 7 segmentos al puerto 1 y 3 como se muestra en la Tabla 1. Esta
es la actividad previa de la práctica.
2. Conecten un dip-switch de 4 polos al nibble bajo del Puerto 2. No olviden conectar las resistencias de “pull-
up”.
3. Genere el programa del inciso 4 de la investigación previa e impleméntelo usando también la Tabla 3

TABLA 2: Conexiones de los displays con el 8051

4. Verifiquen que se despliegan correctamente los números para cualquier combinación de entrada.

NOTA: En la tabla previa, donde dice ‘ánodo’ en realidad hay que tomar en cuenta que es ‘común’, dado que aun no
sabemos si el display que utilizara es ánodo o cátodo común.
Práctica No. 8
Adquisición de Datos
(Sismógrafo).
OBJETIVOS:

; Al término de esta práctica el alumno estará capacitado para procesar señales analógicas en un
sistema digital, conocerá la forma de trabajar con convertidores analógicos-digitales y podrá
realizar algoritmos sencillos de conversión.

INTRODUCCION:

La mayoría de las señales de interés práctico, señales de voz, biológicas, sísmicas, radar, sonar y de
distintos tipos de comunicación, como las señales de audio y vídeo, son analógicas. Para procesar señales
analógicas por medios digitales es necesario convertirlas a formato digital, esto es, transformarlas en una
secuencia de números de precisión finita. Este procedimiento se denomina conversión analógico-digital
(A/D) y los dispositivos correspondientes conversores ADC. Conceptualmente el proceso de conversión
A/D se puede ver como un proceso de cuatro pasos: muestreo, retención, cuantificación y codificación.

La conversión consiste en tomar una muestra discreta de la señal analógica [x(n)], retenerla un tiempo
suficiente para que se pueda realizar el proceso de conversión, luego se pasa por un sistema no
lineal(cuantificador) cuyo propósito es transformar la muestra x[n] en un valor de conjunto finito de
valores preestablecidos Q(x[n]) y por último se etiquetan este conjunto de números utilizando por lo
general un código binario que permite realizar operaciones aritméticas utilizando palabras de código como
representaciones escaladas de las muestras cuantificadas(forma binaria ponderada).

El procesamiento digital ofrece ventajas distintas cuando se compara con el procesamiento analógico. En
general los circuitos digitales son más estables y predecibles. No requieren ajustes ni sintonización durante
el proceso de producción o al trabajar en línea, además de que su tamaño es mucho menor a su contraparte
analógica.

INVESTIGACION PREVIA:

1. En una practica anterior, usted vio el funcionamiento general de un convertidor analógico digital y
creo un modulo, que ahora se reutilizara. Tiene la opción de usarlo como TTL Tester o como
controlado por el microcontrolador, de acuerdo a la configuración que utilizo anteriormente. Por
tanto, simplemente desarrolle el siguiente programa.

Para poder asignar un valor a la magnitud de un temblor, en los años 30, el Dr. Charles Richter desarrolló una escala
de magnitud para terremotos. Esta magnitud representa la energía sísmica liberada en cada terremoto y se basa en el
registro sismográfico. La escala de Richter no crece de manera lineal, sino más bien exponencial, por lo que un
aumento de un punto en la escala puede representar un aumento de 100 veces en la energía liberada. A continuación
se muestra la escala de Richter (tabla 1):
Magnitud en Escala Richter Efectos del terremoto
0 a 3.5 Generalmente no se siente
3.6 a 5.4 A menudo se siente, sólo causa daños menores
5.5 a 6.0 Ocasiona daños ligeros a edificios
6.1 a 6.9 Puede ocasionar daños severos en áreas muy pobladas
7.0 a 7.9 Terremoto mayor. Causa graves daños
8.0 a 12.0 Gran Terremoto. Destrucción total a comunidades cercanas
Tabla 1: Escala de Richter.

Por lo tanto, dentro de la tabla de magnitudes de la Escala Richter, es necesario indicar una alarma, dependiendo de
la gravedad de la situación, para lo cual utilizaremos la tabla 2.

Magnitud en Escala Richter Alarma


0 a 3.5 F (falsa alarma)
3.6 a 5.4 B (la situación es controlable)
5.5 a 6.0 D (daños ligeros)
6.1 a 6.9 C (crisis pequeña)
7.0 a 7.9 E (evacuación forzosa)
8.0 a 9.9 A (Apocalipsis)
Tabla 2: Situación de alarma.

El Centro de Información Nacional de Terremotos (NEIC – National Earthquake Information Center), cuya labor es
detectar el origen y tamaño de los terremotos, ha decidido contratar a un equipo de IME/IMD del Tecnológico de
Monterrey, para poder implementar un sistema que le permita medir la intensidad de un terremoto, así como activar
la alarma correspondiente. Diseñe un sistema que cumpla con las siguientes condiciones:

; Convertidor Analógico a Digital: mediante este dispositivo, se podrá manejar la señal de un sismógrafo (que
en este caso será simulada con un potenciómetro de 10 kohms) y convertirla a formato digital para su
manipulación.
; Microcontrolador: El cual se encargara de procesar la información necesaria para saber la magnitud y
gravedad de la situación; es decir, nos dirá en que grado se encuentra el terremoto en la escala de Richter y
la situación de alarma que tendremos.

MATERIAL Y EQUIPO:

Equipo: Componentes
1 Fuente de voltaje de CD triple. 1 sistemas mínimo
1 Generador de Funciones. 1 ADC0804
1 Osciloscopio 2 Displays a siete
4 Cables Banana-Caimán segmentos
1 BNC-Caimán Transistores de
1 Punta de prueba para el osciloscopio amplificación
Potenciómetros varios.

DESARROLLO:

1. Con los módulos que ya tiene hechos, pre-arme el siguiente sistema utilizando cable plano o
similar. Arma un circuito el circuito mostrado en la figura 1.
2. Calcula el valor del voltaje de referencia (Vref/2) y ajusta el valor de la resistencia R5 para que la
resolución el ADC sea la adecuada.
3. Mide el voltaje entregado por el potenciómetro a la entrada, que simule ser el sensor de
movimiento con el multímetro, en Excel crea una tabla de correspondencia y verifica que este
bien calibrado con lo que te esta proporcionando a la salida.
4. Presenta en tu circuito de exhibición las mediciones que han sido tomadas:
a) Diseña una rutina de decodificado.- El convertidor A/D compara la entrada analógica a un
voltaje de referencia fijo, y a continuación proporciona una salida binaria igual a:

Donde N es un entero igual al número de bits en la palabra de salida binaria.


b) Diseña una rutina para manejar el despliegue y muestreo del convertidor A/D
c) Integra las dos rutinas del inciso a y b de tal forma que se despliegue la temperatura ambiente
de manera continua en las pantallas de 7 segmentos.
d) Recuerde que el programa debe ser capaz de desplegar el rango completo de la tabla 1, lo cual
incluye que puede desplegar hasta aquellas que serian mortales en una situación real.
e) Conecte un motor y cuando la situación este en crisis pequeña, prenda hacia la derecha, así
como prendera hacia la izquierda cuando nos encontremos en daños ligeros, mientras esto no
ocurra, el motor se encontrara parado.

Figura 1: Sistema Mínimo de adquisición de datos.


Práctica No. 9
Display LCD

OBJETIVOS:

; Al término de esta práctica el alumno conocerá la forma de integrar periféricos externos para el
intercambio visual de información entre el usuario y el hardware.

INTRODUCCION:

Es posible clasificar las pantallas de cristal líquido (LCD) en dos tipos: básicos e inteligentes. Los LCD
básicos necesitan que se generen señales analógicas apropiadas para encenderlos y de rutinas de
refrescamiento, aunque es posible hacerlo con un microcontrolador, se requiere demasiado tiempo de
procesamiento y un programa algo extenso.

Todos los LCD alfa -numéricos inteligentes cuentan con un procesador y una memoria integrados los
cuales se encargan de manejar los aspectos analógicos del display permitiendo un uso mas eficiente de
estos, lo cual reduce la complejidad de los programas contenidos en los dispositivos de hardware que los
controlan ya que su procesador interno cuenta con una serie de instrucciones ya programadas las cuales
permiten presentar datos en la pantalla sin rutinas de refrescamiento o de direccionamiento. La mayor
parte de los LCD inteligentes utilizan el mismo circuito controlador, por lo que el protocolo de
comunicación es el mismo sin importar el fabricante del display.

La comunicación se realiza en forma paralela de 8bits o 4bits y algunos utilizan microwire (serie síncrono)
para la comunicación.

La complejidad de manejar un display de LCD esta en la rutina de inicialización la cual tiene ciertos
comandos con tiempos específicos, una vez que el display es inicializado el manejo de este se reduce
simplemente a enviar datos a través de un puerto.

INVESTIGACION PREVIA:

1. Baje la hoja de especificaciones del display LCD con 16 caracteres por dos líneas que adquirió.
2. investigue la secuencia de instrucciones que deben de ser usadas para que un display LCD pueda
desplegar cualquier cantidad de datos en su pantalla.
3. ¿Para que sirve BUSY en el LCD? ¿Qué es mejor, utilizar la bandera BUSY o temporizadores?
4. Desarrolle un algoritmo que permita inicializar su display LCD.
5. ¿Una vez que el microcontrolador ha logrado desplegar un mensaje, este desaparece cuando se
reinicia el programa?

MATERIAL Y EQUIPO:

Equipo: Componentes
1 Fuente de voltaje de CD triple. 1 Microcontrolador
1 Generador de Funciones. AT89C51
1 Osciloscopio 1 Cristal de 12MHz
4 Cables Banana-Caimán 2 Capacitores de 33pF
1 BNC-Caimán 1 Push Botton NA
1 Punta de prueba para el osciloscopio Resistencias varias
1 Cautín 1 LCD de 16 caracteres por
Soldadura dos líneas

DESARROLLO:

1. Desarrollar un programa que despliegue en la pantalla LCD el mensaje estático “YO ESTUDIO
EN EL ITESM CCM”.
2. Ahora modifique su programa para que el mismo letrero vaya rotando dentro del display.

Los comandos son los siguientes:

Figura 1. Pines del display LCD genérico.


Práctica No. 10
Control de Motores
Parte 1
OBJETIVOS:

; Al término de esta práctica el alumno comprenderá el principio de operación de los motores a pasos y será
capaz de implementar aplicaciones donde se requiera del posicionamiento preciso de una pieza utilizando
motores a pasos.
; Al término de esta práctica el alumno será capaz de implementar aplicaciones con un microcontrolador
donde se requiera generar señales de PWM.

INTRODUCCION:

Señal PWM (Pulse-width modulation) señal de modulación por ancho de pulso.

Figura 1: Ciclo de un periodo.

Donde:
- PW (Pulse Width) o ancho de pulso, representa al ancho (en tiempo) del pulso.
- period/length (periodo), o ciclo , es el tiempo total que dura la señal.
La frecuencia se define como la cantidad de pulsos (estado on/off)por segundo y su expresión matemática es la
inversa del periodo, como muestra la siguiente ecuación.

El periodo es medido en segundos, de este modo la unidad en la cual se mide la frecuencia (hertz) es la inversa a la
unidad de tiempo (segundos).
Existe otro parámetro asociado o que define a la señal PWM, denominado "Duty cycle", el cual determina el
porcentaje de tiempo que el pulso (o voltaje aplicado) esta en estado activo (on) durante un ciclo.
Por ejemplo, si una señal tiene un periodo de 10 ms y sus pulsos son de ancho (PW) 2ms, dicha señal tiene un duty
cycle de 20% (20% on y 80% off). El siguiente grafico muestra tres señales PWM con diferentes "duty cycles".

La señal PWM se utiliza como técnica para controlar circuitos analógicos. El periodo y la frecuencia del tren de
pulsos pueden determinar la potencia entregada a dicho circuito. Si, por ejemplo, tenemos un voltaje de 9v y lo
modulamos con un duty cycle del 10%, obtenemos 0.9V de señal analógica de salida.
Las señales PWM son comúnmente usadas para el control de motores DC (si decrementos la frecuencia, la inercia
del motor es mas pequeña y el motor se mueve más lentamente), ajustar la intensidad de brillo de un LED, etc.
En Arduino la señal de salida PWM (pines 9,10) es una señal de frecuencia constante (30769 Hz) y que solo nos
permite cambiar el "duty cycle" o el tiempo que el pulso esta activo (on) o inactivo (off). Otra forma de generar
señales PWM es utilizando la capacidad del microprocesador. La señal de salida obtenida de un microprocesador es
una señal digital de 0 voltios (LOW) y de 5 voltios (HIGH).

INVESTIGACION PREVIA:

1. Utilizando los módulos que anteriormente crearon de motores de CD y el de sistema mínimo, realice las
siguientes conexiones: conecte a través de un puerto las señales A y B que controlan el motor de CD,
conecte también un dip-switch de 6 polos en forma pull-up y un display de siete segmentos a la salida de
otro puerto.
2. Realice los cálculos para generar ciclos de trabajo 90-10, 80-20, 70-30, 60-40, 50-50, con los
temporizadores.
3. Diseñe un programa que contenga 6 entradas, una para prender o apagar el motor, y los otros cinco para
escoger el ciclo de trabajo que tendrá el motor (varia desde 90-10 a 50-50). Si existen dos push botons
activados, que no realice ninguna función, solo cuando se encuentra uno y solo una de las velocidades se
encuentre activada (es decir, si tenemos activado el ciclo de 80-20 y el de 50-50, que no realice ninguna
actividad, hasta que cualquiera de los dos, sea puesto en cero). Adicionalmente, la velocidad seleccionada se
mostrara en un Display de siete segmentos (colocando A para 90-10, B para 80-20, y así sucesivamente).

MATERIAL Y EQUIPO:

Equipo: Componentes
1 Fuente de voltaje de CD triple. 1 sistema mínimo
1 Generador de Funciones. Resistencias varias
1 Osciloscopio 4 Transistores TIP41
4 Cables Banana-Caimán 4 Transistores TIP42
1 BNC-Caimán Capacitores varios
1 Punta de prueba para el osciloscopio

DESARROLLO:

1. Pruebe el sistema diseñado en la investigación previa simulado en Proteus.


2. Realice las pruebas necesarias en su sistema mínimo ya integrado y reporte sus resultados.
Práctica No. 10
Control de Motores
Parte 2
OBJETIVOS:

; Al término de esta practica, el alumno será capaz de manipular las interrupciones externas contenidas dentro
del microcontrolador, aplicándolas a situaciones reales.

INTRODUCCION:

Como es sabido el microcontrolador 8051 es el elemento a partir del cual se han desarrollado todos los miembros de
la familia MCS-51 de INTEL, así como las de otros fabricantes. Respecto a las interrupciones ocurre exactamente lo
mismo que en lo relativo a la gestión de memoria, es decir, el microcontrolador 8xC552 posee las mismas
interrupciones que el elemento base de la familia, el 8051, más aquellas que son específicas de los periféricos que
añade.

La información relativa a las interrupciones se encuentra dispersa por los diversos manuales disponibles de modo
que este documento trata de concentrar esta información y hacer un resumen de la misma para facilitar la
comprensión por parte del estudiante. Sin embargo, no debe considerarse, en ningún caso, un elemento sustitutorio
de los manuales de referencia ya que este documento es un resumen y no contiene una información tan amplia como
los anteriores.

Antes de describir las fuentes de interrupción y el modo en que se programan es necesario comentar el tipo de
interrupciones que posee el microcontrolador y el modo en que estas se gestionan.

Lo primero que hay que comentar es que las interrupciones son enmascarables. Esto quiere decir que cuando alguna
de las fuentes de interrupción realiza una petición el proceso que se desencadena es el siguiente:

1. Se comprueba si la fuente de interrupción está habilitada y las interrupciones del microcontrolador


permitidas.
2. Se finaliza la ejecución de la instrucción en curso.
3. Se almacena en la pila el contador de programa actual y se modifica el registro de habilitación de las
interrupciones (posteriormente se indicará en que sentido).
4. Se salta a una dirección fija de memoria que depende de la fuente de interrupción.
5. Al finalizar la rutina de interrupción se ejecuta la instrucción de retorno de interrupción (RETI) que
recupera el contador de programa y el valor del registro de habilitación de interrupciones.

Por tanto, y si somos estrictos, no podemos hablar de interrupciones sectorizadas sino de interrupciones con
dirección fija de salto. Sin embargo, si consultamos el manual, en numerosas ocasiones se habla de interrupciones
vectorizadas. ¿A qué se debe esta discrepancia? La discrepancia se basa en que si miramos la dirección a la que salta
cada una de las interrupciones observamos lo que se muestra en la siguiente figura.

Lo que se puede apreciar de los vectores de interrupción que se vieron en clase teórica, es que si se produce la
interrupción 1 se salta a la dirección 000Bh con lo que el microcontrolador comenzaría a ejecutar las instrucciones
que se encuentran en esa dirección. Lo que ocurre es que las instrucciones de esta rutina estarían colocadas en
direcciones crecientes por lo que “invadirían” las direcciones de la rutina de atención a la interrupción 2 (dirección
0013h), posteriormente las de la 3 (dirección 001Bh) y así sucesivamente. Esto de debe a que cada rutina “solo” tiene
8 direcciones para su programa.

Esto es evidentemente insuficiente para la mayor parte de los casos por lo que hay que buscar una solución. Esta
solución se basa en colocar en la dirección de salto una instrucción de salto incondicional a la dirección en la que
realmente se encuentra la rutina de atención. Dicho de otro modo, si la rutina se encuentra en la dirección 1000h, en
la dirección 000Bh habrá una instrucción de salto incondicional a la dirección 1000h. Este es el motivo por lo que se
habla de interrupciones vectorizadas ya que es “como” si en la dirección de salto hubiera un vector de la “dirección
real” de la rutina de atención.

Desde el punto de vista funcional es igual que una interrupción vectorizada pero desde el punto de vista del
programador no es exactamente igual puesto que debe de colocar en la dirección correspondiente la instrucción de
salto a la dirección real. Afortunadamente, y como se mostrará más adelante, esta es una tarea que el compilador
realiza automáticamente cuando se trabaja desde C, sin embargo, si la programación se realiza en ensamblador, sí
debe incluirse esta instrucción de salto.

INVESTIGACION PREVIA:

1. Utilizando los módulos que anteriormente crearon de motores a pasos y el de sistema mínimo, realice las
siguientes conexiones: conecte a través de un puerto las señales CLK, CW/CCW, HALF/FULL que
controlan el motor a pasos, conecte un LCD y sus señales de control en otro puerto, y tres push bottons de
modo pull down en tres interrupciones (puede ser INT0, INT1 y T0, o cualquiera).
2. Diseñe un programa en donde por cada .vez que se ejecute una interrupción, dependiendo de cual es la que
se produjo, realice las siguientes acciones:
a. INT0 – Prender o apagar el motor, indicando a través del display LCD si el motor se ha apagado o
se ha prendido.
b. INT1 – Cambiar el sentido de la dirección, utilizando el LCD para decir si el motor esta girando a
la derecha o a la izquierda.
c. T0 – Realizar secuencia de medio paso o paso completo, indicando también por medio del LCD si
el paso es completo o medio paso.

NOTA. La sugerencia del diseño para la identificación de mensajes que se desplegaran dentro del cristal liquido seria
colocar pequeñas banderas internas para identificar el tipo de mensaje.

MATERIAL Y EQUIPO:

Equipo: Componentes
1 Fuente de voltaje de CD triple. 1 sistema mínimo
1 Generador de Funciones. Resistencias varias
1 Osciloscopio 4 Transistores TIP41
4 Cables Banana-Caimán 4 Transistores TIP42
1 BNC-Caimán Capacitores varios
1 Punta de prueba para el osciloscopio

DESARROLLO:

3. Pruebe el sistema diseñado en la investigación previa simulado en Proteus.


4. Realice las pruebas necesarias en su sistema mínimo ya integrado y reporte sus resultados.
Práctica No. 12
Comunicación Serial.

OBJETIVOS:

; Al termino de esta práctica el alumno será capaz utilizar la capacidad del microcontrolador AT89C51 para
llevar a cabo una comunicación serial asíncrona.
; Comprenderá e implementara la parte eléctrica del Standard RS232 y podrá comunicar un circuito
electrónico con una computadora PC.

INTRODUCCION:

El microcontrolador AT89C51 cuenta con una sección conocida como UART (Universal Assyncronous Receiver and
Transmitter - receptor y transmisor universal asíncrono), encargado de la comunicación serial. El UART del
microcontrolador permite escribir un dato en un registro y este se encargará de agregar el bit de inicio y de paro, y de
enviar uno a uno los bits por un pin. El programa puede continuar realizando otras funciones hasta que el UART
avise por medio de una bandera ó interrupción. La recepción es similar, el UART detecta el inicio, captura los bits y
después guarda el dato en un registro a la vez que activa una bandera o una interrupción para avisarte.

Si dos dispositivos seriales completamente diferentes respetan las mismas reglas de comunicación y tienen las
mismas características de señal serán fáciles de intercomunicar. Si se requiere comunicar dos circuitos digitales de tu
fabricación, tienes la opción de utilizar cualquier modo de transmisión. Pero cuando uno de los dos circuitos fue
fabricado por otra persona (por ejemplo, una impresora serial o una computadora), es necesario que te apegues al
Standard “universal” que te asegura que podrás comunicarte, sin importar con qué. El standard RS232 especifica las
características funcionales, eléctricas y mecánicas de una interfase serial punto a punto.

Las características eléctricas de la interfase son las siguientes: para el estado MARK (1 lógico) se utiliza un nivel de
voltaje entre -15 y -3V; para el estado SPACE (0 lógico) se utilizan entre 3 y 15V. El nivel entre -3 y 3 volts está
indefinido. Como el microcontrolador trabaja con señales lógicas de 0 y 5V es necesario utilizar un transiver como el
max232 para acoplar estos dos tipos de señales. Para la conexión con la PC se utiliza un conector DB9 (9 terminales)
la asignación de las señales que utilizaremos se presenta en la siguiente tabla 1.

TABLA 1: Asignación de señales del conector DB9.


INVESTIGACION PREVIA:

1. Identifique todos los pines de la conexión serial.


2. Explique la forma en la cual se calculan los tiempos para generar la comunicación serial dependiendo del
cristal.
3. Describa la prioridad de las interrupciones y como podemos indicarlo.
4. Escriba como se desarrolla el proceso de comunicación serial para la recepción.
5. Describa como se desarrolla el proceso de comunicación serial para la transmisión.

MATERIAL Y EQUIPO:

Equipo: Componentes
1 Fuente de voltaje de CD triple. 1 sistema mínimo
1 Generador de Funciones. 1 cable serial – USB
1 Osciloscopio 1 computadora Laptop.
4 Cables Banana-Caimán
1 BNC-Caimán
1 Punta de prueba para el osciloscopio

DESARROLLO:

Recepción serial

Realiza un programa para el microcontrolador AT89C51 que habilite la comunicación serial de modo que el
microcontrolador sea capaz de recibir por la terminal Rx una trama de 8bits el código ASCII de un carácter
y lo presente en una pantalla de LCD.
Observa con el osciloscopio las señales a la salida del microcontrolador (TXD) y después de cambiar el
nivel a RS232.

Transmisión serial

Realiza un programa para el microcontrolador AT89C51 que habilite la comunicación serial de modo que el
microcontrolador sea capaz de transmitir por la Terminal Tx una trama de 8 bits de código ASCII de un
carácter que previamente puesto dentro de la memoria ROM. El programa transmitirá una letra del
abecedario cada 5 segundo, y terminara de transmitir cuando llegue a la Z (considere que son 26 letras).
Proyecto Final
Elección del estudiante.

REGLAS:

5 El alumno tendrá que entregar un preproyecto finalizado el segundo parcial.


5 Una vez que elija lo que desarrollara como proyecto final, ya no podrá cambiarlo.
5 La calificación del proyecto será de forma individual, aunque la elaboración del mismo es por equipos.
5 La evaluación del proyecto contempla dos bases: el circuito funcionando y la documentación del mismo
(misma que deberá entregarse impresa a la hora de revisión)

DOCUMENTACION:

Una vez que el proyecto físico se encuentra funcionando, se deberá entregar documentación que tenga al menos los
siguientes puntos:

1. Objetivos generales del proyecto.


2. Descripción del proyecto.
3. Breve introducción teórica descriptiva de los elementos que se utilizaron en su elaboración (motores,
teclado, LCD, etc.).
4. Desarrollo general de la solución del problema (explique cada una de las siguientes partes exhaustivamente)
a. Diagrama general de la solución del problema a bloques.
b. Diagrama de flujo o algoritmo de solución del programa.
c. Código.
5. De la misma forma, se deben incluir TODOS los circuitos esquemáticos que se utilizaron en la elaboración
del proyecto
6. Esquema del proyecto general incluyendo el microcontrolador.
7. Dentro del desarrollo se pueden describir los problemas que se enfrentaron en el trayecto y la forma en la
cual se dio solución a cada uno.
8. Conclusión.

FORMA DE ENTREGA:

El alumno deberá entrega al final del curso un video de su proyecto funcionando junto con la documentación
completa en una memoria FLASH para que pueda ser agrupada como memorias del curso.

También podría gustarte