You are on page 1of 57

Manual de prcticas De Laboratorio

Materia PROGRAMAR SISTEMAS MECATRONICOS

Elaborado Por: Ing. Marcos Antonio Moreno Guzmn

Agosto 2011

Presentacin

Este manual est pensado como una gua para que el alumno pueda realizar experimentos prcticos necesarios para comprobar los conocimientos tericos que se han visto en clase. Tambin le dar pautas para que pueda resolver problemas prcticos en aplicaciones de los micros controladores, al programar y disear sistemas mecatronicos y as realizar aplicaciones reales con clase y en semestres anteriores. los conocimientos adquiridos en

Lista de Experimentos:
Prctica No. 1: RELEVADOR o RELAY, TEMPORIZADOR (TIMER) 555.
PARTE PARTE PARTE PARTE 1: 2: 3: 4: FUNCIONAMIENTO DEL RELAY CIRCUITO BASICO DEL RELAY CON UN MOTOR. CIRCUITO BASICO DEL TEMPORIZADOR 555, LUZ INTERMITENTE TEMPORIZADOR, TRANSISTOR, RELAY Y MOTOR

Prctica No.2 TRANSISTOR EN CORTE Y SATURACION, TRANSISTOR NPN, PNP Y AMPLIFICADOR DARLINGTON
PARTE PARTE PARTE PARTE 1: 2: 3: 4: TRANSISTOR EN CORTE Y SATURACION. FUNCIONAMIENTO DEL TRANSISTOR NPN FUNCIONAMIENTO DEL TRANSISTOR PNP FUNCIONAMIENTO DEL AMPLIFICADOR DARLINGTON Y MOTOR.

Prctica No.3 CAMBIO DE GIRO DE UN MOTOR DE DC.


PARTE 1: FUNCIONAMIENTO DE UN PAR DE RELAYS PARA CAMBIO DE GIRO

Prctica No.4 CIRCUITO BASICO PIC 16F84 o 16F628


PARTE PARTE PARTE PARTE PARTE PARTE PARTE PARTE PARTE PARTE PARTE PARTE PARTE PARTE PARTE 1: 2: 3: 4: 1: 2: 3: 4: 5: 6: 1: 2: 3: 4: 5: PRIMER PROGRAMA ENCENDER UN LED (PARPADEANDO CADA SEG) AHORA CON UN INTERRUPTOR CONTROLAR RELAY CON TRANSISTOR NPN. CONTROL DE GIRO DE UN MOTOR CON MICROCONTROLADOR. PAR DE LED PARPADEANDO CADA SEGUNDO. RECORRIDO DE LEDS USANDO SALIDAS DIRECTAMENTE. RECORRIDO DE LEDS USANDO TABLA DE VALORES. RECORRIDO Y APAGADO DE LEDS. LLENANDO UNA FILA DE LEDS. IDA Y VUELTA EN UNA FILA DE LEDS COMO USAR UN INTERRUPTOR (SWITCH). FOTOTRANSISTOR, FOTORESISTENCIA. SENSOR TACTIL. SENSOR DE HUMEDAD. ALARMA CONTRA INTRUSOS CON SCR.

Prctica No.5 MANEJO DE SALIDAS

Prctica No.6 MANEJO DE ENTRADAS.

Practica No.7 MANEJO DE DISPLAY DE 7 SEGMENTOS.


PARTE 1: DESPLEGAR LOS NUMEROS 0-9 ASCENDENTE PARTE 2: DESPLEGAR LOS NUMEROS 0-9 DESCENDENTE PARTE 3: DESPLEGAR LETRAS.

Practica No.8 MANEJO DE MATRIX 5x7.


PARTE 1: DESPLAZAMIENTO POR COLUMNAS EN MATRIX 5x7 DE LEDS PARTE 2: DESPLAZAMIENTO POR FILAS EN MATRIX 5x7 DE LEDS PARTE 3: DESPLAZAMIENTO POR FILAS Y COLUMNAS EN MATRIX 5x7 DE LEDS

Practica No.9 MANEJO DE DISPLAY.


PARTE 1: EL DISPLAY DE CRISTAL LIQUIDO (LCD) PARTE 2: RECORRER TEXTOS

Practica No.10 MANEJO DE TECLADO.


PARTE 1: EL TECLADO

Practica No.11 PROYECTO FINAL


PARTE 1: APLICACIONES DEL MICROCONTROLADOR.MANUAL DE PRACTICAS PARTE 2: PROYECTO FINAL.

Practica No.1
RELEVADOR o RELAY, TEMPORIZADOR (TIMER) 555.
Objetivo: Que el alumno compruebe el funcionamiento de un RELEVEDOR o
RELAY, adems del funcionamiento bsico de un temporizador 555 (timer) PARTE 1: FUNCIONAMIENTO DEL RELAY Arme el siguiente circuito en el protoboard: Que sucede?

Anote sus conclusiones:

Nota: un relevador o relay es un dispositivo electrnico que trabaja como un interruptor y consta de una bobina y unos contactos independientes. Dentro de estos tenemos 2: y El NC o normalmente cerrado, donde tenemos un flujo de corriente antes de energizar la bobina. Terminando siempre en polo negativo. y El NA o normalmente abierto, donde tendremos un flujo de corriente una vez energizada la bobina del relay. Terminando siempre en polo negativo y El C o comn, que casi siempre conectamos el polo positivo, de la fuente que vamos a manejar para los dispositivo conectados en los otros dos contactos.

PARTE 2: CIRCUITO BASICO DEL RELAY CON UN MOTOR. Arme el siguiente circuito en el protoboard:

Que sucede?

Anote sus conclusiones:

Nota: un motor es un dispositivo electrnico que en su interior consta de una bobina por lo que debemos proteger nuestro circuito de voltajes generados por esa bobina, por lo que tambin debemos agregar un diodo para evitar el regreso de voltaje a nuestro circuito. PARTE 3: CIRCUITO BASICO DEL TEMPORIZADOR 555, LUZ INTERMITENTE Arme el siguiente circuito en el protoboard:

Que sucede? Qu pasa cuando movemos el potencimetro?

Apague el circuito y cambie el capacitor por uno de 100 microfaradios y encienda el circuito y observe lo que sucede. Anote sus conclusiones: Nota: el circuito integrado 555 (timer) es un circuito que en su salida (pin 3) vamos a tener una oscilacin entre positivo y negativo, la frecuencia con que cambia esta oscilacin (intermitencia) depende de los valores de las resistencias y el capacitor .entre ms grande el capacitor la frecuencia es ms lenta.

PARTE 4: TEMPORIZADOR, TRANSISTOR, RELAY Y MOTOR Arme el siguiente circuito en el protoboard: agrega el transistor y relay al circuito anterior de la parte 3

Que sucede? Qu pasa cuando movemos el potencimetro? Agregamos ahora un motor:

Anote sus conclusiones:

Practica No.2
TRANSISTOR EN CORTE Y SATURACION, TRANSISTOR NPN, PNP Y AMPLIFICADOR DARLINGTON.
Objetivo: Que el alumno compruebe el funcionamiento de un transistor en corte
y saturacin, transistor NPN, transistor PNP, y observe el funcionamiento de amplificar una seal de corriente con 2 transistores (par Darlington)

PARTE 1: TRANSISTOR EN CORTE Y SATURACION

Los transistores pueden ser NPN y PNP, esto depende de cmo estn construidos internamente. Arme el siguiente circuito: Transistor NO conduce (CORTE) Que observa del circuito? Enciende el led? Porque?

Ahora agregamos otra resistencia al circuito en la base del transistor y lo conectamos al positivo de la batera:

Transistor en conduccin (SATURACION) Que puede concluir del circuito que armo, al introducir voltaje a la base del transistor?

Arme el siguiente circuito: Transistor en configuracin de Normalmente abierto. Que es lo que nota al accionar el switch?

Porque no prende el led?

Haga sus conclusiones.

Arme el siguiente circuito: Transistor en configuracin de Normalmente cerrado Que es lo que nota al accionar el switch.? Qu pasa con el Led?

Haga sus conclusiones:

PARTE 2: FUNCIONAMIENTO DEL TRANSISTOR NPN. Nota: Cuando el colector y la base de un transistor NPN se conectan hacia el polo Positivo de la fuente de alimentacin y el emisor hacia el polo Negativo, se dice que el transistor esta polarizado correctamente. Arme el siguiente circuito en el protoboard: Active el interruptor, que es lo que sucede?

PORQUE?

ANOTE SUS CONCLUSIONES:

PARTE 3: FUNCIONAMIENTO DEL TRANSISTOR PNP. Nota: Cuando el colector y la base de un transistor PNP se conectan hacia el polo Negativo de la fuente de alimentacin y el emisor hacia el polo Positivo, se dice que el transistor esta polarizado correctamente. (Se conecta contrario que el transistor NPN) Arme el siguiente circuito en el protoboard: Active el interruptor, que es lo que sucede?

PORQUE?

ANOTE SUS CONCLUSIONES:

PARTE 4: AMPLIFICADOR DE SENAL, CON TRANSISTORES (PAR DARLINGTON) Arme el siguiente circuito en el protoboard: Que sucede?

Anote sus conclusiones:

Nota: Si colocamos el dedo entre los puntos A y B (donde est colocado el switch) se encender el LED. Lo que ocurre es que la corriente que atraviesa el cuerpo humano es muy pequea y utilizamos dos transistores (par Darlington) para amplificarla y poder encender un LED. Hay interruptores Sensitivos en los televisores que permiten economizar un interruptor mecnico y ofrece una utilizacin ms confortable. Igualmente si colocamos esas dos puntas en un recipiente con agua o algn lquido que sea conductor de electricidad, pasara lo mismo que al tocarlo, el LED encender por la propiedad de conduccin de electricidad en el lquido.

Practica No.3
CAMBIO DE GIRO DE UN MOTOR DE CORRIENTE DIRECTA.
Objetivo: Que el alumno identifique y compruebe el funcionamiento de los
relevadores, como interruptores mecnicos capaces de cambiar la polaridad en un circuito para el control de un motor de DC. PARTE 1: FUNCIONAMIENTO DE UN PAR DE RELAYS PARA CAMBIO DE GIRO Arme el siguiente circuito en el protoboard:

NOTA: Para realizar esta prctica , es necesario que tengas mucho cuidado con los voltajes a utilizar , los relevadores pueden tener un voltaje y los motores pueden ser de uno diferente, por lo que si se desea controlar motores con diferentes voltajes se deben hacer los cambio a la alimentacin , la adecuada para cada componente electrnico. (GUARDAR ESTA PRACTICA PARA USARSE EN PRCTICA POSTERIOR) Encienda el interruptor del MOTOR 1. Presione uno a uno de los interruptores (IZQUIERDA o DERECHA), que es lo que sucede? Anote sus conclusiones:

Practica No.4
CIRCUITO BASICO PIC 16F84 o 16F628
Objetivo: Que el alumno identifique y compruebe el funcionamiento de los
diferentes circuitos (RESET, OSCILADOR, ALIMENTACION, ENTRADAS Y SALIDAS, que forman el circuito bsico de operacin para un micro controlador. (pic16f84 o pic16f628)

PARTE 1: PRIMER PROGRAMA ENCENDER UN LED (PARPADEANDO CADA SEG) Arme con mucho cuidado el siguiente circuito:

NOTA: para las entradas, no agregue todos los interruptores, solo uno, el de RA0 y a los dems puertos de RA solo la resistencia de 10K a TIERRA. ESTE CIRCUITO LO USAREMOS EN TODAS LAS PRACTICAS SIGUIENTES Y PROYECTO !NO LO DESARMES!

SIMULANDO EL PROGRAMA: En el simulador PIC SIMULATOR IDE edite, compile y simule el siguiente programa en PICBASIC tal y como se muestra, para ello abra el programa PIC SIMULATOR IDE, selecciona el microcontrolador, el cristal o reloj a usar y en TOOLS saca el compilador de Basic y en los primeros renglones del programa anota como comentario: NOMBRE, GRUPO Y NUMERO DEL EQUIPO. Nota: cada programa debe ser trabajado en el simulador y en el protoboard. 'Programa que enciende y apaga el pin 0 del puerto B 'cada 1 segundos AllDigital 'todos los puertos digitales TRISB = 0 'configurar puerto B como salidas PORTB = %00000000 'aseguramos todo el puerto B en cero PORTA = %00000000 'aseguramos todo el puerto A en cero INICIO: High PORTB.0 WaitUs 10 Low PORTB.0 WaitUs 10 Goto INICIO End 'etiqueta de inicio de programa 'enciende pin 0 del puerto b 'espera 1 seg 'apaga el pin 0 del puerto b 'espera 1 seg 'regresa a la etiqueta inicio 'fin del programa

De la pestaa de TOOLS, saca el microcontrolador, la barra de leds y simula el programa. Que es lo que sucede en la barra de leds del simulador?

Una vez ya simulado y comprobado que funciona, vamos a cambiar los tiempos a MILISEGUNDOS, para poderlo llevar al microcontrolador. Cambia las TODAS instrucciones de esperar WaitUs por WaitMs y el valor agrgale 2 ceros, si tienes 10, ahora escribe 1000. Con los cambios hechos, ahora complalo y recuerda donde se guard para poder tener acceso al archivo .HEX que es el que vamos a meter en el micro controlador.

DE LA SIMULACION A LA REALIDAD: 1. Primero vamos a abrir el programa para programar el microcontrolador, que es el ICPROG o el que est disponible en el laboratorio, ya que depende del aparato programador que se tenga, ser el software a usar. 2. En la pestaa de configuracin del programa elige el nmero correcto del microcontrolador que vas a usar para tu prctica. 3. carga el programa .HEX que editaste en el simulador y que compilaste. 4. Inserta tu microcontrolador en el aparato programador. 5. Haz click en el icono de borrar microcontrolador. 6. Haz click en el icono de mandar archivo al microcontrolador.

7. Quita el microcontrolador de la base del programador e insrtalo donde va en el protoboard. Ahora ya estamos listos para ver si funciona en la practica el programa. Que es lo que sucede en el protoboard, que es lo que observas?

NOTA: si ves que el tiempo que diste para el microcontrolador no es el correcto, vuelve a editar el programa y a compilarlo y repite los pasos anteriores para corregir el tiempo.

Ahora te toca a ti encender un LED de alguna otra salida que no sea la que encendiste anteriormente.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC.

Anota tus conclusiones, describe lo que hiciste y cmo funciona:

PARTE 2: AHORA CON UN INTERRUPTOR Ahora, siguiendo los pasos anteriormente mencionados vamos a hacer que el microcontrolador controle el encendido de un LED colocado en una de las 8 salidas, por medio de un interruptor colocado en una de sus entradas: Edita el siguiente programa: Nota: cada programa debe ser trabajado en el simulador y en el protoboard. 'Programa que enciende y apaga un LED en el pin 0 del puerto B por medio de un interruptor colocado en el pin 0 del puerto A. AllDigital 'todos los puertos digitales TRISB = 0 'configurar puerto B como salidas PORTB = %00000000 'aseguramos todo el puerto B en cero PORTA = %00000000 'aseguramos todo el puerto A en cero INICIO: PORTB.0 = PORTA.0 Goto INICIO End 'etiqueta de inicio de programa 'enciende el LED del pin B.0 al accionar el interruptor del pin A.0 'regresa a la etiqueta inicio 'fin del programa

Que sucede en la barra de leds del simulador? Que ocurre en la figura del microcontrolador del simulador?

Ahora te toca a ti controlar un LED de alguna otra salida que no sea la que encendiste anteriormente, con un interruptor colocado en otro puerto de entrada.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC.

Anota tus conclusiones, describe lo que hiciste y cmo funciona:

PARTE 3: CONTROLAR RELAY CON TRANSISTOR Arme el siguiente circuito en el protoboard:

Accione el interruptor. Que es lo que sucede? Porque?

Ahora quita el switch y conecta la resistencia con el microcontrolador, al puerto de salida que t configuraste en el programa anterior, para que acciones el relay cada vez que acciones el interruptor programado como entrada del programa anterior.

Anota tus conclusiones:

PARTE 4: CONTROL DE GIRO DE UN MOTOR CON MICROCONTROLADOR (PRCTICA#3) Arme el siguiente circuito en el protoboard, haciendo los cambios para t prctica 3 quitando los interruptores y mandndolos a voltaje (el que use tu relay) y agrgale en la parte de tierra, los transistores como se ilustra:

Ahora, siguiendo los pasos anteriormente mencionados vamos a hacer que el microcontrolador controle el giro del motor con los interruptores en las entradas del microcontrolador, que se colocaran para IZQUIERDA o DERECHA. Edita, simula, compila y carga , el siguiente programa: Nota: cada programa debe ser trabajado en el simulador y en el protoboard. 'Programa que controla el giro de un motor, por medio de interruptores para IZQUIERDA, DERECHA Y PARO del motor. AllDigital todos los puertos digitales TRISB = 0 puerto b como salidas TRISA = 255 puerto a como entradas PORTA = 0 PORTB = 0 puerto A apagados puerto B apagados

Inicio:

If PORTA.0 = 1 Then Goto izquierda If PORTA.1 = 1 Then Goto derecha Goto inicio

Izquierda: PORTB.0 = 1 'ENCIENDE MOTOR 1 PORTB.1 = 1 activa transistor Izquierda PORTB.2 = 0 desactiva transistor derecha If PORTA.2 = 1 Then Goto apagar Goto izquierda Derecha: PORTB.0 = 1 'ENCIENDE MOTOR PORTB.1 = 0 desactiva transistor izquierda PORTB.2 = 1 activa transistor derecha If PORTA.2 = 1 Then Goto Apagar Goto derecha Apagar: PORTB = 0 'apagar PUERTO B Goto inicio End Fin del programa

Presiona el interruptor de Izquierda, y despus el de paro. Que sucede en la barra de leds del simulador? Haz lo mismo para el interruptor de Derecha, que sucede en la barra de leds del simulador?

Ahora te toca a ti controlar un MOTOR, ahora usando un tiempo de encendido y que se apague cuando pase ese tiempo o cuando presionen el interruptor de paro.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC.

Anota tus conclusiones, describe lo que hiciste y cmo funciona:

Practica No.5
MANEJO DE SALIDAS
Objetivo: Que el alumno identifique y compruebe el funcionamiento de las
diferentes formas microcontrolador. de activar y desactivar las salidas del puerto RB del

PARTE 1: PAR DE LEDS PARPADEANDO CADA SEGUNDO En el simulador PIC SIMULATOR IDE edite, compile y simule el siguiente programa en PICBASIC: Nota: cada programa debe ser trabajado en el simulador y en el protoboard. 'Programa que recorre del pin 0 - 7 'del puerto B prendiendo y apagando 2 puertos 'cada 1 segundos AllDigital 'todos los puertos digitales TRISB = 0 'configurar puerto B como salidas PORTB = %00000000 'aseguramos todo el puerto B en cero PORTA = %00000000 'aseguramos todo el puerto A en cero Inicio: etiqueta de inicio de programa High PORTB.0 'enciende pin 0 del puerto b High PORTB.1 'enciende pin 1 del puerto b WaitUs 20 'espera 1 seg Low PORTB.0 'apaga el pin 0 del puerto b Low PORTB.1 'apaga el pin 1 del puerto b WaitUs 20 'espera 1 seg High PORTB.2 'enciende pin 2 del puerto b High PORTB.3 'enciende pin 3 del puerto b WaitUs 20 'espera 1 seg Low PORTB.2 'apaga el pin 2 del puerto b Low PORTB.3 'apaga el pin 3 del puerto b WaitUs 20 'espera 1 seg High PORTB.4 'enciende pin 4 del puerto b High PORTB.5 'enciende pin 5 del puerto b WaitUs 20 'espera 1 seg Low PORTB.4 'apaga el pin 4 del puerto b Low PORTB.5 'apaga el pin 5 del puerto b WaitUs 20 'espera 1 seg High PORTB.6 'enciende pin 6 del puerto b High PORTB.7 'enciende pin 7 del puerto b WaitUs 20 'espera 1 seg Low PORTB.6 'apaga el pin 6 del puerto b Low PORTB.7 'apaga el pin 7 del puerto b WaitUs 20 'espera 1 seg Goto inicio 'regresa a la etiqueta inicio End 'fin

Una vez que funcione en el simulador cambie los tiempos a Milisegundos pselo al microcontrolador.

Ahora te toca a ti controlar, enciende los LEDS que se enciendan y apaguen del bit 7 al bit 0.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC.

Anota tus conclusiones, describe lo que hiciste y cmo funciona:

PARTE 2: RECORRIDO DE LEDS USANDO SALIDAS DIRECTAMENTE En el simulador PIC SIMULATOR IDE edite, compile y simule el siguiente programa en PICBASIC: 'Programa que recorre del pin 0 - 7 'del puerto B prendiendo y apagando cada puerto 'cada segundo. AllDigital TRISB = 0 PORTB = %00000000 PORTA = %00000000 Inicio: High PORTB.0 WaitUs 10 Low PORTB.0 WaitUs 10 High PORTB.1 WaitUs 10 Low PORTB.1 WaitUs 10 'espera 1 seg 'todos los puertos 'configurar puerto 'aseguramos todo 'aseguramos todo digitales B como salidas el puerto B en cero el puerto A en cero

'etiqueta de inicio de programa 'enciende pin 0 del puerto b 'espera 1 seg 'apaga el pin 0 del puerto b 'espera 1 seg 'enciende pin 1 del puerto b 'espera 1 seg 'apaga el pin 1 del puerto b

High PORTB.2 WaitUs 10 Low PORTB.2 WaitUs 10 High PORTB.3 WaitUs 10 Low PORTB.3 WaitUs 10 High PORTB.4 WaitUs 10 Low PORTB.4 WaitUs 10 High PORTB.5 WaitUs 10 Low PORTB.5 WaitUs 10 High PORTB.6 WaitUs 10 Low PORTB.6 WaitUs 10 High PORTB.7 WaitUs 10 Low PORTB.7 WaitUs 10 Goto Inicio End

'enciende pin 2 del puerto b 'espera 1 seg 'apaga el pin 2 del puerto b 'espera 1 seg 'enciende pin 3 del puerto b 'espera 1 seg 'apaga el pin 3 del puerto b 'espera 1 seg 'enciende pin 4 del puerto b 'espera 1 seg 'apaga el pin 4 del puerto b 'espera 1 seg 'enciende pin 5 del puerto b 'espera 1 seg 'apaga el pin 5 del puerto b 'espera 1 seg 'enciende pin 6 del puerto b 'espera 1 seg 'apaga el pin 6 del puerto b 'espera 1 seg 'enciende pin 7 del puerto b 'espera 1 seg 'apaga el pin 7 del puerto b 'espera 1 seg 'regresa a la etiqueta inicio FIN DEL PROGRAMA

Ahora te toca a ti controlar, enciende los LEDS que se enciendan y apaguen del bit 7 al bit 0 con un puerto de entrada y con otro puerto que se deje de recorrer.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC.

Anota tus conclusiones, describe lo que hiciste y cmo funciona:

PARTE 3: RECORRIDO DE LEDS USANDO TABLA DE VALORES En el simulador PIC SIMULATOR IDE edite, compile y simule el siguiente programa en PICBASIC: 'Programa que recorre del pin 0 - 8 'del puerto B prendiendo y apagando cada puerto 'Por medio de una variable y el mtodo de mirar tabla cada 1 segundos AllDigital 'todos los puertos digitales TRISB = 0 'configurar puerto B como salidas PORTB = %00000000 PORTA = %00000000 Dim pin As Byte Dim led As Byte 'aseguramos todo el puerto B en cero 'aseguramos todo el puerto A en cero definimos PIN como un Byte definimos led como byte 'etiqueta de inicio de programa para pin de 0-7 de uno en uno 08, 16, 32, 64, 128), pin led toma el valor de pin sacamos el valor de pin al Puerto B esperamos un Segundo siguiente valor para pin regresa a inicio 'fin del programa

inicio:

For pin = 0 To 7 Step 1 led = LookUp (01, 02, 04, PORTB = led WaitUs 1 Next pin Goto inicio End

Ahora te toca a ti controlar, haz que los leds comiencen a encender del bit 7 al 0, que se enciendan y apaguen.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC. Nota: cada programa debe ser trabajado en el simulador y en el protoboard.

Anota tus conclusiones, describe lo que hiciste y cmo funciona:

PARTE 4: RECORRIDO Y APAGADO DE LEDS En el simulador PIC SIMULATOR IDE edite, compile y simule el siguiente programa en PICBASIC y agregue los comentarios a las instrucciones: 'Programa que recorre del pin 0 - 8 'del puerto B prendiendo y apagando cada puerto 'de en medio hacia afuera por medio de una variable 'cada 1 segundos AllDigital TRISB = 0 PORTB = %00000000 PORTA = %00000000 Dim pin As Byte Dim led As Byte inicio: 'etiqueta de inicio de programa For pin = 0 To 3 Step 1 '1 2 4 8 16 32 64 128 led = LookUp (24, 60, 126, 255), pin PORTB = led WaitUs 1 Next pin PORTB = 0 WaitUs 10 Goto inicio End

Ahora te toca a ti controlar, haz que los leds comiencen encendidos y que se apague uno por uno.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC. Nota: cada programa debe ser trabajado en el simulador y en el protoboard

Anota tus conclusiones, describe lo que hiciste y cmo funciona:

PARTE 5: LLENANDO UNA FILA DE LEDS. En el simulador PIC SIMULATOR IDE edite, compile y simule el siguiente programa en PICBASIC y agregue los comentarios a las instrucciones: 'Programa que llena una fila de leds 'al presionar un switch y se borra con otro switch. AllDigital 'todos los puertos digitales TRISB = 0 'configurar puerto B como salidas TRISA = %11111111 'configura puerto A como entradas PORTB = %00000000 'aseguramos todo el puerto B en cero PORTA = %00000000 'aseguramos todo el puerto A en cero inicio: 'etiqueta de inicio de programa Goto boton 'PARA EL PUERTO A0 puertoa0: PORTB = %00000001 llenando: WaitUs 1 'esta demora debe ser mayor si no es una simulacin! PORTB = ShiftLeft (PORTB, 1) If PORTB = %10000000 Then Goto dos Goto llenando PORTB = %10000001 WaitUs 30 'esta demora debe ser mayor si no es una simulacin! PORTB = ShiftLeft (PORTB, 1) If PORTB = %11000000 Then Goto tres tres: PORTB = %11000001 WaitUs 30 'esta demora debe ser mayor si no es una simulacin! PORTB = ShiftLeft (PORTB, 1) If PORTB = %11100000 Then Goto cuatro PORTB = %11100001 WaitUs 30 'esta demora debe ser mayor si no es una simulacin! PORTB = ShiftLeft (PORTB, 1) If PORTB = %11110000 Then Goto cinco PORTB = %11110001 WaitUs 30 'esta demora debe ser mayor si no es una simulacin! PORTB = ShiftLeft (PORTB, 1) If PORTB = %11111000 Then Goto seis PORTB = %11111001 WaitUs 30 'esta demora debe ser mayor si no es una simulacin! PORTB = ShiftLeft (PORTB, 1) If PORTB = %11111100 Then Goto siete

dos:

cuatro:

cinco:

seis:

siete: PORTB = %11111101 WaitUs 30 'esta demora debe ser mayor si no es una simulacin! PORTB = ShiftLeft (PORTB, 1) If PORTB = %11111110 Then Goto lleno PORTB = 255 Goto inicio 'PARA EL PUERTO A1 puertoa1: PORTB = 0 Goto inicio 'CUAL BOTON SE SELECCIONO boton: If PORTA.0 = 1 Then Goto puertoa0 If PORTA.1 = 1 Then Goto puertoa1 Goto boton End

lleno:

Ahora te toca a ti controlar, haz que cada led se encienda cada que presiones el puerto A0 y se borre con A1
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC. Nota: cada programa debe ser trabajado en el simulador y en el protoboard

Anota tus conclusiones, describe lo que hiciste y cmo funciona:

PARTE 6: IDA Y VUELTA EN UNA FILA DE LEDS. En el simulador PIC SIMULATOR IDE edite, compile y simule el siguiente programa en PICBASIC y agregue los comentarios a las instrucciones: 'Programa que enciende y apaga 'los pin del puerto B de derecha a izquierda 'cada 1 segundos AllDigital TRISB = 0 TRISA = 1 PORTB = %00000000 PORTA = %00000000 inicio: PORTB = %00000001 Izquierda: WaitUs 1 demora de un segundo PORTB = ShiftLeft (PORTB, 1) recorre en uno lo del Puerto B If PORTB = %10000000 Then Goto derecha si llego al valor RB Goto izquierda ir a etiqueta izquierda derecha: WaitUs 1 retardo de un segundo PORTB = ShiftRight (PORTB, 1) recorre en uno lo del Puerto B If PORTB = %00000001 Then Goto izquierda Goto derecha ir a etiqueta derecha End fin del programa 'todos los puertos digitales 'configurar puerto B como salidas 'configura puerto A como entradas 'aseguramos todo el puerto B en cero 'aseguramos todo el puerto A en cero 'etiqueta de inicio de programa Inicio con puerto RB0 encendido

Este es otro PROGRAMA de como recorrer 2 led al mismo tiempo:


'Programa que enciende y apaga 'los pines del puerto B de derecha a izquierda de 2 en 2 'cada 1 segundos AllDigital 'todos los puertos digitales TRISB = 0 'configurar puerto B como salidas TRISA = 1 'configura puerto A como entradas PORTB = %00000000 'aseguramos todo el puerto B en cero PORTA = %00000000 'aseguramos todo el puerto A en cero inicio: 'etiqueta de inicio de programa PORTB = %00000011

izquierda: WaitUs 1 'esta demora debe ser mayor si no es una simulacin PORTB = ShiftLeft (PORTB, 1) If PORTB = %11000000 Then Goto derecha Goto izquierda derecha: WaitUs 1 'esta demora debe ser mayor si no es una simulacin PORTB = ShiftRight (PORTB, 1) If PORTB = %00000011 Then Goto izquierda Goto derecha End

Ahora te toca a ti controlar, haz que los leds comiencen encendidos y que se apague uno por uno.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC. Nota: cada programa debe ser trabajado en el simulador y en el protoboard

Anota tus conclusiones, describe lo que hiciste y cmo funciona:

Practica No.6
MANEJO DE ENTRADAS.
Objetivo: Que el alumno identifique y compruebe el funcionamiento de
diferentes dispositivos electrnicos en algunas aplicaciones reales que podemos realizar, con transistores, relevadores, SCR, dispositivos que funcionan como interruptores electrnicos. Ademas de las diferentes formas de activar y desactivar las ENTRADAS del puerto RA del microcontrolador.

PARTE 1: COMO USAR UN INTERRUPTOR (SWITCH). Ahora, vamos a hacer que el microcontrolador controle el encendido de varios LEDS colocados en las 8 salidas, por medio de interruptores colocado en una de sus entradas: Edita el siguiente programa: Nota: cada programa debe ser trabajado en el simulador y en el protoboard. 'Programa que por medio de switch se cambia de 'la MODOS de desplegar las salidas, usando el reset (5 diferentes) 'AllDigital 'todos los puertos digitales TRISB = 0 'configurar puerto B como salidas PORTB = %00000000 'aseguramos todo el puerto B en cero PORTA = %00000000 'aseguramos todo el puerto A en cero inicio: 'etiqueta de inicio de programa cual: If PORTA.0 = 1 If PORTA.1 = 1 If PORTA.2 = 1 If PORTA.3 = 1 If PORTA.4 = 1 HIGH PORTB.7 Goto cual Then Then Then Then Then Gosub Gosub Gosub Gosub Gosub MODO1 MODO2 MODO3 MODO4 MODO5

MODO1: INICIO DE MODO 1 PORTB = %00000000 High PORTB.0 'enciende pin 0 del puerto b WaitMs 300 'espera 3 seg Low PORTB.0 'apaga el pin 0 del puerto b WaitMs 300 'espera 3 seg Gosub boton Goto MODO1

MODO2: INICIO DE MODO 2 PORTB = %00000000 PORTB = %00000001 izquierda: WaitMs 25 'esta demora debe ser mayor si no es una simulacin! PORTB = ShiftLeft(PORTB, 1) If PORTB = %10000000 Then Goto derecha Gosub boton Goto izquierda derecha: WaitMs 25 'esta demora debe ser mayor si no es una simulacin! PORTB = ShiftRight(PORTB, 1) If PORTB = %00000001 Then Goto izquierda Gosub boton Goto derecha

MODO3: 'INICIO DE MODO 3 PORTB = 0 WaitMs 200 'espera 1 seg High PORTB.0 'enciende pin 0 del puerto b WaitMs 200 'espera 1 seg Low PORTB.0 'apaga el pin 0 del puerto b WaitMs 200 'espera 1 seg Gosub boton High PORTB.1 'enciende pin 1 del puerto b WaitMs 200 'espera 1 seg Low PORTB.1 'apaga el pin 1 del puerto b WaitMs 200 'espera 1 seg Gosub boton High PORTB.2 'enciende pin 2 del puerto b WaitMs 200 'espera 1 seg Low PORTB.2 'apaga el pin 2 del puerto b WaitMs 200 'espera 1 seg Gosub boton High PORTB.3 'enciende pin 3 del puerto b WaitMs 200 'espera 1 seg Low PORTB.3 'apaga el pin 3 del puerto b WaitMs 200 'espera 1 seg Gosub boton

High PORTB.4 'enciende pin 4 del puerto b WaitMs 200 'espera 1 seg Low PORTB.4 'apaga el pin 4 del puerto b WaitMs 200 'espera 1 seg Gosub boton High PORTB.5 'enciende pin 5 del puerto b WaitMs 200 'espera 1 seg Low PORTB.5 'apaga el pin 5 del puerto b WaitMs 200 'espera 1 seg Gosub boton High PORTB.6 'enciende pin 6 del puerto b WaitMs 200 'espera 1 seg Low PORTB.6 'apaga el pin 6 del puerto b WaitMs 200 'espera 1 seg Gosub boton High PORTB.7 'enciende pin 7 del puerto b WaitMs 200 'espera 1 seg Low PORTB.7 'apaga el pin 7 del puerto b WaitMs 200 'espera 1 seg Gosub boton Goto MODO3 'regresa a la etiqueta MODO3 MODO4: 'INICIO DE MODO 4 Dim pin As Byte Dim led As Byte PORTB = 0 WaitMs 200 'espera 1 seg For pin = 0 To 3 Step 1 '1 2 4 8 16 32 64 128 led = LookUp(24, 60, 126, 255), pin PORTB = led WaitMs 200 'espera 1 seg Gosub boton Next pin For pin = 0 To 7 Step 1 led = LookUp(254, 252, 248, 240, 224, 192, 128, 0), pin PORTB = led WaitMs 200 'espera 1 seg Gosub boton Next pin PORTB = 0 WaitMs 200 'espera 1 seg Goto MODO4

MODO5: 'INICIO DESPLEGAR NUMEROS EN DISPLAY DE 7 SEGMENTOS PORTB = %11111111 Dim cero As Byte cero = %11000000 Dim uno As Byte uno = %11111100 Dim dos As Byte dos = %10010010 Dim tres As Byte tres = %10011000 Dim cuatro As Byte cuatro = %10101100 Dim cinco As Byte cinco = %10001001 Dim seis As Byte seis = %10100001 Dim siete As Byte siete = %11011100 Dim ocho As Byte ocho = %10000000 Dim nueve As Byte nueve = %10001100 numeros: PORTB = cero WaitMs 1000 PORTB = uno WaitMs 1000 Gosub boton PORTB = dos WaitMs 1000 Gosub boton PORTB = tres WaitMs 1000 Gosub boton PORTB = cuatro WaitMs 1000 Gosub boton PORTB = cinco WaitMs 1000 Gosub boton PORTB = seis WaitMs 1000 Gosub boton PORTB = siete WaitMs 1000 Gosub boton PORTB = ocho WaitMs 1000 Gosub boton

PORTB = nueve WaitMs 1000 Gosub boton Goto numeros End __________________________________________________ boton: WaitMs 100 If PORTA.0 = 1 Then Goto MODO1 If PORTA.1 = 1 Then Goto MODO2 If PORTA.2 = 1 Then Gosub MODO3 If PORTA.3 = 1 Then Gosub MODO4 If PORTA.4 = 1 Then Gosub MODO5 Return

NOTA: ADEMAS DE CONECTAR LOS LEDS A LOS 8 PUERTOS, TENEMOS QUE CONECTAR UN DISPLAY DE 7 SEGMENTOS PARA FORMAR LOS NUMEROS DEL MODO 5, DE LA SIGUIENTE MANERA: NOTA: SI EL DISPLAY DE 7 SEGMENTOS ES ANODO COMUN, COLOCALOS UNA RESISTENCIA DE 330 A POSITIVO.

NOTA: RECUERDA QUE PARA ACCIONAR LOS INTERRUPTORES, HAY QUE OBTENER EL MICROCONTROLLER VIEW EN HERRAMIENTAS DEL SIMULADOR. Que sucede en la barra de leds del simulador con cada modo de desplegar los leds? MODO 1: MODO 2: MODO 3: MODO 4: MODO 5: Que ocurre en la figura del microcontrolador del simulador?

Ahora te toca a ti controlar, haz que los leds enciendan en 2 modos diferentes a los anteriores, pero ahora al presionar 2 interruptores diferentes al mismo tiempo.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC. NO LO DESARMES LO NESESITARAS EN LAS SIGUIENTES PARTES! Nota: cada programa debe ser trabajado en el simulador y en el protoboard

ANOTE SUS CONCLUSIONES:

PARTE 2: FOTOTRANSISTOR, FOTORESISTENCIA. FOTOTRANSISTOR Arme el siguiente circuito en el protoboard:

RECUERDA EL VOLTAJE DE TU RELAY PARA HACER EL CAMBIO DE VOLTAJE DE ENTRADA Y NO SE QUEME. Acerca alguna haz de luz al fototransistor, que es lo que sucede?

Ahora te toca a ti controlar, acerca el LED del puerto B0 al fototransistor y acciona el interruptor de A0(del programa anterior), si no alcanza a encender el circuito aumenta el tiempo en que este enciende, para logar activarlo al encender un led cerca del fototransistor usa un popote para alinear el haz de luz .
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC. NO LO DESARMES LO NESESITARAS EN LAS SIGUIENTES PARTES! Nota: cada programa debe ser trabajado en el simulador y en el protoboard Anote sus conclusiones:

FOTO RESISTENCIA

Arme el siguiente circuito en el protoboard:

RECUERDA EL VOLTAJE DE TU RELAY PARA HACER EL CAMBIO DE VOLTAJE DE ENTRADA Y NO SE QUEME. Acerca alguna haz de luz a La fotorresistencia, que es lo que sucede?

Donde puede aplicar este circuito?

Ahora te toca a ti controlar, acerca el LED del puerto B7 al fotorresistencia y acciona el interruptor de A4(del programa anterior), si no alcanza a encender el circuito aumenta el tiempo en que este enciende, para logar activarlo al encender un led cerca de la fotorresistencia cubre la fotorresistencia para que se alinea el haz de luz .

Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC. NO LO DESARMES LO NESESITARAS EN LAS SIGUIENTES PARTES! Nota: cada programa debe ser trabajado en el simulador y en el protoboard Anote sus conclusiones:

PARTE 3: SENSOR TACTIL.

Arma el siguiente circuito: Que es lo que sucede al accionar el switch?

5
Quita el switch y toca esos cables con tus dedos. Que sucede?

Donde puede aplicar este circuito?

Anote sus conclusiones:

Ahora te toca a ti controlar, manda el punto donde est el emisor de salida del puente Darlington a algn puerto de entrada del microcontrolador, para usarlo como interruptor tctil y el zumbador o Buzer a alguna salida para que cuando se active zumbe.

Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC. NO LO DESARMES LO NESESITARAS EN LAS SIGUIENTES PARTES! Nota: cada programa debe ser trabajado en el simulador y en el protoboard Anote sus conclusiones:

Arme el siguiente circuito:

PARTE 4: SENSOR DE HUMEDAD.

Este Circuito nos muestra como un transistor acta como amplificador. Por el agua circula una corriente muy pequea, el transistor la amplifica (la hace ms grande) y permite que podamos encender un LED. Una vez realizado el montaje anterior, debe de introducir los dos hilos A y B en agua uno ms abajo que otro.

Se Ilumina el LED? Por qu?

Agrega un zumbador como se muestra. Introduce las puntas A y B en el agua. Que sucede?

Donde puede aplicar este circuito?

Anote sus conclusiones:

Ahora te toca a ti controlar, manda el punto donde est el emisor de salida del transistor a algn puerto de entrada del microcontrolador, para usarlo como sensor de humedad y el zumbador o Buzer a alguna salida para que cuando se detecte humedad zumbe.
NO LO DESARMES LO NESESITARAS EN LAS SIGUIENTES PARTES! Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC. Nota: cada programa debe ser trabajado en el simulador y en el protoboard Anote sus conclusiones:

PARTE 5: ALARMA CONTRA INTRUSOS CON SCR Arme el siguiente circuito:

Accione el interruptor de Activar alarma. Que sucede?

En donde puede aplicar este circuito?

Anote sus conclusiones:

Ahora te toca a ti controlar, manda el punto donde est el interruptor de activar alarma, el de armar alarma a puertos de salida del microcontrolador y en las entradas del microcontrolador coloca lo que quieres alarmar cuando se detecte esa entrada. (Sensor tctil, de agua, de luz, etc.) Recuerda colocar tambin un interruptor para desactivar la alarma por medio del microcontrolador.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC. Nota: cada programa debe ser trabajado en el simulador y en el protoboard Anote sus conclusiones:

Practica No.7
MANEJO DE DISPLAY DE 7 SEGMENTOS.
Objetivo: Que el alumno compruebe el funcionamiento de los display de 7 segmentos como visualizadores de aplicaciones.
PARTE 1: DESPLEGAR LOS NUMEROS 0-9 ASCENDENTE Comenzaremos por definir nuestros display de 7 segmentos, En la siguiente figura se muestran los puertos de salida del microcontrolador a los que estarn relacionados:

Basndonos en la configuracin anterior armaremos el siguiente circuito:

Edita, compila, simula y carga al microcontrolador, el siguiente programa: Nota: cada programa debe ser trabajado en el simulador y en el protoboard. Recuerda cambiar los tiempos a microsegundos para verlo en el simulador. 'DESPLEGAR NUMEROS EN DISPLAY DE 7 SEGMENTOS EN FORMA ASCENDENTE DE 0-9. AllDigital 'todos los puertos digitales TRISB = 0 'configurar puerto B como salidas TRSA = 255 configurar puerto A como entradas PORTB = %00000000 'aseguramos todo el puerto B en cero PORTA = %00000000 'aseguramos todo el puerto A en cero Inicio: etiqueta de inicio de programa PORTB = %11111111 hacemos que se apague el display de 7 segmentos con unos ya que es anodo comun Dim cero As Byte cero = %11000000 Dim uno As Byte uno = %11111100 Dim dos As Byte dos = %10010010 Dim tres As Byte tres = %10011000 Dim cuatro As Byte cuatro = %10101100 Dim cinco As Byte cinco = %10001001 Dim seis As Byte seis = %10100001 Dim siete As Byte siete = %11011100 Dim ocho As Byte ocho = %10000000 Dim nueve As Byte nueve = %10001100 numeros: PORTB = cero WaitMs 1000 PORTB = uno WaitMs 1000 Gosub boton PORTB = dos WaitMs 1000 Gosub boton PORTB = tres WaitMs 1000 Gosub boton PORTB = cuatro WaitMs 1000 Gosub boton

PORTB = cinco WaitMs 1000 Gosub boton PORTB = seis WaitMs 1000 Gosub boton PORTB = siete WaitMs 1000 Gosub boton PORTB = ocho WaitMs 1000 Gosub boton PORTB = nueve WaitMs 1000 Gosub boton Goto numeros End Que sucede en el display de 7 segmentos del simulador? Ahora haz los cambios necesarios para pasar el programa al microcontrolador y poder verlo. Donde puedes usar esta aplicacin:

Anota tus conclusiones:

PARTE 2: DESPLEGAR LOS NUMEROS 0-9 DESCENDENTE

Ahora te toca a ti controlar, un display de 7 segmentos, haz que comience a contar de 9 a 0 y cuando llegue a cero, se vea algn efecto en los leds y se repita el proceso.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC. Nota: cada programa debe ser trabajado en el simulador y en el protoboard.

Anota tus conclusiones, describe lo que hiciste y cmo funciona:

PARTE 3: DESPLEGAR LETRAS

Ahora te toca a ti controlar, un display de 7 segmentos, haz que se desplieguen LETRAS que se puedan formar en el display.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC. Nota: cada programa debe ser trabajado en el simulador y en el protoboard.

Anota tus conclusiones, describe lo que hiciste y cmo funciona:

Practica No.8
MANEJO DE MATRIX DE LEDS 5x7.
Objetivo: Que el alumno compruebe el funcionamiento de una matrix de leds
5x7, observe su microcontrolador. funcionamiento y practique configurando las salidas del

PARTE 1: DESPLAZAMIENTO POR COLUMNAS EN MATRIX 5x7 DE LEDS En el siguiente diagrama se ve la configuracin de la matrix 5x7 y a donde debe ir conectada:

Edita, compila, simula y carga al microcontrolador, el siguiente programa: Nota: cada programa debe ser trabajado en el simulador y en el protoboard. Recuerda cambiar los tiempos a microsegundos para verlo en el simulador.

programa recorre la matrix por las 5 columnas AllDigital TRISA = %00000000 TRISB = %00000000 PORTB = %00000000 '__________________________________________ inicio: PORTA = 254 'columna 1 PORTB = %00000001

vivorita: WaitMs 100 PORTB = ShiftLeft(PORTB, 1) If PORTB = %10000000 Then Goto botona Goto vivorita botona: PORTA = 253 'columna 2 derechaa: WaitMs 100 PORTB = ShiftRight(PORTB, 1) If PORTB = %00000001 Then Goto botonb Goto derechaa '________________________________________ botonb: PORTA = 251 'columna 3 izquierdab: WaitMs 100 PORTB = ShiftLeft(PORTB, 1) If PORTB = %10000000 Then Goto botonc Goto izquierdab '________________________________________ botonc: PORTA = 247 'columna 4 derechac: WaitMs 100 PORTB = ShiftRight(PORTB, 1) If PORTB = %00000001 Then Goto botond Goto derechac '__________________________________________ botond: PORTA = 239 'columna 5 izquierdad: WaitMs 100 PORTB = ShiftLeft(PORTB, 1) If PORTB = %10000000 Then Goto lleno Goto izquierdad '______________________________________________ lleno: PORTA = 0 PORTB = 255 WaitMs 100 Goto inicio End Que sucede en la matrix de leds? Anota tus conclusiones:

PARTE 2: DESPLAZAMIENTO POR FILAS EN MATRIX 5x7 DE LEDS. Ahora nos moveremos por las filas de nuestra matrix 5x7. Edita, compila, simula y carga al microcontrolador, el siguiente programa: Nota: cada programa debe ser trabajado en el simulador y en el protoboard. Recuerda cambiar los tiempos a microsegundos para verlo en el simulador. PROGRAMA QUE RECORRE LA MATRIX POR LAS 7 FILAS AllDigital TRISA = %00000000 TRISB = %00000000 PORTB = %00000000 Dim numero As Byte Dim col As Byte Inicio: fila1: fila2: fila3: PORTB = 4 Gosub fwd fila4: PORTB = 8 Gosub rev fila5: PORTB = 16 Gosub fwd fila6: fila7: PORTB = 32 Gosub rev PORTB = 64 Gosub fwd PORTB = 1 Gosub fwd PORTB = 2 Gosub rev

Gosub lleno Goto inicio End '________________________________________

lleno: PORTA = 0 PORTB = 255 WaitMs 500 Return '________________________________________

fwd:

PORTA = 255 WaitMs 100 'espera 1 seg For numero = 0 To 4 Step 1 'numero de columnas col = LookUp(254, 253, 251, 247, 239), numero PORTA = col WaitMs 100 'espera 1 seg Next numero Return '________________________________________ rev: For numero = 0 To 4 Step 1 'numero de columnas col = LookUp(239, 247, 251, 253, 254), numero PORTA = col WaitMs 100 'espera 1 seg Next numero Return

Que sucede en la matrix de leds?

Donde podras aplicar esta prctica?

Anota tus conclusiones:

PARTE 3: DESPLAZAMIENTO POR FILAS Y COLUMNAS

Ahora te toca a ti controlar, una matrix 5x7, haz que se recorran los leds por las filas y las columnas y terminas con algn efecto realizado en practica 5 y luego se repita el proceso.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y CARGALO AL PIC. Nota: cada programa debe ser trabajado en el simulador y en el protoboard.

Anota tus conclusiones:

Practica No.9
MANEJO DE DISPLAY.
Objetivo: Que el alumno compruebe el funcionamiento y aprenda a conectar un display de cristal lquido, al microcontrolador.
PARTE 1: EL DISPLAY DE CRISTAL LQUIDO (LCD) En el siguiente diagrama se ve la configuracin de pines de un display de cristal lquido (LCD) y a donde ira conectada al microcontrolador:

Una vez conectado nuestro LCD, desplegaremos textos. Edita, compila, simula y carga al microcontrolador, el siguiente programa: Nota: cada programa debe ser trabajado en el simulador y en el protoboard. Recuerda cambiar los tiempos a microsegundos donde sea necesario para verlo en el simulador.

'Programa que por medio de switches se cambia de 'practica 1 a la 5 con display 'DEFINICIN DE REGISTROS PARA EL LCD Define LCD_DREG = PORTB 'Utilizar 4 bits del puerto B para tx de datos Define LCD_DBIT = 4 'Desde el Bit B.4 al Bit B.7 Define LCD_RSREG = PORTB 'Seleccin del puerto del registro Define LCD_RSBIT = 1 'En el bit B.1 Define LCD_EREG = PORTB 'Utilizar el enable en el puerto B Define LCD_EBIT = 2 'En el bit B.2 Define LCD_INITMS = 1000 '2 'tiempo para iniciar en display AllDigital 'todos los puertos digitales TRISB = %00000000 'configurar puerto B como salidas TRISA = %11111111 PORTB = %00000000 'aseguramos todo el puerto B en cero PORTA = %00000000 'aseguramos todo el puerto A en cero Lcdinit 3 'INICIALIZA DISPLAY inicio: 'etiqueta de inicio de programa Gosub intro 'despliega introducccion en display cual: If PORTA.0 = 1 Then Gosub If PORTA.1 = 1 Then Gosub If PORTA.2 = 1 Then Gosub If PORTA.3 = 1 Then Gosub If PORTA.4 = 1 Then Gosub FreqOut PORTB.7, 2000, 10 Goto cual practica1: 'INICIO DE PRACTICA 1 'Pausa de inicio del LCD WaitMs 500 '-------------------------------------------------------Gosub borrar_display Gosub primera Lcdout "MECATRONICA" 'Escribir en la primera lnea WaitMs 1000 Gosub segunda Lcdout "PRACTICA 1" 'Escribir en la segunda lnea WaitMs 1000 practica_uno: PORTB = %00000000 High PORTB.0 'enciende pin 0 del puerto b WaitMs 300 'espera 3 seg Low PORTB.0 'apaga el pin 0 del puerto b WaitMs 300 'espera 3 seg Gosub boton Goto practica_uno practica1 practica2 practica3 practica4 practica5

practica2: 'INICIO DE PRACTICA 2 'Pausa de inicio del LCD WaitMs 500 '-------------------------------------------------------Gosub borrar_display Gosub primera Lcdout "MECATRONICA" 'Escribir en la primera lnea WaitMs 1000 Gosub segunda Lcdout "PRACTICA 2" 'Escribir en la segunda lnea WaitMs 500 practica_dos: PORTB = %00000000 PORTB = %00000001 izquierda: WaitMs 25 'esta demora debe ser mayor si no es una simulacin! PORTB = ShiftLeft(PORTB, 1) If PORTB = %10000000 Then Goto derecha Gosub boton Goto izquierda derecha: WaitMs 25 'esta demora debe ser mayor si no es una simulacin! PORTB = ShiftRight(PORTB, 1) If PORTB = %00000001 Then Goto izquierda Gosub boton Goto derecha practica3: 'INICIO DE PRACTICA 3 Gosub borrar_display Gosub primera Lcdout "MECATRONICA" 'Escribir en la primera lnea WaitMs 1000 Gosub segunda Lcdout "PRACTICA 3" 'Escribir en la segunda lnea WaitMs 500 practica_tres: PORTB = 0 WaitMs 200 'espera 1 seg High PORTB.0 'enciende pin 0 del puerto b WaitMs 200 'espera 1 seg Low PORTB.0 'apaga el pin 0 del puerto b WaitMs 200 'espera 1 seg Gosub boton High PORTB.1 'enciende pin 1 del puerto b WaitMs 200 'espera 1 seg Low PORTB.1 'apaga el pin 1 del puerto b WaitMs 200 'espera 1 seg Gosub boton

High PORTB.2 'enciende pin 2 del puerto b WaitMs 200 'espera 1 seg Low PORTB.2 'apaga el pin 2 del puerto b WaitMs 200 'espera 1 seg Gosub boton High PORTB.3 'enciende pin 3 del puerto b WaitMs 200 'espera 1 seg Low PORTB.3 'apaga el pin 3 del puerto b WaitMs 200 'espera 1 seg Gosub boton High PORTB.4 'enciende pin 4 del puerto b WaitMs 200 'espera 1 seg Low PORTB.4 'apaga el pin 4 del puerto b WaitMs 200 'espera 1 seg Gosub boton Goto practica_tres 'regresa a la etiqueta practica3 practica4: 'INICIO DE PRACTICA 4 Gosub borrar_display Gosub primera Lcdout "MECATRONICA" 'Escribir en la primera lnea WaitMs 500 Gosub segunda Lcdout "PRACTICA 4" 'Escribir en la segunda lnea WaitMs 500 practica_cuatro: Dim pin As Byte Dim led As Byte PORTB = 0 WaitMs 200 'espera 1 seg For pin = 0 To 3 Step 1 '1 2 4 8 16 32 64 128 led = LookUp(24, 60, 126, 255), pin PORTB = led WaitMs 200 'espera 1 seg Gosub boton Next pin For pin = 0 To 7 Step 1 led = LookUp(254, 252, 248, 240, 224, 192, 128, 0), pin PORTB = led WaitMs 200 'espera 1 seg Gosub boton Next pin PORTB = 0 WaitMs 200 'espera 1 seg Goto practica_cuatro

practica5: 'INICIO DE PRACTICA 5 Gosub borrar_display Gosub primera Lcdout "MECATRONICA" 'Escribir en la primera lnea WaitMs 500 Gosub segunda Lcdout "PRACTICA 5" 'Escribir en la segunda lnea WaitMs 500 practica_cinco: PORTB = %11111111 Dim cero As Byte cero = %11000000 Dim uno As Byte uno = %11111100 Dim dos As Byte dos = %10010010 Dim tres As Byte tres = %10011000 Dim cuatro As Byte cuatro = %10101100 Dim cinco As Byte cinco = %10001001 Dim seis As Byte seis = %10100001 Dim siete As Byte siete = %11011100 Dim ocho As Byte ocho = %10000000 Dim nueve As Byte nueve = %10001100 numeros: PORTB = cero WaitMs 1000 PORTB = uno WaitMs 1000 Gosub boton PORTB = dos WaitMs 1000 Gosub boton PORTB = tres WaitMs 1000 Gosub boton PORTB = cuatro WaitMs 1000 Gosub boton PORTB = cinco WaitMs 1000 Gosub boton PORTB = seis WaitMs 1000 Gosub boton

PORTB = siete WaitMs 1000 Gosub boton PORTB = ocho WaitMs 1000 Gosub boton PORTB = nueve WaitMs 1000 Gosub boton Goto numeros End _________________________________________ borrar_display: BORRAR DISPLAY Lcdcmdout LcdClear 'Limpiar LCD WaitMs 500 Return _________________________________________ primera: Lcdcmdout LcdHome 'CURSOR EN LA PRIMER LINEA WaitMs 500 Return ______________________________________________ segunda: Lcdcmdout LcdLine2Home 'CURSOR SEGUNDA LINEA WaitMs 500 Return _______________________________________________ intro: DESPLEGAR TEXTOS 'Pausa de inicio del LCD WaitMs 500 Gosub borrar_display Gosub primera Lcdout "CECYTE ZONA RIO" 'Escribir en la primera lnea WaitMs 500 Gosub segunda Lcdout "MECATRONICA" 'Escribir en la segunda lnea WaitMs 1000 Gosub borrar_display Gosub primera Lcdout "PRACTICA?" 'Escribir en la primera lnea WaitMs 500 Return boton: subrutina que detecta botones presionados If PORTA.0 = 1 Then Goto practica1 If PORTA.1 = 1 Then Goto practica2 If PORTA.2 = 1 Then Gosub practica3 If PORTA.3 = 1 Then Gosub practica4 If PORTA.4 = 1 Then Gosub practica5 Return

PARTE 2: RECORRER TEXTOS Edita, compila, simula y carga al microcontrolador, el siguiente programa: Nota: cada programa debe ser trabajado en el simulador y en el protoboard. Recuerda cambiar los tiempos a microsegundos para verlo en el simulador.

TABLA DE CONVERSION DE NUMEROS ENTRE SISTEMAS NUMERICOS DECIMAL BINARIO OCTAL HEXADECIMAL

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001001 00001010 00001011 00001100 00001101 00001110 00001111

000 001 002 003 004 005 006 007 010 011 012 013 014 015 016 017

0 1 2 3 4 5 6 7 8 9 A B C D E F

CODIGO DE COLORES PARA RESISTENCIAS

You might also like