Professional Documents
Culture Documents
FACULTAD DE ESTUDIOS
SUPERIORES CUAUTITLAN
Departamento: Asignatura:
Ingeniera Microcontroladores
Laboratorio de Microcontroladores
Laboratorio de Microcontroladores
ndice
Introduccin II
Bibliografa V
Prctica 3 Temporizadores 14
5.3. Programacin de microcontroladores.
Prctica 4 Interrupciones 18
5.4. Programacin de los registros internos.
ndice I
Facultad de Estudios Superiores Cuautitln UNAM
Laboratorio de Microcontroladores
Prlogo
Introduccin
En la actualidad existe una serie de dispositivos conocidos como microcontroladores; estos renen
dentro de un solo chip muchas de las caractersticas propias de una computadora, como pueden ser
las memorias RAM y ROM o los puertos, adems de otros elementos. El que se encuentren todos los
elementos del microcontrolador dentro de un solo chip indica que son dispositivos de muy alta
densidad de integracin. Los microcontroladores suelen ser utilizados en aplicaciones de control
Prlogo II
Facultad de Estudios Superiores Cuautitln UNAM
debido a que utilizan de manera ms eficiente la memoria de que disponen adems de poseer un
conjunto de instrucciones mucho ms reducido en comparacin con una computadora.
Otra caracterstica que ha contribuido para que los microcontroladores hayan tomado la preferencia
de muchos usuarios es su bajo costo pues, aunque vara dependiendo de la capacidad de cada modelo
de microcontrolador, generalmente resultan ser muchas veces ms baratos que otros medios de
control como pueden ser las computadoras o los controladores lgicos programables (PLCs).
Los microcontroladores poseen una gran capacidad de adaptacin a las distintas aplicaciones de
control que se presentan en la industria, a pesar de que sus capacidades son limitadas. Esto lo
compensan con la gran cantidad de modelos existentes, de los cuales se puede seleccionar aquel que
cubra las necesidades del sistema a controlar.
Finalmente el alumno deber comprender la necesidad de interaccin entre las diferentes reas de
la Ingeniera para llevar a la prctica un sistema de control basado en microcontrolador. Entre estas
reas se distinguen:
Prlogo III
Facultad de Estudios Superiores Cuautitln UNAM
4. Es responsabilidad del profesor y de los alumnos revisar las condiciones del equipo del laboratorio al inicio
de cada prctica. El profesor reportar cualquier anomala que pudiera existir (prendido, daado, sin
funcionar, maltratado, etc.) al encargado de rea correspondiente o al jefe de seccin.
5. Es requisito indispensable para la realizacin de las prcticas, que el alumno cuente con su manual
completo y actualizado al semestre en curso, en formato digital o impreso, el cual podr obtener en:
http://olimpia.cuautitlan2.unam.mx/pagina_ingenieria.
6. El alumno deber traer su circuito armado para poder realizar la prctica, de no ser as no podr
realizar dicha prctica (donde aplique) y tendr una evaluacin de cero.
7. Para desarrollar trabajos o proyectos en las instalaciones de los laboratorios, es requisito indispensable
que est presente el profesor responsable, en caso contrario no podrn hacer uso de las instalaciones.
8. Correo electrnico del buzn para quejas y sugerencias para cualquier asunto relacionado con los
Laboratorios (electronica@fesc.cuautitlan2.unam.mx).
A - (Aprobado); Cuando el promedio total de todas las prcticas de laboratorio sea mayor o igual a 6
siempre y cuando tengan el 90% de asistencia y el 80% de prcticas acreditadas en base a los criterios
de evaluacin.
NA - (No Aprobado); No se cumpli con los requisitos mnimos establecidos en el punto anterior.
NP - (No Present); con o sin asistencia pero que no haya entregado reporte alguno.
10. Los casos no previstos en el presente reglamento sern resueltos por el Jefe de Seccin.
NOTA: En caso de incurrir en faltas a las disposiciones anteriores, el alumno ser acreedor a las siguientes
sanciones por parte del profesor de laboratorio segn sea el caso y la gravedad, baja temporal o baja
definitiva del grupo de laboratorio al que est inscrito.
Ser necesario incluir en cada actividad previa y reporte de prctica una portada (obligatoria) que
contenga la informacin mostrada a continuacin.
U. N. A. M.
F. E. S. C.
Prlogo IV
Facultad de Estudios Superiores Cuautitln UNAM
Para la presentacin del reporte se deber cumplir con los requisitos indicados en cada una de las
prcticas, incluyendo:
Introduccin Observaciones
Procedimiento experimental Esquemas
Tablas de datos Diagramas
Mediciones Cuestionario
Grficas Conclusiones
Comentarios Bibliografa
Bibliografa
Prlogo V
Facultad de Estudios Superiores Cuautitln UNAM
Laboratorio de Microcontroladores
Prctica 1
Manejo de seales multiplexadas
Tema
Objetivos
Introduccin
Los microcontroladores, debido a la gran variedad de opciones especiales y mdulos perifricos que
pueden llegar a contener, requeriran de una gran cantidad de terminales dedicadas a cada una de
estas funciones, lo cual los volvera imprcticos, de gran tamao y costosos. Es por eso que es
necesaria la multiplexacin de funciones en cada una de las terminales del microcontrolador. En la
figura 1.1 se muestran ejemplos de microcontroladores cuyas terminales estn multiplexadas con
distintos funcionamientos tanto de entrada como de salida.
Prctica 1 1
Facultad de Estudios Superiores Cuautitln UNAM
2) Investigue e imprima la hoja tcnica del circuito CD4052 teniendo especial inters la tabla
de funcionamiento del circuito y las terminales de alimentacin.
Equipo
Prctica 1 2
Facultad de Estudios Superiores Cuautitln UNAM
Material
1 Multiplexor/Demultiplexor CD4052
1 Temporizador LM/NE555
1 Diodo de alta velocidad 1N4148
2 Resistencias de 10 k, watt
2 Resistencias de 2.2 k, watt
2 Capacitores de 0.15 F
1 Dip switch de 2 o ms interruptores
Tableta de Conexiones
Alambres y cables para conexiones
Procedimiento experimental
1. Arme el circuito mostrado en la figura 1.3 alimentando el circuito multiplexor con 10VCD.
2. Calibre el generador de funciones para obtener a su salida una seal de 2.5 sin 6283.18 +
2.5 .
Prctica 1 3
Facultad de Estudios Superiores Cuautitln UNAM
6. Para las mismas seales de entrada, observe en el osciloscopio las salidas Vs1, Vs2, Vs3 y
Vs4 y grafquelas acotndolas cuidadosamente para cada una de las combinaciones de los
selectores del circuito multiplexor.
Cuestionario.
1) Investigue en las hojas tcnicas del circuito multiplexor utilizado en la prctica cules son
los lmites de los voltajes de polarizacin y cmo influyen en los valores mximo y mnimo
de las seales de entrada?
3) Para el microcontrolador PIC16F887 investigue cules son todas las funciones con las que
cuentan los puertos D y E, indicando cules son de tipo analgico y cules son digitales.
Conclusiones
Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.
Bibliografa
Prctica 1 4
Facultad de Estudios Superiores Cuautitln UNAM
Laboratorio de Microcontroladores
Prctica 2
Puertos del microcontrolador
Tema
Objetivos
Manipular los puertos del microcontrolador para introducir y sacar datos del mismo
mediante lenguaje ensamblador.
Configurar los diversos puertos del microcontrolador para que funcionen como puertos de
entrada o puertos de salida.
Utilizar el software MPLAB IDE de Microchip para compilar microcontroladores.
Introduccin
Los microprocesadores PIC tienen diversos puertos de entrada/salida paralelos de usos generales
denominados Puerto A, Puerto B, Puerto C, etc. El nmero de puertos depende del dispositivo que se
tenga. Por ejemplo, el PIC16F84A solo tiene dos puertos A y B en contraparte el PIC 16F887 tiene 5
puertos A, B, C, D y E. Para hacer una analoga, los puertos del microcontrolador son parecidos al
puerto paralelo de la PC, en los cuales la informacin sale y entra a travs de 8 lneas de datos.
Los puertos del microcontrolador PIC son el medio de comunicacin con el mundo exterior, en
ellos se pueden conectar los perifricos o circuitos necesarios como por ejemplo los mdulos LCD,
motores elctricos, etc; pero estas conexiones no se podrn realizar arbitrariamente. Existen unas
reglas bsicas que debern cumplirse para que el microcontrolador no sufra daos o se destruya.
Para ello es necesario conocer los lmites de corriente que puede manejar el microcontrolador.
LIST
Sirve para indicarle al MPLAB cul es el formato del archivo *.list dentro de los parmetros est el tipo de
procesador que se va a emplear.
list p=16Fxxx
INCLUDE
include <file>
Prctica 2 5
Facultad de Estudios Superiores Cuautitln UNAM
Sirve para incluir en el ensamblado el archivo indicado por el parmetro file. Es como si el file fuera
parte del archivo, como si se hubiera situado en la posicin en la cual la directiva aparece. El parmetro
file puede incluir el path o camino en el cual se encuentra el archivo a incluir.
include <p16fxxx.inc>
Incluye el archivo p16Fxxx.inc que contiene las etiquetas genricas del PIC16Fxxx
ORG
[<etiqueta>] ORG <exp>
Sirve para indicar la direccin de memoria en la cual ser colocado el cdigo generado a continuacin. Si
el ORG no es indicado se empieza en la direccin 0. Ejemplo
ORG 0x05
inicio
EQU
<identificador> EQU <expresion>
END
END
Es de uso obligatorio y siempre se coloca al final del programa sirve para marcar el final del programa. El
MPLAB solo reconoce las lneas que estn escritas previas a la aparicin de la directiva END.
3) Desarrolle un programa que configure las lneas del puerto X como entrada y las lneas del
puerto Y como salida mostrando en todo momento la entrada del puerto X en el puerto Y.
Prctica 2 6
Facultad de Estudios Superiores Cuautitln UNAM
Equipo Ir al banco 0
Procedimiento experimental
1. Crea un nuevo proyecto en MPLAB IDE, para ello ejecuta el programa y en la barra superior
elije la opcin Proyect Proyect Wizard, como se muestra en la figura 2.2.
Prctica 2 7
Facultad de Estudios Superiores Cuautitln UNAM
3. Selecciona las herramientas con las cuales se va a compilar el programa, estas son las
mostradas en la figura 2.4, en caso de que no se encuentran habilitadas, se pueden encontrar
en la carpeta C:\Program Files\Microchip\MPASM Suite.
Prctica 2 8
Facultad de Estudios Superiores Cuautitln UNAM
5. A continuacin, se debe agregar los archivos que se van a incluir en el proyecto, por el
momento solo se va a incluir el archivo p16fxxx.inc, que se encuentra en la carpeta
C:\Program Files\Microchip\MPASM Suite, mostrado en la figura 2.6.
Prctica 2 9
Facultad de Estudios Superiores Cuautitln UNAM
7. continuacin se va a crear el archivo asm, para ello crea un nuevo archivo (figura 2.7) y en la
ventana que se abre escribe cdigo que se muestra a continuacin, respetando las
tabulaciones.
8. Una vez escrito el programa se guarda con extensin asm y se agrega al proyecto.
9. Para agregarlo, selecciona el men Window y selecciona Puertos.mcp. Da clic con el botn
derecho sobre la carpeta Source files, selecciona Add Files y agrega el archivo que se
acaba de crear con la extensin asm (figura 2.8).
Prctica 2 10
Facultad de Estudios Superiores Cuautitln UNAM
10. Se procede a compilar el programa para generar el archivo .hex necesario para programar el
dispositivo. Primero se selecciona el men configure (figura 2.9) y se selecciona el
dispositivo con el cual se va a trabajar.
11. La ventana para seleccin del dispositivo muestra varias opciones, que por el momento no
interesan, solo hay que seleccionar el PIC con el cual se va a trabajar (figura 2.10).
Prctica 2 11
Facultad de Estudios Superiores Cuautitln UNAM
12. Una vez seleccionado, se compila mediante el comando Make que se encuentra en la barra
de men superior como se muestra en la figura 2.11.
14. Tome algunas fotografas donde se observe el funcionamiento del circuito para distintos
valores en los puertos de entrada y salida.
15. Realice una modificacin del cdigo del microcontrolador de modo que, al ingresar un dato
por el Puerto X, en un Puerto Z aparezca de manera simultnea el dato en cdigo EXC3. El
Puerto Y mantiene la funcin que tena anteriormente.
Cuestionario.
2) Qu se tiene que hacer si se desea que algunos pines de un solo puerto sean de entrada y
otros de salida?
Prctica 2 12
Facultad de Estudios Superiores Cuautitln UNAM
3) Si se desea usar un puerto cuyos bits tienen ms de una funcin, que registro o registros se
deben configurar. De dos ejemplos.
Conclusiones
Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.
Bibliografa
Prctica 2 13
Facultad de Estudios Superiores Cuautitln UNAM
Laboratorio de Microcontroladores
Prctica 3
Temporizadores
Tema
Objetivos
Crear retardos haciendo uso del temporizador bsico de los microcontroladores PIC, el
TIMER 0.
Introduccin
Para la medida de tiempos se carga un registro con el valor adecuado y a continuacin dicho valor
se va incrementando o decrementando al ritmo de los impulsos de reloj o algn mltiplo hasta que
se desborde y llegue a 0, momento en el que se produce un aviso.
Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en
alguna de las patitas del microcontrolador, el mencionado registro se va incrementando o
decrementando al ritmo de dichos impulsos.
El registro TMR0 es un contador de 8 bits, es decir, un particular tipo de registro cuyo contenido es
incrementado con una cadencia regular y programable directamente por el hardware del PIC. Como
es de 8 bits, el mximo de la cuenta est en 255. Este registro puede usarse para contar eventos
externos por medio de un pin de entrada especial (modo contador) o para contar pulsos internos de
reloj de frecuencia constante (modo timer). Adems, en cualquiera de los dos modos, se puede
insertar un prescaler, es decir un divisor de frecuencia programable que puede dividir por 2, 4, 8,
16, 32, 64, 128 o 256. Este divisor puede ser utilizado alternativamente como prescaler o del TMR0
o como postscaler del Watch Dog Timer, segn se lo programe.
Una vez alcanzado el valor 255, el registro TMR0 es puesto a cero automticamente comenzando
entonces a contar desde cero y no desde el valor originalmente cargado. La frecuencia de conteo es
directamente proporcional a la frecuencia de reloj aplicada al chip y puede ser modificada
programando adecuadamente algunos bits de configuracin.
Prctica 3 14
Facultad de Estudios Superiores Cuautitln UNAM
2) Desarrollar un programa que encienda y apague un led de forma intermitente con periodos
de 0.4s en cada estado. Incluya los clculos realizados para configurar el mdulo del Timer0.
5) Cree un nuevo proyecto en MPLAB IDE e integre las rutinas anteriores para crear un
programa que permita mantener encendido el led durante un segundo y apagado otro
segundo de forma intermitente.
Equipo
Material
Prctica 3 15
Facultad de Estudios Superiores Cuautitln UNAM
Procedimiento experimental
1. Haciendo uso del proyecto creado anteriormente y siguiendo la lgica de las actividades
previas, programe el microcontrolador haciendo uso de la rutina de retardo siguiente.
;Subrutina de retardo
RETARDO movlw 0x64
movwf 0x20
call DELAY
return
DELAY bcf INTCON,2
movlw 0xD8
movwf TMR0
DELAY_1 btfss INTCON,2
goto DELAY_1
decfsz 0x20,f
goto DELAY
return
4. Aprovechando las rutinas de los cdigos realizados en las actividades previas, cree un
programa que controle tres pines del Puerto X de modo que funcione como un semforo.
5. Modifique el circuito de la figura 3.1 para realizar la prueba del sistema de semforo.
Cuestionario
1) Cul es el valor mximo que puede tener el valor de la variable tiempo para la instruccin
de retardo?
Prctica 3 16
Facultad de Estudios Superiores Cuautitln UNAM
3) Determine el tiempo mximo de retardo que se puede lograr con el Timer0 del
microcontrolador empleado en la prctica y explique cules son sus limitaciones de
funcionamiento.
Conclusiones
Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.
Bibliografa
Prctica 3 17
Facultad de Estudios Superiores Cuautitln UNAM
Laboratorio de Microcontroladores
Prctica 4
Interrupciones
Tema
Objetivos
Introduccin
Una interrupcin es un evento que notifica al CPU del microcontrolador sobre la ocurrencia de una
situacin excepcional de uno de sus perifricos, es decir, las
interrupciones son seales de alta prioridad que permiten
que, cuando se produzca un evento interno o externo, se
detenga la ejecucin del programa principal en cualquier
momento. En el momento de producirse la interrupcin, el
microcontrolador ejecuta un salto al vector de interrupcin
de la memoria de programa y ejecuta la rutina de atencin
a la interrupcin, previamente definida por el
programador, donde se atender a la solicitud de la
interrupcin. Cuando se termina de ejecutar dicha rutina, el
PIC retoma a la ejecucin del programa principal en el
mismo punto donde se produjo la interrupcin.
Prctica 4 18
Facultad de Estudios Superiores Cuautitln UNAM
// Funcin de Interrupcin
ext_isr( ){
Cdigo de la rutina de interrupcin
}
6) Para habilitar las interrupciones se deben colocar al inicio del programa principal las
instrucciones para la configuracin de las interrupciones.
Prctica 4 19
Facultad de Estudios Superiores Cuautitln UNAM
// Configuracin de interrupciones
set_tris_B(0x01); //Habilita RB0 como entrada.
enable_interrupts(int_ext); //Habilita interrupcin externa RB0.
ext_int_edge(H_TO_L); //Interrupcin por flanco de bajada.
enable_interrupts(global); //Habilita interrupciones globales.
Equipo
Material
1 Microcontrolador PIC16F887
3 Resistencias de 1 k, watt
2 Push button
1 Barra de Leds
Tableta de Conexiones
Alambres y cables para conexiones
Procedimiento experimental
1. Haciendo uso del proyecto creado anteriormente y siguiendo la lgica del algoritmo de las
actividades previas, programe el microcontrolador.
3. Programe el microcontrolador y verifique que realice el conteo de forma correcta. Anote sus
observaciones.
Prctica 4 20
Facultad de Estudios Superiores Cuautitln UNAM
5. Cambie de alto a bajo el bit RB0/INT, explique lo que sucede con las seales en el puerto de
salida. Active varias veces la interrupcin y anote sus observaciones.
Cuestionario.
Conclusiones
Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.
Bibliografa
Prctica 4 21
Facultad de Estudios Superiores Cuautitln UNAM
Laboratorio de Microcontroladores
Prctica 5
Conexin con dispositivos de interfaz
Tema
Objetivos
Hacer uso de los dispositivos ms comunes que sirven como interfaz con el usuario como
pueden ser el teclado y una pantalla LCD.
Introduccin
Existe una gran variedad de aplicaciones en las que el microcontrolador debe proporcionar
informacin del estado de un proceso al usuario o simplemente, mostrar ciertos datos que se le han
solicitado. Adems de lo anterior, tambin es deseable que exista la posibilidad de insertar datos de
parte del usuario para modificar el comportamiento del programa en curso e incluso cambiar el
programa por otro previamente almacenado en la memoria del microcontrolador.
Por otro lado, en la figura 5.2, se muestra un ejemplo de una pantalla LCD, mejor conocida como
display LCD. Estas pantallas existen en una gran variedad de tamaos y capacidades, es comn que
se cataloguen en funcin del nmero de caracteres que pueden contener por fila y el nmero de filas
o renglones que tienen, por ejemplo, en la figura 5.2 se muestra un display de tamao16x2, es decir,
dos filas de diecisis caracteres cada una. Cada display contiene un cierto nmero de lneas
dedicadas a alimentacin, datos y control y comnmente una lnea que controla el contraste de la
pantalla.
Prctica 5 22
Facultad de Estudios Superiores Cuautitln UNAM
Para facilitar la interaccin de los microcontroladores con este tipo de dispositivos externos, se han
desarrollado bibliotecas en el lenguaje C que periten controlarlos sin un mayor esfuerzo de
programacin, aunque siempre existe la posibilidad de que las bibliotecas no cumplan
completamente con nuestros requerimientos por lo que puede ser necesario realizar alguna
modificacin, lo cual tambin resulta una tarea sencilla pues la mayora de las bibliotecas son de
cdigo libre.
C1 C2 C3
F1
Color Funcin
Negro Comn (GND)
Caf Comn (GND) F2
Naranja Columna 1 (C1)
Rojo Columna 2 (C2) F3
Verde Columna 3 (C3)
Gris Fila 1 (F1)
F4
Morado Fila 2 (F2)
Azul Fila 3 (F3)
Amarillo Fila 4 (F4)
3) Desarrolle un programa que permita que el microcontrolador funcione como una agenda
electrnica. Dentro del cdigo del microcontrolador debern incluirse el nombre y telfono
de cada uno de los miembros del equipo, un familiar de cada uno, un nmero de emergencia
Prctica 5 23
Facultad de Estudios Superiores Cuautitln UNAM
como bomberos, polica u otro, el nmero de una pizzera y el de un mdico; cada uno de
estos nombres y nmeros debern estar asociados a una tecla que al ser presionada
mostrar la informacin en el display. Adems, en el momento del encendido o al presionar
la tecla # deber mostrarse un mensaje de bienvenida y al presionar la tecla * deber
borrarse por completo la pantalla.
NOTA: Para el correcto funcionamiento del sistema se requiere cumplir con una de las siguientes
condiciones, que el driver de control para el teclado (kbd.c) est modificado para trabajar un
puerto distinto al que usa el display LCD o que se est empleando el driver flex_lcd.c para
controlar para el display LDC y se empleen pines de puerto distintos al del teclado matricial.
Prctica 5 24
Facultad de Estudios Superiores Cuautitln UNAM
Equipo
Material
1 Microcontrolador PIC16F887
1 Display LCD 16x2
1 Teclado matricial 4x3
1 Potencimetro de 2 k
5 Resistencias de 10 k, watt
1 Push button
Tableta de Conexiones (Protoboard)
Alambres y cables para conexiones
Procedimiento experimental
1. Haciendo uso del proyecto creado anteriormente y siguiendo la lgica del algoritmo de las
actividades previas, programe el microcontrolador.
2. Para el circuito mostrado en la figura 5.4, tenga cuidado de que las conexiones del display y
del teclado correspondan con los pines de los puertos de entrada y salida elegidos en el
programa.
2k
3. No olvide incluir el circuito de reset del microcontrolador como el empleado en las prcticas
anteriores.
Prctica 5 25
Facultad de Estudios Superiores Cuautitln UNAM
6. Aplique una seal de reset y compruebe que el circuito contine funcionando de manera
correcta.
Cuestionario.
2) Investigue en manuales y hojas tcnicas al menos dos tipos de memorias que podran ser
adicionadas al sistema de modo que se pueda ampliar la capacidad de almacenamiento de
datos en la agenda. Indique las principales caractersticas de cada una.
Conclusiones
Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.
Bibliografa
Prctica 5 26
Facultad de Estudios Superiores Cuautitln UNAM
Laboratorio de Microcontroladores
Prctica 6
Temporizadores y contadores
Tema
Objetivos
Utilizar uno de los mdulos de temporizacin en modo de contador para identificar eventos
que se produzcan de forma externa al microcontrolador.
Introduccin
Los temporizadores son mdulos perifricos que se encuentran dentro de los microcontroladores,
tienen la funcin de crear retardos de tiempo en base a registros que se incrementan de acuerdo a
un oscilador interno asociado a ellos. Tpicamente, existen temporizadores de 8 y 16 bits y vara el
nmero de mdulos con cada modelo de microcontrolador. Al tratarse de registros que se van
incrementando en cada evento del oscilador, es decir, con cada pulso de reloj, solo pueden ser
programados con valores de tiempo discretos de dicho oscilador, por lo que el microcontrolador
cuenta con otro dispositivo auxiliar llamado prescaler, el cual acta como un divisor de frecuencia
para poder reducir la velocidad de cada evento. Hay que recordar que, como el registro del
temporizador cambia su valor en cada nuevo evento, estos temporizadores son de tipo ascendente.
Hay otras consideraciones que deben de tenerse en cuenta al programar el mdulo del
temporizador, por ejemplo, el valor que puede tomar el prescaler, que se puede consultar de tablas
incluidas en las hojas tcnicas del microcontrolador, la frecuencia del reloj con la que opera el c, la
fuente del reloj y el lenguaje de programacin en que se realiza el cdigo. Es necesario realizar estas
consideraciones para poder obtener un resultado apropiado.
Prctica 6 27
Facultad de Estudios Superiores Cuautitln UNAM
Existe una funcin adicional asociada a algunos temporizadores que permite usar seales externas
como la fuente de reloj del temporizador. Cuando se utiliza esta opcin, se dice que el temporizador
funciona en modo de contador. Con cada evento externo, el valor del registro del temporizador se
incrementar en uno. Normalmente se destina para este modo de funcionamiento los
temporizadores de 16 bits.
2) Defina los trminos: periodo, frecuencia, seal de reloj digital, flanco de subida, flanco de
bajada, tiempo de respuesta en circuitos digitales, niveles de voltaje TTL y efecto de rebote.
3) Desarrolle un programa que permita que el microcontrolador funcione como una fuente de
reloj digital. El circuito debe contar con una entrada de seleccin que permita cambiar
entre una seal de salida con una frecuencia de 1.2 kHz y una con frecuencia de 3 kHz.
7) Escriba un programa que, usando el temporizador de 16 bits, realice el conteo de una serie
de eventos externos al microcontrolador y muestre el valor del conteo en un display.
10) Compile el programa con MPLAB IDE, corrigiendo los posibles errores.
Prctica 6 28
Facultad de Estudios Superiores Cuautitln UNAM
11) Realice la simulacin del sistema de microcontrolador para ambos programas, guarde las
simulaciones y entregue una copia impresa de las mismas.
Equipo
Material
Prctica 6 29
Facultad de Estudios Superiores Cuautitln UNAM
Procedimiento experimental
1. Haciendo uso del primer programa de las actividades previas y siguiendo la lgica de su
algoritmo programe el microcontrolador.
2. Pruebe el circuito en la protoboard, como el mostrado en la figura 6.3, tenga cuidado de que
las conexiones correspondan con las terminales del puerto elegido.
3. Con ayuda del osciloscopio, en acoplo de CD, verifique que el circuito genere de manera
correcta la seal de reloj de salida.
6. Incluya una imagen donde se observe el cambio en la frecuencia de salida y actela por
completo como en se realiz con la seal anterior.
Prctica 6 30
Facultad de Estudios Superiores Cuautitln UNAM
8. Con ayuda del osciloscopio, en acoplo de CD, verifique que el circuito genere de manera
correcta la seal de reloj de salida, tenga especial atencin en el periodo y los tiempos que
duran en alto y bajo las seales.
9. A continuacin, arme el circuito de la figura 6.4, tenga cuidado de que las conexiones del
display correspondan con las terminales del puerto de salida elegido y que la orientacin de
los elementos pticos sea correcta.
10. Usando el segundo programa de las actividades previas y siguiendo la lgica de su algoritmo
programe el microcontrolador. Puede mejorar la direccin de la luz infrarroja emitida
formando un pequeo tubo con papel o cinta alrededor del diodo emisor.
11. Pruebe que, al interrumpir el haz de luz infrarroja, se incremente el valor del conteo
mostrado en la pantalla del display.
14. Coloque uno de los canales del osciloscopio a la salida del fototransistor y el otro a la salida
del circuito Schimth Trigger. Interrumpa el haz infrarrojo y observe ambas seales. Anote
sus observaciones e incluya una imagen.
Prctica 6 31
Facultad de Estudios Superiores Cuautitln UNAM
Cuestionario.
1) Cul es el tiempo mximo que permite un retardo utilizando las instrucciones delay_ms y
delay_us?
2) Compare los valores de tiempo obtenidos en las mediciones realizadas para el circuito de la
figura 6.3, para ambos programas, existi diferencia entre los tiempos de retardo? Y de ser
as explique las posibles causas.
3) Investigue en las hojas tcnicas los valores del ngulo de dispersin y la longitud de onda del
led IR de la prctica. Incluya las grficas de distribucin espectral.
4) Cul es el lmite del conteo que se puede alcanzar con el circuito de la prctica y a qu se
debe dicho valor?
Conclusiones
Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.
Bibliografa
Prctica 6 32
Facultad de Estudios Superiores Cuautitln UNAM
Laboratorio de Microcontroladores
Prctica 7
Control de motores a pasos
Tema
Objetivos
Controlar el sentido de giro y posicin angular de un motor de pasos utilizando los modos de
operacin a paso completo y medio paso.
Implementar un sistema con un motor a pasos de tipo bipolar empleando un sistema de control
basado en un microcontrolador.
Introduccin
Los motores a pasos son dispositivos electromecnicos que convierten una serie de impulsos
elctricos en desplazamientos angulares discretos. Un ejemplo de estos motores se puede observar
en la figura 7.1. Estos motores presentan la ventaja de tener alta precisin y repetitividad en cuanto
al posicionamiento por lo que son ideales para la construccin de mecanismos en donde se
requieren movimientos muy precisos.
La caracterstica principal de estos motores es el hecho de poder moverlos un paso a la vez por
cada pulso que se le aplique. Este paso puede variar desde 90 hasta pequeos movimientos de tan
solo 1.8, es decir, que se necesitarn 4 pasos en el primer caso (90) y 200 para el segundo caso
(1.8), para completar un giro completo de 360. Para mantener la marcha del motor es necesario
cambiar peridicamente la combinacin de voltajes en sus terminales, como se ilustra en la figura
7.2.
Prctica 7 33
Facultad de Estudios Superiores Cuautitln UNAM
El ngulo de rotacin del eje, es directamente proporcional a la secuencia de pulsos insertados a las
bobinas y la velocidad de rotacin es dependiente de la frecuencia de dichos pulsos. Los motores a
pasos son simples de operar en una configuracin de lazo abierto y debido a su tamao
proporcionan un excelente torque a baja velocidad.
En combinacin con circuitos de control, adems del movimiento ilustrado en la figura 7.2,
conocido como paso completo (full step), es posible lograr movimientos an ms precisos. Este otro
modo de operacin se conoce como movimiento de medio paso (half step). Para lograrlo, se
polarizan las bobinas de a una y de a dos intercaladamente, como se muestra en la figura 7.3. Se
observa que tambin incluye los 4 pasos del modo full step. Obviamente esos son los momentos en
que hay dos bobinas polarizadas, en los otros 4 pasos, solo se polariza una bobina. La ventaja de este
mecanismo respecto del modo Full step es que se pueden realizar movimientos de giro ms finos.
En los sistemas de control moderno se presentan a menudo movimientos de tipo incremental, por
esto los motores de pasos se han convertido en elementos de accin importantes y en la actualidad
podemos encontrar estos motores en unidades de discos pticos, unidades de disco duro,
impresoras, en gran variedad de mquinas herramientas y son dispositivos fundamentales para
proporcionar movimiento a los robots.
Prctica 7 34
Facultad de Estudios Superiores Cuautitln UNAM
4. Realizar la simulacin de todos los puntos del desarrollo experimental usando el archivo con
extensin hex que obtuvo al compilar el cdigo, guarde la simulacin y entregue una copia
impresa de la misma.
Equipo
1 PC con software instalado:
MPLAB IDE
1 Grabador universal o grabador de PICs
1 Fuente de voltaje de CD
1 Osciloscopio
1 Multmetro
Material
1 Microcontrolador PIC16F887
1 Controlador dual de puente completo L298N
1 Pantalla LCD de 16x2
1 Resistencias de 10 K a W
5 Resistencias de 1 K a W
1 Potencimetro de 2 K
2 Capacitores de 0.1 F
3 Push Button normalmente abiertos
8 Diodos 1N4004
1 Motor bipolar de 200 pasos
Tableta de Conexiones (Protoboard)
Alambres y cables para conexiones
Prctica 7 35
Facultad de Estudios Superiores Cuautitln UNAM
Procedimiento experimental
2. Haciendo uso del programa desarrollado en las actividades previas, y siguiendo la lgica de
su algoritmo, programe el microcontrolador.
4. Conecte las salidas de las fases del circuito L298 a las conexiones del motor de pasos, figura
7.5, siguiendo la secuencia determinada en el punto 1 del procedimiento.
LCD1 LM016L
+5
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
+5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
R5 R4
+5 1k 1k
Vuelta Der. P1
50%
2k
R1 R2 R3
1k 1k 1k Vuelta Izq.
Puerto X
Full - 1 / Half - 0
Cont. Der.
Puerto Z
Cont. Izq.
PIC16F887
Puerto Y
MCLR
+5 +7
C1 C2 +7
R6 +5
1 14
SENSA OUT4
15
SENSB GND
U2 D2 D4 D6 D8
L298 8 1N4004 1N4004 1N4004 1N4004
Prctica 7 36
Facultad de Estudios Superiores Cuautitln UNAM
5. Pruebe el correcto funcionamiento del circuito, comenzando por las funciones de giro
continuo, tanto para paso completo como medio paso.
6. La tabla 7.1 presenta el funcionamiento que debe de tener el motor de acuerdo al circuito de
control que contiene el programa realizado.
7. Con ayuda del osciloscopio, en acoplo de CD, verifique que el circuito genere de manera
correcta la seales de salida que van hacia el circuito L298 y mida su frecuencia.
Cuestionario.
1) Cules son las ventajas y desventajas de la operacin FULL step con respecto al modo HALF
step?
2) Escriba en lenguaje C una subrutina para controlar el movimiento del motor de modo que, cada
que reciba un pulso de un nuevo botn, la posicin se incremente en un solo paso (esto se
conoce como Jogging).
Prctica 7 37
Facultad de Estudios Superiores Cuautitln UNAM
Conclusiones
Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.
Bibliografa
Prctica 7 38
Facultad de Estudios Superiores Cuautitln UNAM
Laboratorio de Microcontroladores
Prctica 8
Comparadores de voltaje
Tema
Objetivos
Introduccin
En la naturaleza, todos los fenmenos que se producen se presentan de manera analgica, es decir,
son procesos continuos que van cambiando con el tiempo, por ejemplo, los cambios de temperatura,
las ondas de sonido, con su amplitud y frecuencia variables, el flujo del agua, etc.
Los comparadores de voltaje son usados como interfaz entre circuitos analgicos y circuitos
digitales, comparan la magnitud de dos voltajes analgicos proveyendo una indicacin de tipo
digital o binaria en su salida, como se observa en la figura 8.1. La salida de voltaje se modifica dentro
de los lmites fijados por los voltajes de saturacin del amplificador, + y . Aunque se debe
de tener en cuenta que la limitante de estos circuitos es que la rapidez de respuesta a su salida es
relativamente lenta comparada con otros circuitos.
Figura 8.1 Ejemplo de un comparador de voltaje Figura 8.2. Ejemplo de una fotorresistencia LDR.
Prctica 8 39
Facultad de Estudios Superiores Cuautitln UNAM
Por otro lado, los amplificadores operacionales han evolucionado en su diseo para funcionar
perfectamente an con la presencia de ruido en sus entradas.
En el caso de los microcontroladores, los comparadores son muy tiles pues permiten obtener una
funcionalidad analgica independientemente de la ejecucin del programa.
Los LDR (Light Dependent Resistors), o fotorresistencias, son ampliamente empleados en circuitos
de deteccin de luz/oscuridad. Normalmente la resistencia de un LDR es muy alta, llegando a mega
Ohms, pero cuando reciben luz de alguna fuente luminosa, la resistencia cae dramticamente, ver
figura 5.3. Los LDR estn fabricados con un material semiconductor de alta resistencia que al recibir
suficiente luz, los fotones son absorbidos por el semiconductor permitiendo que los electrones
salten a la banda de conduccin del material y creando un efecto de disminucin de la resistencia.
Prctica 8 40
Facultad de Estudios Superiores Cuautitln UNAM
Equipo
1 PC con software instalado:
MPLAB IDE
1 Grabador universal o grabador de PICs
1 Fuente de voltaje de CD
1 Multmetro
Material
1 Microcontrolador PIC 16F887
1 Amplificador operacional LM339
2 Fotorresistencias LDR de 2 M (tambin llamada fotoceldas)
3 Potencimetro de 10 k
1 Resistencia de 1 k a watt
1 Resistencia de 10 k a watt
2 Resistencia de 100 k a watt
2 Resistencias de 330 a watt
2 Led (de preferencia ultra brillantes)
1 Led RGB
1 Push button
Tableta de Conexiones (Protoboard)
Alambres y cables para conexiones
Procedimiento experimental
1. Haciendo uso del programa de las actividades previas y siguiendo la lgica de su algoritmo
programe el microcontrolador.
2. Para el circuito mostrado en la figura 8.3, compruebe que las conexiones correspondan con
las terminales de las entradas y salidas de los comparadores de voltaje indicadas en las
actividades previas.
3. Ajuste los potencimetros RV1 y RV2 para igualar los voltajes de referencia Ref1 y Ref2 a los
indicados en las actividades previas.
4. Acerque una fuente luminosa poco a poco a los sensores de luz y, con ayuda del multmetro,
mida el voltaje en el que se produzca un cambio en cada uno de los leds.
5. Repita el punto 4 del desarrollo con la diferencia de que ahora debe comenzar con la
fuente de luz sobre los sensores y despus alejarla poco a poco.
Prctica 8 41
Facultad de Estudios Superiores Cuautitln UNAM
7. Desconecte las seales de entrada Vin1 y Vin2 y en su lugar conecte en ambas terminales el
generador de funciones con una seal triangular de 5Vpp y un offset de 2.5V CD, de modo que
no tenga parte negativa, y una frecuencia de 100Hz.
8. Arme el circuito comparador discreto de la figura 8.4, utilizando la misma seal triangular
usada en el punto anterior y conecte las salidas C1OUT, C2OUT del microcontrolador y
C3OUT del comparador discreto a las tres terminales de alimentacin del led RGB.
9. Vare los voltajes de referencia por medio de los tres potencimetros para obtener al menos
5 colores diferentes en el led RGB y con ayuda del osciloscopio observe y grafique las
seales presentes en las terminales de C1OUT, C2OUT y C3OUT que corresponden a cada pin
del led.
10. Anote sus observaciones acerca del comportamiento del led RGB agregando fotografas y
explique a que se debe.
Prctica 8 42
Facultad de Estudios Superiores Cuautitln UNAM
Cuestionario.
1) Defina el concepto de histresis en comparadores de voltaje.
4) Revise los mdulos perifricos que contiene el PIC16F887 y explique cul sera capaz de
reproducir las seales observadas en el punto 9 del procedimiento.
Conclusiones
Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.
Bibliografa
Prctica 8 43
Facultad de Estudios Superiores Cuautitln UNAM
Laboratorio de Microcontroladores
Prctica 9
Convertidor Analgico Digital
Tema
Objetivos
Introduccin
En los sistemas digitales, que trabajan nicamente con seales de 1s y 0s, cierto y falso, 0V y 5V,
no es posible manejar magnitudes continuas. Para integrar ambos mundos existen dispositivos
conocidos convertidores analgicos digitales con la capacidad de interpretar seales continuas y
traducirlas en valores numricos binarios que pueden ser comprendidos por los sistemas digitales.
El proceso de conversin de una seal se realiza en varias etapas, como se muestra en la figura 9.1.
A partir del sistema fsico se obtiene una seal con magnitud continua, por ejemplo, la temperatura.
Esta magnitud puede ser de naturaleza variada por lo que, para ser compatible con un sistema
electrnico, es necesario transformarla a una magnitud elctrica como son el voltaje o la corriente.
Para realizar esta transformacin se utiliza un elemento llamado transductor. Un transductor
convierte la seal del sensor en una seal de voltaje, que tambin es analgica.
Prctica 9 44
Facultad de Estudios Superiores Cuautitln UNAM
La seleccin del tipo de convertidor A/D depende de muchos factores que se determinan a travs
de la naturaleza del sistema fsico. Adems, se deben tener en cuenta factores como la exactitud, la
resolucin deseada (el nmero de bits), el error de cuantizacin mximo, el tiempo de conversin y
la linealidad, que representa la desviacin de los cdigos de salida respecto al trazo de una lnea
recta desde cero hasta el valor a plena escala.
Prctica 9 45
Facultad de Estudios Superiores Cuautitln UNAM
[( )] =
5 [100 (10 )] = 5
Equipo
Material
Prctica 9 46
Facultad de Estudios Superiores Cuautitln UNAM
Procedimiento experimental
1. Haciendo uso del primer programa de las actividades previas y siguiendo la lgica de su
algoritmo programe el microcontrolador.
3. Sin tocar el termmetro digital, anote los datos obtenidos, estos corresponden al valor de
la temperatura ambiente.
4. Compruebe con ayuda del multmetro que el voltaje analgico mostrado en el display LCD
sea correcto.
Cuestionario.
1) Calcule la ganancia de voltaje del circuito amplificador de la prctica y la resolucin del
convertidor A/D empleado.
Prctica 9 47
Facultad de Estudios Superiores Cuautitln UNAM
2) De acuerdo a los resultados de las preguntas anteriores, cul sera el valor del voltaje de
entrada al microcontrolador si la temperatura fuera de 45C?
Conclusiones
Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.
Bibliografa
Prctica 9 48
Facultad de Estudios Superiores Cuautitln UNAM
Laboratorio de Microcontroladores
Prctica 10
Modulacin por ancho de pulso
Tema
Objetivos
Introduccin
Por lo general, todo sistema que procesa informacin binaria para controlar un proceso analgico
requiere una etapa de entrada analgica digital y una etapa de salida digital analgica
(convertidores ADC y DAC). Para reducir costos en los diseos que no requieren alta resolucin en
la etapa de salida, es posible sustituir el DAC por un algoritmo de Modulacin por Ancho de Pulsos
(PWM Pulse Width Modulation). Una unidad PWM permite asignar cierta duracin de tiempo en
alto o en bajo a un dato digital de n bits que se considera salida de la etapa de control.
La modulacin por ancho de pulsos permite generar seales de frecuencia y ciclo de trabajo
variados. Las principales caractersticas de una seal de tipo PWM son su periodo y el ciclo de
trabajo, como se observa en la figura 10.1.
Figura 10.1. Periodo y ciclo de trabajo de la modulacin por ancho de pulso (PWM).
El periodo se relaciona con la frecuencia de la seal, lo que indica el nmero de pulsos generado
por unidad de tiempo, mientras que el ciclo de trabajo, tambin conocido en ingls como duty cycle,
Prctica 10 49
Facultad de Estudios Superiores Cuautitln UNAM
determina la anchura de cada pulso. Hay que remarcar que el ancho del pulso es independiente de la
frecuencia de la seal.
El voltaje promedio suministrado por el generador PWM es proporcional a dicha seal, es decir, el
voltaje es directamente proporcional ancho del pulso. Como resultado, tambin la potencia
entregada es directamente proporcional, de modo que entre ms ancho el pulso (mayor ciclo de
trabajo), mayor ser la potencia suministrada. Un ejemplo de lo anterior puede observarse en la
figura 10.2.
La modulacin por ancho de pulso (PWM) es una tcnica para controlar circuitos analgicos con
una salida digital. Se utiliza en mltiples aplicaciones, algunas como controlar la intensidad de una
luz y regular la velocidad de los motores de CD.
2) Realice los clculos necesarios y escriba las instrucciones correspondientes para generar
una seal PWM mediante el mdulo CCP1 del PIC16F887 con las siguientes caractersticas:
Frecuencia de 1.2 kHz y ciclo de trabajo del 35%.
Prctica 10 50
Facultad de Estudios Superiores Cuautitln UNAM
setup_timer_2(T2_DIV_BY_x,PR2,TMR2)
donde el valor de PR2 se tiene que calcular de acuerdo a la frmula que se indica en las hojas
de datos tcnicos.
set_pwm1_duty(valor_ciclo)
donde valor_ciclo se tiene que determinar mediante la frmula de PWM duty cicle de la hoja
de datos tcnicos.
7) Realice la simulacin de todos los puntos del desarrollo experimental empleando software,
guarde la simulacin y entregue una copia impresa de la misma.
Se puede apreciar que, del estado de reposo, el motor debe aumentar su velocidad
paulatinamente en dos fases hasta el punto deseado, mantener esa velocidad durante un
periodo de tiempo y luego desacelerar hasta terminar en la posicin de reposo.
Prctica 10 51
Facultad de Estudios Superiores Cuautitln UNAM
Equipo
Material
Procedimiento experimental
1. Haciendo uso del primer programa de las actividades previas y siguiendo la lgica de su
algoritmo programe el microcontrolador.
3. Encienda el circuito y con ayuda del osciloscopio, mida la terminal de salida para comprobar
que la seal tiene la frecuencia y el ciclo de trabajo indicados en las actividades previas y
grafquela.
Prctica 10 52
Facultad de Estudios Superiores Cuautitln UNAM
Cuestionario.
1) Si se deseara cambiar la frecuencia de trabajo a 10KHz, con un ciclo del 40%, qu valores se
tendran que poner el valor_ciclo y PR2?
3) Si se deseara variar el ciclo de trabajo del mdulo PWM de forma externa, qu es lo que
podra hacer para lograrlo?
4) Empleando los datos obtenidos en el punto 7 del desarrollo, calcule la potencia media
suministrada al motor para cada ancho de pulso utilizado.
Conclusiones
Elabore un resumen que muestre las conclusiones a las que haya llegado despus de realizar todas
las actividades de esta prctica.
Bibliografa
Prctica 10 53