Professional Documents
Culture Documents
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
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
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
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\
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-3 Ventana Watch y PORTB aadido dentro del cuerpo de la ventana.
Figura 2-4 Las ventanas ordenadas y acomodadas. Ing. Juan Manuel Cobilt Catana / Ing. Vctor Manuel Gmez Salazar Agosto 2013 5 de 11
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.
Ing. Juan Manuel Cobilt Catana / Ing. Vctor Manuel Gmez Salazar
Agosto 2013
6 de 11
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.
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-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
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:
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
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:
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
Agosto 2013
10 de 11
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