Sunteți pe pagina 1din 11

Prctica 2 Puertos digitales de salida del microcontrolador PIC 18F4550.

INSTITUTO POLITCNICO NACIONAL


ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA

DEPARTAMENTO DE INGENIERA EN COMUNICACIONES Y ELECTRNICA


INSTRUCTIVOS PARA EL LABORATORIO DE MICROCONTROLADORES Agosto 2013 PRCTICA No. 2

Puertos digitales de salida del microcontrolador PIC 18F4550


GRUPO:_________ EQUIPO:_________ PERIODO ESCOLAR:________ No. DE BOLETA ___________ ___________ INTEGRANTES: APELLIDOS PATERNO, MATERNO Y NOMBRE(S)

1) ______________ _______________ _________________ 2) ______________ _______________ _________________ PROFESOR TITULAR:____________________________________________ PROFESOR ADJUNTO:____________________________________________ FECHA DE ENTREGA DEL REPORTE:_________________ TIEMPO UTILIZADO PARA REALIZAR LA PRCTICA:____________Hrs. CALIF. DEL REPORTE NOMBRE Y FIRMA DEL PROFESOR

Ing. Juan Manuel Cobilt Catana / Ing. Vctor Manuel Gmez Salazar

Agosto 2013

1 de 11

Prctica 2 Puertos digitales de salida del microcontrolador PIC 18F4550.

Los puertos digitales del microcontrolador PIC 18F4550.

2.1 Antecedentes:
Para obtener el mximo provecho de la presente prctica usted deber haber finalizado las dos prcticas anteriores y le recomiendo: Leer los siguientes documentos: a. Captulo 10 del documento DS39632E.pdf b. Valdes-Micros-Cap5-Puertos.pdf c. Ibrahim-Micros-Puertos.pdf Ejecutar en casa la prctica 0 y la prctica 1 en su totalidad.

2.2 Objetivos:
En el desarrollo de esta prctica, el alumno: Configurar los registros relacionados con los puertos digitales: TRISx, LATx, PORTx Ejecutar un programa que enve datos en un puerto configurado como salida. Usar las siguientes herramientas de MPLAB IDE v8.92: 1. Ventana Watch para conocer los cambios que presentan los registros y variables de programa. 2. Usar el Debugger con puntos de ruptura. 3. Por medio de la ventana StopWatch, determinar el tiempo que dura la ejecucin de instrucciones con ayuda de los puntos de ruptura. 4. Con auxilio del Simulator Logic Analyzer comprobar que puede ver el funcionamiento de varias terminales del microcontrolador.

2.3 Material.
Software MPLAB IDE v8.92 instalado en la computadora. Software MPLAB C18 acadmica v3.45 instalado en la computadora. Tarjeta de evaluacin de proyectos: VICPIC Microcontrolador 18F4550

2.4 Equipo.
Computadora personal. Programador PICSTART Plus. Programador USB para PICs

2.5 Desarrollo de la prctica.


2.5.1 Repaso de la prctica 1 con un nuevo proyecto.
1. Active el entorno de desarrollo MPLAB IDE v8.92, usando: El icono dentro del escritorio:

La ruta del programa: C:\Program Files\Microchip\MPLAB IDE\Core\MPLAB.exe 2. Abra el editor de textos. Dentro del Men principal seleccione File New.
Ing. Juan Manuel Cobilt Catana / Ing. Vctor Manuel Gmez Salazar Agosto 2013 2 de 11

Prctica 2 Puertos digitales de salida del microcontrolador PIC 18F4550.

3. En la ventana emergente escriba el siguiente cdigo de programa: /* Bibliotecas de funciones*/ #include <p18F4550.h> // PIC a usar /* Bits de configuracin */ #pragma config FOSC = XT_XT #pragma config LVP = OFF #pragma config WDT = OFF /* Programa principal */ void main(void) { TRISB = 0; // Oscilador tipo cristal // Programacin en bajo voltaje inhabilitado // Temporizador de perro guardin inactivo

// La funcin main en el uso de microcontroladores // no acepta ni entrega argumentos. // Todas las terminales del Puerto B estn configuradas // como salida while (1) // Siempre debemos saber qu est haciendo el { // microcontrolador. PORTB = 0B10101010; // Dato binario de 8 bits en Puerto B PORTB = 0B01010101; // Dato binario de 8 bits en Puerto B }
Tabla 2-1 Programa para captura en el editor de textos.

} 4. Finalizada la captura del cdigo de programa, gurdelo en la PC. En el Men principal seleccione File Save as En la ventana emergente teclee el nombre de programa: Practica02, finalmente depostelo en la carpeta C:\710x.Cobilt\, en caso de ser necesario, cree el directorio para guardar ah los programas generados. Recomendacin: El nombre y ruta donde ser guardado el cdigo de programa no debe exceder una longitud mayor a 62 caracteres. 5. Siga el procedimiento indicado en la prctica 1 para la creacin de un proyecto, es decir: Dentro del Men principal, seleccione Project Project Wizard... Paso 1. Elija el microcontrolador: 18F4550 Paso 2. Seleccione el conjunto de herramientas (compilador) dentro de Active Toolsuite, elija Microchip C18 Toolsuite y compruebe la ubicacin correcta de los archivos. Paso 3. Nombre el proyecto Practica02 y deposite el proyecto dentro del directorio Paso 4. Agregue los archivos: Practica02.C y 18F4550_g.lkr al proyecto. Configure los directorios de bsqueda del proyecto y verifique su ubicacin. Seleccione el modelo de memoria adecuado para el proyecto. Compile el programa y asegrese que haya CERO Warnings y CERO Errors. Habilite y configure el simulador de MPLAB; recuerde establecer el oscilador principal en 4MHz.
C:\710x.Cobilt\

2.5.2 Cambio de algunas propiedades del editor de texto.


Hemos usado el editor de textos en su configuracin original. A continuacin se modificarn los siguientes aspectos asociados con el editor de textos: Algunas ventanas quedarn concentradas como pestaas, dentro de una ventana nica. Habilitacin de numeracin de las lneas del programa.
Ing. Juan Manuel Cobilt Catana / Ing. Vctor Manuel Gmez Salazar Agosto 2013 3 de 11

Prctica 2 Puertos digitales de salida del microcontrolador PIC 18F4550.

Cambio del tamao y fuente del texto con que se escribe el programa. Ejecute el siguiente procedimiento en el editor de texto. D un clic derecho dentro de la ventana MPLAB IDE Editor, en el men emergente seleccione Properties... En la ventana emergente Editor Properties: Seleccione la pestaa General y d un clic en el cuadro Use Tabbed Window. Seleccione la pestaa C File Types y d un clic en el cuadro Line Numbers. Seleccione la pestaa Text y d un clic en el botn Select Font, en la ventana emergente seleccione un estilo Arial, Negra de tamao 18. Acepte los cambios y observe las modificaciones realizadas, como se muestran en la siguiente figura.

Figura 2-1 Modificacin de propiedades en el editor de texto.

2.5.3 Simulador. Puntos de ruptura: Breakpoints.


Un breakpoint seala una ubicacin en la que deseamos que el programa se detenga. Para obtener buenos resultados, debemos colocarlo en el cdigo asociado con una instruccin de programa. Ejecute el siguiente procedimiento para activar puntos de ruptura: Dentro de la ventana MPLAB IDE Editor, coloque el cursor en la fila 12 TRISB = 0x00; d dos clic izquierdos. Haga lo mismo para las filas 16 y 17. Observe la presencia de los tres crculos rojos de los puntos de ruptura, ubicados en la columna izquierda, como se muestra en la siguiente figura:
Figura 2-2 Colocacin de tres puntos de ruptura. Ing. Juan Manuel Cobilt Catana / Ing. Vctor Manuel Gmez Salazar Agosto 2013 4 de 11

Prctica 2 Puertos digitales de salida del microcontrolador PIC 18F4550.

2.5.4 Simulador. Ventana Watch.


Es importante conocer la manera en que se producen cambios en las variables de un programa o en los registros de funciones especiales del microcontrolador (SFR: Special Function Register). A travs de la ventana Watch daremos de alta registros y variables, para conocer su contenido conforme transcurre la ejecucin del programa; adems podremos cambiar el valor de los registros o variables presentes dentro de la ventana Watch y evaluar la manera en que evolucionar el programa, debido a los cambios. Ejecute el siguiente procedimiento para activar la ventana Watch. En el Men Principal seleccione: View Watch. Dentro de la ventana emergente expanda el men deslizable (aqul en que aparece ADCON0 con una flecha hacia abajo), busque y seleccione PORTB. D un click en el botn Add SFR. Compruebe que se aadi la direccin, nombre y valor actual del registro en el cuerpo de la ventana, como lo muestra la siguiente figura:

Figura 2-3 Ventana Watch y PORTB aadido dentro del cuerpo de la ventana.

2.5.5 ORDEN y reacomodo de las ventanas!!


Observe que las ventanas se traslapan una encima de otra!, siga el procedimiento que se indica a continuacin para corregirlo: En el Men Principal seleccione Window Tile Horizontally.

Figura 2-4 Las ventanas ordenadas y acomodadas. Ing. Juan Manuel Cobilt Catana / Ing. Vctor Manuel Gmez Salazar Agosto 2013 5 de 11

Prctica 2 Puertos digitales de salida del microcontrolador PIC 18F4550.

2.5.6 Simulador. Debugger.


En la prctica 1 utilizamos el simulador para mostrar en pantalla el resultado de la ejecucin del programa, a continuacin lo usaremos para conocer la manera en que se modifica el registro PORTB. Ejecute el siguiente procedimiento para la simulacin. Dentro de la barra de herramientas del depurador: Debugger d un clic en el icono Run.

Figura 2-5 Ubicacin del icono Run dentro de la barra de herramientas del Debugger.

Como puede observarse en la siguiente figura, la ejecucin del programa se detiene cuando se encuentra el primer punto de ruptura y se indica con una flecha verde. D otro clic en el icono RUN del simulador y observe los cambios en el registro PORTB dentro de la ventana Watch.

Figura 2-6 Dos ejecuciones del comando Run y seguimiento de afectacin de registros en la ventana Watch.

Observe detenidamente la ejecucin del programa y responda la siguiente pregunta: Por qu razn el valor que hemos asignado en el cuerpo del programa escrito en C, no corresponde al valor que muestra el registro PORTB, dentro de la ventana WATCH? Una vez respondida la pregunta anterior, sustituya todo lo asociado a PORTB por PORTD, compile, ejecute y observe el valor del registro PORTD dentro de la ventana WATCH.

2.5.7 Simulador. StopWatch


La ventana Stopwatch se utiliza para medir el tiempo que transcurre entre dos puntos de ruptura. Ejecute el siguiente procedimiento para utilizar la ventana StopWatch: En el Men Principal seleccione: Debugger StopWatch. Reacomode las ventanas, de acuerdo a lo aprendido en la seccin 2.6.5. Verifique que dentro de la ventana Stopwatch, el valor asignado a: o Processor Frequency (MHz) es de 4 MHz. Corrija, de ser necesario! Pregunte. Dentro de la barra de herramientas del depurador: Debugger d un clic en el icono Reset.

Ing. Juan Manuel Cobilt Catana / Ing. Vctor Manuel Gmez Salazar

Agosto 2013

6 de 11

Prctica 2 Puertos digitales de salida del microcontrolador PIC 18F4550.

Figura 2-7 Ubicacin del icono Reset dentro de la barra de herramientas del Debugger.

Dentro de la barra de herramientas del depurador, d un clic en el icono Run. Observe que la ejecucin del programa se detiene cuando encuentra el primer punto de ruptura y que en la ventana StopWatch se actualiz el valor del ciclo de instruccin y tiempo transcurrido. D otro clic en el icono Run y observe que la ejecucin del programa se detiene en el segundo punto de ruptura y que se actualizan los valores de la ventana Stopwatch.

Figura 2-8 Dos ejecuciones del comando Run y actualizacin de valores en las ventanas Stopwatch y Watch.

Dentro de la ventana Stopwatch, localice el botn Zero, como se indica en la siguiente figura; y d un clic en l. Observe que los valores abajo de la columna Stopwatch se ponen en cero.

Figura 2-9 Ubicacin del botn Zero dentro de la ventana Stopwatch.

2.5.8 Simulador. Simulator Logic Analyzer.


El analizador de estmulos lgicos le permite ver de manera grfica las seales presentes en las terminales digitales, en un periodo de tiempo definido. El analizador funciona de manera parecida a un osciloscopio, con la ventaja de que podemos ver el estado lgico de todas las terminales del microcontrolador. Ejecute el siguiente procedimiento para usar el Simulator Logic Analyzer. Retire los puntos de ruptura, de acuerdo al siguiente procedimiento: En el Men Principal seleccione: Debugger Breakpoints...
Ing. Juan Manuel Cobilt Catana / Ing. Vctor Manuel Gmez Salazar Agosto 2013 7 de 11

Prctica 2 Puertos digitales de salida del microcontrolador PIC 18F4550.

En la ventana emergente d clic sobre el botn Remove All, finalice con un clic en OK. En el Men Principal seleccione: View Simulator Logic Analyzer Reacomode las ventanas, de acuerdo a lo aprendido en la seccin 2.6.5. Dentro de la ventana Logic Analyzer d clic en el botn Channels. En la columna izquierda de la ventana emergente busque y seleccione RD0 D clic en el botn Add=> Realice el mismo procedimiento para RD1 y RD2. Finalice con un clic en OK.

Figura 2-10 Seleccin de terminales a visualizar en el Simulator Logic analyzer.

Dentro de la barra de herramientas del depurador: Debugger d un clic en el icono Animate.

Figura 2-11 Ubicacin del icono Animate dentro de la barra de herramientas del Debugger.

Ponga atencin en los siguientes aspectos: El movimiento de la flecha verde dentro del editor de textos del programa. La actualizacin del tiempo transcurrido en la ventana Stopwatch. La actualizacin del valor de PORTD en la ventana Watch. La actualizacin de las seales presentes en la ventana Logic Analyzer. Cuando la lnea de tiempo en la ventana Logic Analyzer alcance 200, presione el botn Halt de la barra de herramientas del depurador: Debugger. Si usted sigui el procedimiento acertadamente, tendr en pantalla algo similar a lo que se muestra en la siguiente figura:

Ing. Juan Manuel Cobilt Catana / Ing. Vctor Manuel Gmez Salazar

Agosto 2013

8 de 11

Prctica 2 Puertos digitales de salida del microcontrolador PIC 18F4550.

Figura 2-12 Resultado de la simulacin despus de presionar el icono Halt, ubicado dentro de la barra de herramientas del Debugger.

Maximice el tamao de la ventana Logic Analyzer. Posicione el cursor en la seal cuadrada de RD1 y d un clic derecho con el mouse, y en el men emergente, seleccione Properties. Dentro del men emergente seleccione la pestaa General y en el men expandible para Grid Lines, seleccione NONE. Identifique las partes que tiene la barra de herramientas del Logic Analyzer, como se muestran en la siguiente figura:

Figura 2-13 Identificacin de iconos en la barra de herramientas del Logic Analyzer.

D clic en el botn Zoom (Axes) y posicione el cursor en la lnea de tiempo de la ventana Logic Analyzer. Observe que la forma del cursor cambia a una recta con flechas en ambos extremos. Mantenga presionado el botn izquierdo del mouse, arrstrelo hacia la derecha y observe la manera en que se expande la base de tiempo y las formas de onda. Posicione el cursor junto a RD1. Observe que la forma del cursor tambin cambia a una recta con flechas en ambos extremos.
Agosto 2013 9 de 11

Ing. Juan Manuel Cobilt Catana / Ing. Vctor Manuel Gmez Salazar

Prctica 2 Puertos digitales de salida del microcontrolador PIC 18F4550.

Mantenga presionado el botn izquierdo del mouse, arrstrelo hacia abajo y observe la manera en que se aumenta la altura de las formas de onda. D clic en el botn Scroll (Axes) y posicione el cursor en la lnea de tiempo de la ventana Logic Analyzer. Observe que la forma del cursor cambia para ser una manita que apunta con el ndice. Mantenga presionado el botn izquierdo del mouse, arrstrelo hacia la derecha e izquierda y observe la manera en que se desplaza la base de tiempo y las formas de onda. Posicione el cursor junto a RD1. Observe que la forma del cursor tambin cambia a una manita que apunta con el ndice. Mantenga presionado el botn izquierdo del mouse, arrstrelo hacia abajo y observe el desplazamiento de todas las formas de onda. D clic en el botn Zoom Box y posicione el cursor junto al flanco de subida de la seal cuadrada de RD0. Observe que en el cursor se aadi un cuadrito en el extremo inferior derecho. Mantenga presionado el botn izquierdo del mouse, arrstrelo hacia la derecha e incluya un ciclo completo de cada una de las seales cuadradas. Observe el acercamiento de las seales. D clic en el botn Cursor. Seleccione la lnea vertical izquierda y posicinela en el flanco de subida de la seal RD0. Seleccione la lnea vertical derecha y posicinela en el flanco de bajada de la seal RD0. Observe el cambio que se produce en el nmero contenido en el cuadro. Si todos los pasos se ejecutaron acertadamente, usted tendr en pantalla, algo similar a lo que se muestra en la siguiente figura:

Figura 2-14 Medicin del ancho de pulso en el Logic Analyzer.

Mueva los cursores para confirmar que se cumple: Tiempo de repeticin de la seal (dos flancos de subida consecutivos) Tiempo de duracin del ancho de pulso (un flanco de subida y un flanco de bajada consecutivos)
Ing. Juan Manuel Cobilt Catana / Ing. Vctor Manuel Gmez Salazar

6 ciclos de mquina 4 ciclos de mquina

Agosto 2013

10 de 11

Prctica 2 Puertos digitales de salida del microcontrolador PIC 18F4550.

Tiempo de duracin del ancho de separacin (un flanco de bajada y un flanco de subida consecutivos)

2 ciclos de mquina

FELICIDADES, HA COMPILADO Y SIMULADO EXITOSAMENTE SU PROYECTO EN MPLAB v8.92 Y EN LA VERSIN ESTUDIANTIL DE C18 v3.45 !!!
2.6 Trabajo por realizar.
1. Determine el tiempo que duraran encendidos 8 Leds conectados al puerto B, en las condiciones del programa de la tabla 2-1. 2. Modifique el programa de la tabla 2-1 para que los leds conectados al puerto B permanezcan encendidos al menos un segundo y duren apagados al menos dos segundos. 3. Modifique el programa de la tabla 2-1 para hacer lo siguiente: a. Al iniciar slo enciende el led de RD0, transcurrido un segundo se apaga. b. En el momento en que se apaga el led de RD0, se enciende el led de RD1, transcurridos dos segundos se apaga. c. Cuando se apaga el led de RD1, se enciende el led de RD2, transcurridos tres segundos se apaga. d. Cuando se apaga el led de RD2, se enciende el led de RD3, transcurridos cuatro segundos se apaga. e. Cuando se apaga el led de RD3, se enciende el led de RD4, transcurridos cinco segundos se apaga. f. Cuando se apaga el led de RD4, se enciende el led de RD5, transcurridos seis segundos se apaga. g. Cuando se apaga el led de RD5, se enciende el led de RD6, transcurridos siete segundos se apaga. h. Cuando se apaga el led de RD6, se enciende el led de RD7, transcurridos ocho segundos, se apaga. i. Los leds duran apagados nueve segundos y se encienden todos, quedando encendidos indefinidamente. Cuando finalice SOLICITE EL VoBo Y SELLO DEL PROFESOR.

2.7 Cuestionario
1. Determine el tiempo que tarda en ejecutarse la instruccin de la lnea 16 del programa de la tabla 2-1. 2. Determine el tiempo que transcurre desde la aplicacin de un Reset y la actualizacin del registro TRISB.

2.8 Conclusiones.
Al finalizar la prctica, cada integrante del equipo deber anotar a mano sus conclusiones de lo aprendido.

El reporte se entregar una semana posterior a la fecha en la cual se haya concluido la prctica.
Ing. Juan Manuel Cobilt Catana / Ing. Vctor Manuel Gmez Salazar Agosto 2013 11 de 11