You are on page 1of 19

Instituto Tecnolgico de Orizaba

Sistemas
Programables
Practica No 7

Cristian Ivan Huerta Rojas


Miguel ngel Merino Martnez
David Hernndez Ziga

Prctica No. 7
Nombre: Uso de timer e interrupciones
Introduccin:
Materiales y equipo:
1.
2.
3.
4.
5.
6.
7.
8.

Computadora con Windows xp, 7 o 8


MPLAB-X instalado
XC8
Display de 7 segmentos
Led RGB
PIC16LF1936
Circuito de prctica No. 1
Buzzer de 38 Khz.

Metodologa:
1.- Elaborar programa para controlar el ingreso a un estacionamiento, cada vez que un auto
intente ingresar al estacionamiento el programa verificara si quedan espacios, (considerar
estacionamiento con 9 lugares disponibles, Utilizando el sensor ptico determinar cundo un auto
intenta ingresas al estacionamiento, si existen lugares ingresara se encender un led en verde
abriendo una palanca para dejar pasar el auto mantenindola por 30 segundos y regresndola a la
posicin original, la palanca puede estar controlada por un motor de dc que o un servo motor o un
motor a pasos y contara cuantos lugares estn disponibles desplegando la salida en un display de 7
segmentos, en caso contrario no se contara, Cuando ingrese un auto y con este llene el
estacionamiento se encender un led en rojo indicando que ya no quedan lugares en el
estacionamiento. Cuando un auto salga el contador se incrementara, la salida de un auto se
registrara por un push button u otro sensor ptico, de igual forma el resultado se desplegara en el
display de 7 segmentos del circuito.

2.- Elaborar programa para controlar semforo con 3 luces (Verde, Amarillo, Rojo) Considere que
el verde deba tardar 30 segundos, despus parpadear durante 5 segundos y pasar a amarillo
dejndolo 4 segundos y pasar a rojo dejndolo en 15 segundos, Repetir el proceso de forma
infinita. Se tiene que utilizar un solo led RGB y el timer0.

3.- Modificar el programa anterior para incorporar el circuito de la practica 2 que se utilizar para
determinar el funcionamiento del semforo, cuando detecto obscuridad deber el semforo pasar
a modo nocturno (amarillo parpadeando) en caso contrario funcionara de forma como se indic
en el ejercicio anterior.
En este programa se volvi a utilizar el programa del semforo solo se agregaron los siguientes
cambios:

4.- Revisa el programa que se les proporciona, este programa reproduce sonido, en este caso si lo
programas y conectas la bocina en el puerto RA0, escucharas la cancin de martinillo. Busca una
partitura de alguna meloda y modifica el programa segn la partitura cada nota tiene un tiempo
de duracin. La rutina play ejecuta una nota en un tiempo determinado en una octava utilizando el
timer1, el primer argumento es la nota, el segundo es la octava y el tercero el tiempo (1000) es un
tiempo (500) medio tiempo, (250) de tiempo y (125) 1/8 de tiempo.

La cancin o partitura que buscamos para poder reproducir un sonido a travs del buzzer fue la
cancin de flauta de pan.
La funcin es la siguiente:

Observaciones:
Aqu debes describir todas las observaciones realizadas, puedes anexar, imgenes, fotos, grficos,
etc.
En esta prctica observamos que el microcontrolador puede controlar al mismo tiempo muchos de
los dispositivos que se le conectan y llevar a cabo tareas casi simultneamente como se vio en el
ejercicio 1 donde el microcontrolador reciba informacin de un sensor y en base a esta informacin
hacia encender un LED un motor e inclusive hacer encender un display de 7 segmentos, adems de
observar cmo el microcontrolador se comportaba cuando suceda una interrupcin, notamos que
al suceder esta interrupcin el microcontrolador dejaba por un momento la tarea que estaba
realizando y al terminar la interrupcin regresaba a realizar la tarea que estaba haciendo,
justamente como sucede en el ejercicio del semforo con el sensor de luz LDR, en donde al detectar
una sombra el sensor provocaba una interrupcin especficamente la interrupcin para ejecutar el
modo nocturno y una vez que retiramos la sombra el microcontrolador regresaba a su
comportamiento normal que era controlar el funcionamiento del LED RGB como un semforo,
tambin observamos que para hacer encender un LED RGB y un display de 7 segmentos de nodo

comn es necesario que los nodos estn conectados a la corriente y enviarle desde el
microcontrolador un 0 a los ctodos para encender ya sea el display de 7 segmentos o el LED RGB.
Algo parecido sucedi cuando observamos el funcionamiento del circuito del estacionamiento ya
que mientras el microcontrolador se mantena sin hacer nada ms que solo controlar el display de
7 segmentos y encender el LED verde, si el sensor CNY-70 detectaba algo este enviaba una seal
que hacia activar la interrupcin externa y llamar a una funcin para hacer girar el motor, adems
para poder hacer funcionar el motor a pasos se necesitaba que se llevara a cabo muchos pasos para
que el motor girara, ya que porcada paso que se daba el motor se mova de una forma lenta.
Notamos que en los programas no se necesitaba de llamar a la rutina de interrupcin ya que esta se
ejecutara siempre y cuando se activara una interrupcin.
Otras de las cosas importantes que pudimos notar es que no siempre es bueno utilizar los
__delay_ms() para realizar retardos ya que al realizar el retardo hacia que el microcontrolador se
mantuviera esttico y desperdiciar tiempo que podra aprovechar para realizar alguna otra cosa,
entonces para eso estaba el timer 0 y al aplicarlo en los ejercicios de esta prctica observamos que
los retardos que se realizaban gracias al timer como temporizador hacia el mismo funcionamiento
que el uso de los __delay_ms(). Tambin otra cosa que notamos y que nos llam la atencin fue el
uso que se le daba al timer para poder reproducir sonido y mediante el uso de un buzzer poder or
una meloda o tono.

Cuestionario:
1.- Como controlaras un cruce de 3 semaforos donde uno tiene el control para dar vuelta.
Considerar que cada luz es un led distinto, como utilizaras solo el puerto B (8 bits) para controlar
todas las luces (10 luces).
Para controlar el cruce lo que hara sera conectar 2 de los semforos en paralelo y el tercer
semforo que es que se encargara para dar la vuelta dejarlo de manera individual, entonces para
controlar los semforos que estn conectados en paralelo simplemente por estar en paralelo se les
enva una seal ya sea para encender y mantener durante cierto tiempo el color verde, el parpadeo
del color verde, el color amarillo y el rojo, esto har que ambos lleven a cabo el mismo
funcionamiento. Mientras tanto el semforo que sirve para dar vuelta simplemente al estar de
manera individual el microcontrolador le enviara una seal en el mismo puerto B para llevar a cabo
el control de cuando se debe dar de vuelta. Todo se har en el mismo B solo que a tres bits se les
enviara una seal para hacer funcionar los semforos en paralelo y otros tres bits para enviar otra
seal para hacer funcionar el semforo para dar vuelta
El puerto B lo utilizara de la siguiente forma:
// Estos sern los pines en donde estarn conectados los dos semforos en paralelo
TRISB = 0b00000000;

// los bits marcados de azul es en donde sern conectados los semforos en


// paralelo, y los bits marcados en color verde sern usados para controlar
// el semforo para dar la vuelta

Fuentes de informacin:
1. Manual de MPLAB +
http://ww1.microchip.com/downloads/en/DeviceDoc/52027a.pdf
Conclusiones y reflexiones personales:
Aqu deben agregar la conclusin llegada como equipo y las reflexiones personales sobre lo logrado
en la prctica.
Conclusin
En esta prctica hemos llegado a la conclusin de que el uso de las interrupciones nos permite
ciertos beneficios a la hora de llevar acabo ciertos proyectos en donde si ocurre algn evento
inesperado sea atendido por el microcontrolador y al terminar de atender este evento regrese a su
realizar su tarea que normalmente realizaba. Ya que muchas de las veces se requiere que el
microcontrolador no solo este ocupado en controlar o llevar a cabo una sola tarea sino tambin que
atienda otras tareas o eventos que puedan ocurrir durante su funcionamiento.
Adems de que no siempre se requiere que el microcontrolador se quede esttico cuando se desea
realizar un retardo que pueda durar muchos segundos, minutos, horas o inclusive das, es ah en

donde entran los timers especficamente el timer 0 ya que al configurarse de manera apropiada
puede funcionar como temporizador que pueda llevar a cabo el clculo del tiempo ya sea para
realizar un retardo para encender una lmpara, LED, u otras luces, e inclusive si despus de cierto
tiempo que lleve el timer 0 provocar una interrupcin.
Reflexiones
Cristian Ivan Huerta Rojas
Como reflexin puedo decir que haber realizado esta prctica me dejo ms en claro que un
microcontrolador es capaza de realizar otro tipo de funciones y no solo las de prender unos cuantos
LED, sino inclusive realizar llevar a cabo otras funciones como las interrupciones y el uso del timer
0, hasta antes de esta prctica no tena conocimiento de lo que era una interrupcin y mucho menos
sabia como para que pudiera servir un timer 0, pero al aplicar estos dos conceptos en esta prctica
me dejo ms en claro cmo como es el funcionamiento de una interrupcin y de un timer 0, adems
de darme cuenta que se pueden aplicar para muchos proyectos lleve un microcontrolador. Tambin
me dejo un aprendizaje ya que pude observar cmo funciona un display de 7 segmentos, como
simplemente enviando una seal alta (1) a cada uno de los segmentos del display es suficiente para
formar un numero o una letra, adems tambin pude observar de manera real el funcionamiento
de un motor a pasos y como con la ayuda de los circuitos de las practicas anteriores fueron suficiente
para mover un moto o incluso aprovechar la seal que capturaba el sensor para envirselo al
microcontrolador.
Miguel ngel Merino Martnez
Para amar el circuito, y ver las interrupciones fueron lo ms complicado que tuve que leer as como,
leer cmo manejar un motor a pasos que siento que para m se me complico ms, fue una gran
experiencia aprender todo esto ya que hay algunos trabajos en los que se puede aplicar bastante
bien.
David Hernndez Ziga
En esta prctica pudimos seguir con la herramienta MPLAB-X para crear los programas, as como
ocupamos un display de 7 segmentos que nos fue til para el ejercicio del estacionamiento, en esta
prctica nos fue til la practica 1, ya que ocupamos el sensor ptico, pudimos checar el
procesamiento mediante un motor a pasos bipolar as hacia un proceso para moverse y regresar a
su posicin original, entonces el display cambiaba el nmero, en el ejercicio siguiente igual se ocup
la misma herramienta para realizar el programa, su funcionamiento del RGB fue bueno y realizaba
bien el proceso, despus el siguiente ejercicio si se pona en modo nocturno el led a la hora de darle
sombra, y en el ltimo ejercicio aunque el proceso del sonido iba un poco lento si se comprendan
las notas, fue algo complejo pero con ayuda del datasheet y practicas anteriores se realiz
correctamente.

You might also like