SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
Ingeniería de Sistemas y Automática   Prácticas de Microcontroladores PIC




        SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS
        PRACTICAS DE MICROCONTROLADORES PIC




PRÁCTICA 10:

                INTERRUPCIONES (II)




    • Ejercicios y ejemplos de la
      interrupción por desbordamiento
      del TIMER0.




                                                                            -1-
Ingeniería de Sistemas y Automática                  Prácticas de Microcontroladores PIC




1. Interrupción por desbordamiento del TIMER0

Para autorizar la interrupción por desbordamiento del TMR0 los bits T0IE y GIE
del registro INTCON deben posicionarse a “1”. En estas condiciones cuando el
temporizador TMR0 se desborda, al pasar de b’11111111’ (FFh) a b’00000000’
(00h), activa el flag T0IF del registro INTCON produciendo una interrupción.

En la práctica 5 vimos que para calcular los tiempos a controlar con el sistema
Timer0 se utiliza la siguiente fórmula:

                 Temporización=T CM · Prescaler · (256-Carga TMR0)

  donde
  •Temporización es el tiempo deseado.
  •TCM es el período de un ciclo máquina. Para 4 MHZ, TCM=1µs.
  •Prescaler es el rango de divisor de frecuencia elegido.
  •(256-Carga TMR0) es el número total de impulsos a contar por el TMR0
  antes de desbordarse en la cuenta ascendente.


A     continuación se expone el código de un programa ejemplo
(Int_T0I_01.asm), donde se explica una forma sencilla de generar ondas
cuadradas, que en caso de conectar un altavoz al pin RB3 produciría un pitido.

Para una reloj de 4 MHz, la onda cuadrada producida tiene una frecuencia de
10kHz (cada semiperiodo dura 50 microsegundos). Estos tiempos de
temporización se logran mediante la interrupción por desbordamiento del
TIMER 0.


EJERCICIO 1:

    a) Crea un proyecto en MPLAB y simula el funcionamiento del programa
       Int_T0I_01.asm.

    b) Utilizando la herramienta StopWatch del Debugger, mide la duración de
       los semiperiodos de la onda cuadrada para el nivel alto y el nivel bajo.




                                                                                           -2-
Ingeniería de Sistemas y Automática                                   Prácticas de Microcontroladores PIC




;************************************Int_T0I_01.asm ************************************
;
;       ===================================================================
;         Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;         E. Palacios, F. Remiro y L. López.
;         Editorial Ra -Ma. www.ra-ma.es
;       ===================================================================
;
; Por la línea 3 del puerto B se gene ra una onda cuadrada de 10 kHz, cada semiperiodo dura
; 50 µs. Los tiempos de temporización se lograrán mediante la interrupción por desbordamiento
; del Timer 0. A la línea de salida se puede conectar un altavoz que producirá un pitido.
;
; ZONA DE DATOS **********************************************************************

         __CONFIG  _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
         LIST      P=16F84A
         INCLUDE <P16F84A.INC>

         CBLOCK   0x0C
         ENDC

TMR0_Carga50us    EQU      -d'50'
#DEFINE           Salida   PORTB,3

; ZONA DE CÓDIGOS ********************************************************************

         ORG      0
         goto     Inicio
         ORG      4                       ; Vector de interrupción.
         goto     Timer0_Interrupcion
Inicio
         bsf      STATUS,RP0              ; Acceso al Banco 1.
         bcf      Salida                  ; Línea configurada como salida.
         movlw    b'00001000'
         movwf    OPTION_REG              ; Sin prescaler para TMR0 (se asigna al Watchdog).
         bcf      STATUS,RP0              ; Acceso al Banco 0.
         movlw    TMR0_Carga50us          ; Carga el TMR0.
         movwf    TMR0
         movlw    b'10100000'
         movwf    INTCON                  ; Autoriza interrupción T0I y la general (GIE).
Principal                                         ; No puede pasar a modo de bajo consumo
         goto     $                       ; porque detendría el Timer 0.

; Subrutina "Timer0_Interrupcion" -------------------------------------------------------
;
; Como el PIC trabaja a una frecuencia de 4 MHz el TMR0 evoluciona cad a microsegundo. Para
; conseguir un retardo de 50 µs con un prescaler de 1 el TMR0 tiene que contar 50 impulsos.
; Efectivamente: 1 µs x 50 x 1 = 50 µs.
;
Timer0_Interrupcion
         movlw   TMR0_Carga50us
         movwf   TMR0                     ; Recarga el timer TMR0.
         btfsc   Salida                   ; Testea el anterior estado de la salida.
         goto    EstabaAlto
EstabaBajo
         bsf     Salida                   ; Estaba bajo y lo pasa a alto.
         goto    FinInterrupcion
EstabaAlto
         bcf     Salida                   ; Estaba alto y lo pasa a bajo.
FinInterrupcion
         bcf     INTCON,T0IF              ; Repone flag del TMR0.
         retfie

; Comprobando con el simulador del MPLAB se obtienen unos tiempos para la onda cuadrada de
; 56 µs para el nivel alto y de 55 µs para el bajo.

         END




                                                                                                            -3-
Ingeniería de Sistemas y Automática                 Prácticas de Microcontroladores PIC




2. TEMPORIZACIONES EXACTAS

En caso de requerir temporizaciones exactas, hay que tener en cuenta el
tiempo de ejecución de las instrucciones y de los saltos. El valor de carga del
TMR0 será algo menor y habrá que hacer un ajuste fino con instrucciones nop.

Esto normalmente se realiza experimentalmente utilizando el simulador MPLAB
y el reloj de la ventana (StopWatch) del Debugger.

El programa ejemplo Int_T0I_02.asm genera una señal cuadrada de 10kHz,
pero en esta ocasión calculada con exactitud.

EJERCICIO 2:

    a) Crea un proyecto en MPLAB y simula el funcionamiento del programa
       Int_T0I_02.asm.

    b) Utilizando la herramienta StopWatch del Debugger, mide la duración de
       los semiperiodos de la onda cuadrada para el nivel alto y el nivel bajo.




                                                                                          -4-
Ingeniería de Sistemas y Automática                                     Prácticas de Microcontroladores PIC




;************************************ Int_T0I_02.asm ************************************
;
;        ===================================================================
;          Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;          E. Palacios, F. Remiro y L. López.
;          Editorial Ra -Ma. www.ra-ma.es
;        ===================================================================
;
; Por la línea 3 del puerto B se genera una onda cuadrada de 10 kHz. Cada semiperiodo dura
; 50 µs exactos. Los tiempos de temporización se lograrán mediante la interrupción del
; Timer 0. A la línea de salida se puede conectar un altavoz que producirá un pitido.
;
; El cálculo de la carga del TMR0 se realiza teniendo en cuenta los tiempos que tardan en
; ejecutarse las instrucciones y saltos para conseguir tiempos exactos. Para calcular el v alor
; de carga del TMR0 se ayuda del simulador del MPLAB y de la ventana de reloj Stopwatch.
;
; ZONA DE DATOS **********************************************************************

          __CONFIG  _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
          LIST      P=16F84A
          INCLUDE <P16F84A.INC>

          CBLOCK   0x0C
          ENDC

TMR0_Carga50us     EQU       -d'43'         ; Obtenido experimentalmente con ayuda del
#DEFINE Salida     PORTB,3                  ; simulador del MPLAB.

; ZONA DE CÓDIGOS ********************************************************************

          ORG      0
          goto     Inicio
          ORG      4                        ; Vector de interrupción.
          goto     Timer0_Interrupcion
Inicio
         bsf       STATUS,RP0               ; Acceso al Banco 1.
         bcf       Salida                   ; Esta línea se configura como salida.
         movlw     b'00001000'
         movwf     OPTION_REG               ; Sin prescaler para TMR0 (se asigna al Watchdog).
         bcf       STATUS,RP0               ; Acceso al Banco 0.
         movlw     TMR0_Carga50us           ; Carga el TMR0.
         movwf     TMR0
         movlw     b'10100000'
         movwf     INTCON                   ; Autoriza interrupción T0I y la general (GIE).
Principal                                            ; No puede pasar a modo de bajo consumo
         goto      $                        ; porqu e detendría el Timer 0.

;   Subrutina "Timer0_Interrupcion" -------------------------------------------------------
;
;   Como el PIC trabaja a una frecuencia de 4 MHz el TMR0 evoluciona cada microsegundo. Para
;   conseguir un retardo de 50 microsegundos con un prescaler de 1 el TMR0 tiene que contar
;   43 impulsos. Efectivamente: 1µs x 1 x 43 + tiempo de los saltos y otros = 50 µs.
;
;   Las instrucciones "nop" se ponen para ajustar el tiempo a 50 µs exacto y lograr una onda
;   cuadrada perfecta. El simulador del MPLAB comprueba unos tiempos para la onda cuadrada de
;   10 kHz exactos de 50 µs para el nivel alto y otros 50 µs para el bajo.

Timer0_Interrupcion
         nop
         movlw   TMR0_Carga50us
         movwf   TMR0                       ; Recarga el TMR0.
         btfsc   Salida                     ; Testea el anterior estado de la salida.
         goto    EstabaAlto
EstabaBajo
         nop
         bsf     Salida                     ; Estaba bajo y lo pasa a alto.
         goto    FinInterrupcion
EstabaAlto
         bcf     Salida                     ; Estaba alto y lo pasa a bajo.
FinInterrupcion
         bcf     INTCON,T0IF                ; Repone flag del TMR0.
         retfie                             ; Retorno de interrupción

          END

;         ===================================================================
;           Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;           E. Palacios, F. Remiro y L. López.
;           Editorial Ra -Ma. www.ra-ma.es
;         =================== ================================================




                                                                                                              -5-
Ingeniería de Sistemas y Automática                       Prácticas de Microcontroladores PIC




3. TEMPORIZACIONES LARGAS

Con la máxima división de frecuencia posible (prescaler=256) la temporización
máxima que se puede conseguir para un circuito con cristal de cuarzo de 4MHz
es para una (Carga TMR0=0) igual a:

           Temporización=T CM · Prescaler · (256-Carga TMR0)
     Temporización = 1 · 256 · (256 - 0) = 65536 microsegundos = 65 ms


Para lograr temporizaciones de tiempo mayores hay que utilizar un registro
auxiliar de la forma que se explica en el programa ejemplo Int_T0I_03.asm

EJERCICIO 3:
    a) En el ejemplo Int_T0I_03.ASM un led conectado al bit 1 de PORTB
       (RB1, configurado como salida) se enciende durante 500ms y se apaga
       durante otros 500ms. Para conseguir la temporización de 500 ms, se
       repite 10 veces un lazo de 50 ms.

    Modifica el programa Int_T0I_03.ASM para que funcione sobre la tarjeta
    EasyPIC con el microcontrolador PIC16F877A y que la intermitencia del
    LED sea de 500ms. Recuerda que en la tarjeta EasyPIC, el oscilador tiene
    una f ecuencia de 8MHz, por lo tanto la interrupción del Timer0 ocurrirá
         r
    cada 25 ms.


    Cambios a realizar en el código:

                                       Int_T0I_03.ASM             Int_T0I_03.ASM
                                         Según el libro           Para la EasyPIC
    Modelo de microcontrolador:           16F84A                     16F877A
    Tipo de reloj                            XT                          HS
    Posición de        la   variable       0x0C                         0x20
    Registro50ms

    Temporización                       Freloj=4MHz                 Freloj=8MHz

                                         500ms                        500ms
                                        10 x 50ms                    20 x 25ms



    b) Comprueba el funcionamiento de tu programa en la tarjeta EasyPIC.




                                                                                                -6-
Ingeniería de Sistemas y Automática                 Prácticas de Microcontroladores PIC




EJERCICIO 4:
    a) En el ejemplo Int_T0I_04.ASM un led conectado al bit 1 de PORTB
       (RB1, configurado como salida) se enciende durante 800ms y se apaga
       durante otros 500ms.

        Modifica el programa Int_T0I_04.ASM para que funcione sobre la tarjeta
        EasyPIC con el microcontrolador PIC16F877A. Ten en cuenta los
        cambios a realizar que se detallan en la tabla del ejercicio 3.

    b) Comprueba el funcionamiento de tu programa en la tarjeta EasyPIC.

EJERCICIO 5:
    a) En el ejemplo Int_T0I_05.ASM se visualiza constantemente en el
       módulo LCD un mensaje largo que desplaza por la pantalla. Al mismo
       tiempo, un led conectado al bit 1 de PORTB (RB1, configurado como
       salida) se enciende durante 500ms y se apaga durante otros 500ms.

        Modifica el programa Int_T0I_05.ASM para que funcione sobre la tarjeta
        EasyPIC con el microcontrolador PIC16F877A. Ten en cuenta los
        cambios a realizar que se detallan en la tabla del ejercicio 3.


    b) Comprueba el funcionamiento de tu programa en la tarjeta EasyPIC .

EJERCICIO 6:
    a) Int_Reloj_01.ASM es un programa para un reloj digital en tiempo real
       sin puesta en hora. Se visualiza en el formato: “08:47:39”. Las
       temporizaciones necesarias del reloj se logran mediante el Timer0, que
       produce una interrupción cada 50 ms.

        Modifica el programa Int_ Reloj_01.ASM para que funcione sobre la
        tarjeta EasyPIC con el microcontrolador PIC16F877A. Introduce sólo
        los cambios relativos al Modelo de microcontrolador, Tipo de reloj y
        Posición de las variables.


    b) Comprueba el funcionamiento de tu programa en la tarjeta EasyPIC . El
       reloj funcionará más rápido (1 segundo de la pantalla equivale a 0.5
       segundo reales) puesto que en la tarjeta EasyPIC el oscilador tiene una
       frecuencia de 8MHz.




                                                                                          -7-

Más contenido relacionado

La actualidad más candente

Ejemplos 4to Examen Mci
Ejemplos 4to Examen MciEjemplos 4to Examen Mci
Ejemplos 4to Examen MciLuis Zurita
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Luis Zurita
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2Luis Zurita
 
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4Luis Zurita
 
Curso Micro Tema 3
Curso Micro Tema 3Curso Micro Tema 3
Curso Micro Tema 3Luis Zurita
 
Guía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesGuía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesLuis Zurita
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersmarco calderon layme
 
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...SANTIAGO PABLO ALBERTO
 
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorLab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorDaniel Pardo
 
Curso Micro Tema 3 2
Curso Micro Tema 3 2Curso Micro Tema 3 2
Curso Micro Tema 3 2Luis Zurita
 
Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Hamiltonn Casallas
 
Microcontroladores ii en c. tema 4
Microcontroladores ii en c. tema 4Microcontroladores ii en c. tema 4
Microcontroladores ii en c. tema 4Luis Zurita
 
PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosEduardo Henriquez
 
4. interrupciones y temporizadores
4. interrupciones y temporizadores4. interrupciones y temporizadores
4. interrupciones y temporizadoresDavid Narváez
 
Examen 4 intensivo micro
Examen 4 intensivo microExamen 4 intensivo micro
Examen 4 intensivo microLuis Zurita
 
Uso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorUso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorLuis Zurita
 
MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3Luis Zurita
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Luis Zurita
 

La actualidad más candente (20)

Ccp2009170309
Ccp2009170309Ccp2009170309
Ccp2009170309
 
Ejemplos 4to Examen Mci
Ejemplos 4to Examen MciEjemplos 4to Examen Mci
Ejemplos 4to Examen Mci
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2
 
Micro2 tema 3
Micro2 tema 3Micro2 tema 3
Micro2 tema 3
 
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
 
Curso Micro Tema 3
Curso Micro Tema 3Curso Micro Tema 3
Curso Micro Tema 3
 
Guía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesGuía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupciones
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timers
 
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
 
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorLab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
 
Curso Micro Tema 3 2
Curso Micro Tema 3 2Curso Micro Tema 3 2
Curso Micro Tema 3 2
 
Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05
 
Microcontroladores ii en c. tema 4
Microcontroladores ii en c. tema 4Microcontroladores ii en c. tema 4
Microcontroladores ii en c. tema 4
 
PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros Involucrados
 
4. interrupciones y temporizadores
4. interrupciones y temporizadores4. interrupciones y temporizadores
4. interrupciones y temporizadores
 
Examen 4 intensivo micro
Examen 4 intensivo microExamen 4 intensivo micro
Examen 4 intensivo micro
 
Uso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorUso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensamblador
 
MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2
 

Destacado

Contador ascendente con interruptor pic16f877a
Contador ascendente con interruptor pic16f877aContador ascendente con interruptor pic16f877a
Contador ascendente con interruptor pic16f877abus3
 
Hardware de un smartphone Procesadores
Hardware de un smartphone ProcesadoresHardware de un smartphone Procesadores
Hardware de un smartphone ProcesadoresYamil Lambert
 
Declaraciones Con El Microcontrolador Pic16 F877 A
Declaraciones Con El Microcontrolador Pic16 F877 ADeclaraciones Con El Microcontrolador Pic16 F877 A
Declaraciones Con El Microcontrolador Pic16 F877 ACristianAlban
 
04 Estructura de Buses Compartidos en Microcomputadoras
04 Estructura de Buses Compartidos en Microcomputadoras04 Estructura de Buses Compartidos en Microcomputadoras
04 Estructura de Buses Compartidos en MicrocomputadorasJaime E. Velarde
 
Control espacio estados
Control espacio estadosControl espacio estados
Control espacio estadososhikuru23
 
Familia de procesadores ARM
Familia de procesadores ARMFamilia de procesadores ARM
Familia de procesadores ARMDan Huerta
 
Display de cristal líquido grágico GLCD
Display de cristal líquido grágico GLCDDisplay de cristal líquido grágico GLCD
Display de cristal líquido grágico GLCDJaime E. Velarde
 
Guia referencia rapida mikro c
Guia referencia rapida mikro cGuia referencia rapida mikro c
Guia referencia rapida mikro crjmg170186
 
Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Anllel Cardenas Yllanes
 
Ingenieria de control w bolton
Ingenieria de control w boltonIngenieria de control w bolton
Ingenieria de control w boltonMaGuArGu
 
Programming with PIC microcontroller
Programming with PIC microcontroller Programming with PIC microcontroller
Programming with PIC microcontroller Raghav Shetty
 

Destacado (20)

Timer 0 - Pic16F877A
Timer 0 - Pic16F877ATimer 0 - Pic16F877A
Timer 0 - Pic16F877A
 
Contador ascendente con interruptor pic16f877a
Contador ascendente con interruptor pic16f877aContador ascendente con interruptor pic16f877a
Contador ascendente con interruptor pic16f877a
 
Clase instrucciones PIC16F877A
Clase instrucciones PIC16F877AClase instrucciones PIC16F877A
Clase instrucciones PIC16F877A
 
Hardware de un smartphone Procesadores
Hardware de un smartphone ProcesadoresHardware de un smartphone Procesadores
Hardware de un smartphone Procesadores
 
Arquitecura
ArquitecuraArquitecura
Arquitecura
 
Declaraciones Con El Microcontrolador Pic16 F877 A
Declaraciones Con El Microcontrolador Pic16 F877 ADeclaraciones Con El Microcontrolador Pic16 F877 A
Declaraciones Con El Microcontrolador Pic16 F877 A
 
Bus datos
Bus datosBus datos
Bus datos
 
04 Estructura de Buses Compartidos en Microcomputadoras
04 Estructura de Buses Compartidos en Microcomputadoras04 Estructura de Buses Compartidos en Microcomputadoras
04 Estructura de Buses Compartidos en Microcomputadoras
 
Control espacio estados
Control espacio estadosControl espacio estados
Control espacio estados
 
Familia de procesadores ARM
Familia de procesadores ARMFamilia de procesadores ARM
Familia de procesadores ARM
 
Display de cristal líquido grágico GLCD
Display de cristal líquido grágico GLCDDisplay de cristal líquido grágico GLCD
Display de cristal líquido grágico GLCD
 
Guia referencia rapida mikro c
Guia referencia rapida mikro cGuia referencia rapida mikro c
Guia referencia rapida mikro c
 
Laboratorio 2 fisica iii
Laboratorio 2 fisica iii Laboratorio 2 fisica iii
Laboratorio 2 fisica iii
 
Clase Timer 1
Clase Timer 1Clase Timer 1
Clase Timer 1
 
Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887
 
Libro mikro c
Libro mikro cLibro mikro c
Libro mikro c
 
Laboratorio 3 .fisica iii
Laboratorio 3  .fisica iii Laboratorio 3  .fisica iii
Laboratorio 3 .fisica iii
 
Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler
 
Ingenieria de control w bolton
Ingenieria de control w boltonIngenieria de control w bolton
Ingenieria de control w bolton
 
Programming with PIC microcontroller
Programming with PIC microcontroller Programming with PIC microcontroller
Programming with PIC microcontroller
 

Similar a In terrupciones pic

Ejemplo varias interrupciones
Ejemplo varias interrupcionesEjemplo varias interrupciones
Ejemplo varias interrupcionesLuis Zurita
 
Examen micros t1_06_solucion
Examen micros t1_06_solucionExamen micros t1_06_solucion
Examen micros t1_06_solucionJair BG
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Hamiltonn Casallas
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesiDavid Narváez
 
TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"Diego Rojas Ruiz
 
Lab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfLab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfsopitamani1
 
Módulos ccp pic 16f887
Módulos ccp pic 16f887Módulos ccp pic 16f887
Módulos ccp pic 16f887whendygarcia
 
Funcionamiento del Timer 0
Funcionamiento del Timer 0Funcionamiento del Timer 0
Funcionamiento del Timer 0Jaime E. Velarde
 
Introducpic2
Introducpic2Introducpic2
Introducpic2conalep
 
Introducpic
IntroducpicIntroducpic
Introducpicconalep
 
Manejo de Puertos PIC
Manejo de Puertos PICManejo de Puertos PIC
Manejo de Puertos PICSawy G
 
Compare capture pwm mode 5
Compare capture pwm mode 5Compare capture pwm mode 5
Compare capture pwm mode 5georgemanson69
 

Similar a In terrupciones pic (20)

Uso del tmr0
Uso del tmr0Uso del tmr0
Uso del tmr0
 
Ejemplo varias interrupciones
Ejemplo varias interrupcionesEjemplo varias interrupciones
Ejemplo varias interrupciones
 
Examen micros t1_06_solucion
Examen micros t1_06_solucionExamen micros t1_06_solucion
Examen micros t1_06_solucion
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"
 
Timer0
Timer0Timer0
Timer0
 
Ejercicio 07 Timers
Ejercicio 07 TimersEjercicio 07 Timers
Ejercicio 07 Timers
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Pwm
PwmPwm
Pwm
 
Lab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfLab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdf
 
Módulos ccp pic 16f887
Módulos ccp pic 16f887Módulos ccp pic 16f887
Módulos ccp pic 16f887
 
Funcionamiento del Timer 0
Funcionamiento del Timer 0Funcionamiento del Timer 0
Funcionamiento del Timer 0
 
Introducpic2
Introducpic2Introducpic2
Introducpic2
 
Introducpic
IntroducpicIntroducpic
Introducpic
 
Manejo de Puertos PIC
Manejo de Puertos PICManejo de Puertos PIC
Manejo de Puertos PIC
 
Compare capture pwm mode 5
Compare capture pwm mode 5Compare capture pwm mode 5
Compare capture pwm mode 5
 

Más de Arquitecto bogota

Mercadoavanzado.blogspot.com 2010 06-01_archive.html
Mercadoavanzado.blogspot.com 2010 06-01_archive.htmlMercadoavanzado.blogspot.com 2010 06-01_archive.html
Mercadoavanzado.blogspot.com 2010 06-01_archive.htmlArquitecto bogota
 
Gestion de proyectos sesion 2
Gestion de proyectos sesion  2Gestion de proyectos sesion  2
Gestion de proyectos sesion 2Arquitecto bogota
 
Gestion de proyectos sesion 3
Gestion de proyectos sesion 3Gestion de proyectos sesion 3
Gestion de proyectos sesion 3Arquitecto bogota
 
Keencode.blogspot.com 2012-04-how-boot-mhdd-from-usb-device.html enter-url-lo...
Keencode.blogspot.com 2012-04-how-boot-mhdd-from-usb-device.html enter-url-lo...Keencode.blogspot.com 2012-04-how-boot-mhdd-from-usb-device.html enter-url-lo...
Keencode.blogspot.com 2012-04-how-boot-mhdd-from-usb-device.html enter-url-lo...Arquitecto bogota
 
Www.hiren.info pages-bootcd-on-usb-disk
Www.hiren.info pages-bootcd-on-usb-diskWww.hiren.info pages-bootcd-on-usb-disk
Www.hiren.info pages-bootcd-on-usb-diskArquitecto bogota
 
Abc del pot(finalísimo-feb-23-09)erg
Abc del pot(finalísimo-feb-23-09)ergAbc del pot(finalísimo-feb-23-09)erg
Abc del pot(finalísimo-feb-23-09)ergArquitecto bogota
 
Proyectos culturales marco_logico
Proyectos culturales marco_logicoProyectos culturales marco_logico
Proyectos culturales marco_logicoArquitecto bogota
 
Recuperación del patrimonio cultural y urbano como recurso turistico
Recuperación del patrimonio cultural y urbano como recurso turisticoRecuperación del patrimonio cultural y urbano como recurso turistico
Recuperación del patrimonio cultural y urbano como recurso turisticoArquitecto bogota
 
Patrimonialización, construcción de identidades puerto santander y meta
Patrimonialización, construcción de identidades puerto santander y metaPatrimonialización, construcción de identidades puerto santander y meta
Patrimonialización, construcción de identidades puerto santander y metaArquitecto bogota
 
Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581
Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581
Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581Arquitecto bogota
 
Turismo y desarrollo en el caribe colombiano
Turismo y desarrollo en el caribe colombianoTurismo y desarrollo en el caribe colombiano
Turismo y desarrollo en el caribe colombianoArquitecto bogota
 
Turismo y desarrollo en el caribe colombiano
Turismo y desarrollo en el caribe colombianoTurismo y desarrollo en el caribe colombiano
Turismo y desarrollo en el caribe colombianoArquitecto bogota
 
Min comercio politicaturismoyartesanias2009
Min comercio politicaturismoyartesanias2009Min comercio politicaturismoyartesanias2009
Min comercio politicaturismoyartesanias2009Arquitecto bogota
 

Más de Arquitecto bogota (20)

civil primer semestre.pptx
civil primer semestre.pptxcivil primer semestre.pptx
civil primer semestre.pptx
 
Lamparas
LamparasLamparas
Lamparas
 
Pdf slide show
Pdf slide showPdf slide show
Pdf slide show
 
Mercadoavanzado.blogspot.com 2010 06-01_archive.html
Mercadoavanzado.blogspot.com 2010 06-01_archive.htmlMercadoavanzado.blogspot.com 2010 06-01_archive.html
Mercadoavanzado.blogspot.com 2010 06-01_archive.html
 
Gestion de proyectos sesion 2
Gestion de proyectos sesion  2Gestion de proyectos sesion  2
Gestion de proyectos sesion 2
 
Gestion de proyectos sesion 3
Gestion de proyectos sesion 3Gestion de proyectos sesion 3
Gestion de proyectos sesion 3
 
Gestion de proyectos
Gestion de proyectosGestion de proyectos
Gestion de proyectos
 
Test disk paso_a_paso
Test disk paso_a_pasoTest disk paso_a_paso
Test disk paso_a_paso
 
Keencode.blogspot.com 2012-04-how-boot-mhdd-from-usb-device.html enter-url-lo...
Keencode.blogspot.com 2012-04-how-boot-mhdd-from-usb-device.html enter-url-lo...Keencode.blogspot.com 2012-04-how-boot-mhdd-from-usb-device.html enter-url-lo...
Keencode.blogspot.com 2012-04-how-boot-mhdd-from-usb-device.html enter-url-lo...
 
Www.hiren.info pages-bootcd-on-usb-disk
Www.hiren.info pages-bootcd-on-usb-diskWww.hiren.info pages-bootcd-on-usb-disk
Www.hiren.info pages-bootcd-on-usb-disk
 
Abc del pot(finalísimo-feb-23-09)erg
Abc del pot(finalísimo-feb-23-09)ergAbc del pot(finalísimo-feb-23-09)erg
Abc del pot(finalísimo-feb-23-09)erg
 
Sprites en snes
Sprites en snesSprites en snes
Sprites en snes
 
Documentacion sd
Documentacion sdDocumentacion sd
Documentacion sd
 
Proyectos culturales marco_logico
Proyectos culturales marco_logicoProyectos culturales marco_logico
Proyectos culturales marco_logico
 
Recuperación del patrimonio cultural y urbano como recurso turistico
Recuperación del patrimonio cultural y urbano como recurso turisticoRecuperación del patrimonio cultural y urbano como recurso turistico
Recuperación del patrimonio cultural y urbano como recurso turistico
 
Patrimonialización, construcción de identidades puerto santander y meta
Patrimonialización, construcción de identidades puerto santander y metaPatrimonialización, construcción de identidades puerto santander y meta
Patrimonialización, construcción de identidades puerto santander y meta
 
Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581
Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581
Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581
 
Turismo y desarrollo en el caribe colombiano
Turismo y desarrollo en el caribe colombianoTurismo y desarrollo en el caribe colombiano
Turismo y desarrollo en el caribe colombiano
 
Turismo y desarrollo en el caribe colombiano
Turismo y desarrollo en el caribe colombianoTurismo y desarrollo en el caribe colombiano
Turismo y desarrollo en el caribe colombiano
 
Min comercio politicaturismoyartesanias2009
Min comercio politicaturismoyartesanias2009Min comercio politicaturismoyartesanias2009
Min comercio politicaturismoyartesanias2009
 

In terrupciones pic

  • 1. Ingeniería de Sistemas y Automática Prácticas de Microcontroladores PIC SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS PRACTICAS DE MICROCONTROLADORES PIC PRÁCTICA 10: INTERRUPCIONES (II) • Ejercicios y ejemplos de la interrupción por desbordamiento del TIMER0. -1-
  • 2. Ingeniería de Sistemas y Automática Prácticas de Microcontroladores PIC 1. Interrupción por desbordamiento del TIMER0 Para autorizar la interrupción por desbordamiento del TMR0 los bits T0IE y GIE del registro INTCON deben posicionarse a “1”. En estas condiciones cuando el temporizador TMR0 se desborda, al pasar de b’11111111’ (FFh) a b’00000000’ (00h), activa el flag T0IF del registro INTCON produciendo una interrupción. En la práctica 5 vimos que para calcular los tiempos a controlar con el sistema Timer0 se utiliza la siguiente fórmula: Temporización=T CM · Prescaler · (256-Carga TMR0) donde •Temporización es el tiempo deseado. •TCM es el período de un ciclo máquina. Para 4 MHZ, TCM=1µs. •Prescaler es el rango de divisor de frecuencia elegido. •(256-Carga TMR0) es el número total de impulsos a contar por el TMR0 antes de desbordarse en la cuenta ascendente. A continuación se expone el código de un programa ejemplo (Int_T0I_01.asm), donde se explica una forma sencilla de generar ondas cuadradas, que en caso de conectar un altavoz al pin RB3 produciría un pitido. Para una reloj de 4 MHz, la onda cuadrada producida tiene una frecuencia de 10kHz (cada semiperiodo dura 50 microsegundos). Estos tiempos de temporización se logran mediante la interrupción por desbordamiento del TIMER 0. EJERCICIO 1: a) Crea un proyecto en MPLAB y simula el funcionamiento del programa Int_T0I_01.asm. b) Utilizando la herramienta StopWatch del Debugger, mide la duración de los semiperiodos de la onda cuadrada para el nivel alto y el nivel bajo. -2-
  • 3. Ingeniería de Sistemas y Automática Prácticas de Microcontroladores PIC ;************************************Int_T0I_01.asm ************************************ ; ; =================================================================== ; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" ; E. Palacios, F. Remiro y L. López. ; Editorial Ra -Ma. www.ra-ma.es ; =================================================================== ; ; Por la línea 3 del puerto B se gene ra una onda cuadrada de 10 kHz, cada semiperiodo dura ; 50 µs. Los tiempos de temporización se lograrán mediante la interrupción por desbordamiento ; del Timer 0. A la línea de salida se puede conectar un altavoz que producirá un pitido. ; ; ZONA DE DATOS ********************************************************************** __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC LIST P=16F84A INCLUDE <P16F84A.INC> CBLOCK 0x0C ENDC TMR0_Carga50us EQU -d'50' #DEFINE Salida PORTB,3 ; ZONA DE CÓDIGOS ******************************************************************** ORG 0 goto Inicio ORG 4 ; Vector de interrupción. goto Timer0_Interrupcion Inicio bsf STATUS,RP0 ; Acceso al Banco 1. bcf Salida ; Línea configurada como salida. movlw b'00001000' movwf OPTION_REG ; Sin prescaler para TMR0 (se asigna al Watchdog). bcf STATUS,RP0 ; Acceso al Banco 0. movlw TMR0_Carga50us ; Carga el TMR0. movwf TMR0 movlw b'10100000' movwf INTCON ; Autoriza interrupción T0I y la general (GIE). Principal ; No puede pasar a modo de bajo consumo goto $ ; porque detendría el Timer 0. ; Subrutina "Timer0_Interrupcion" ------------------------------------------------------- ; ; Como el PIC trabaja a una frecuencia de 4 MHz el TMR0 evoluciona cad a microsegundo. Para ; conseguir un retardo de 50 µs con un prescaler de 1 el TMR0 tiene que contar 50 impulsos. ; Efectivamente: 1 µs x 50 x 1 = 50 µs. ; Timer0_Interrupcion movlw TMR0_Carga50us movwf TMR0 ; Recarga el timer TMR0. btfsc Salida ; Testea el anterior estado de la salida. goto EstabaAlto EstabaBajo bsf Salida ; Estaba bajo y lo pasa a alto. goto FinInterrupcion EstabaAlto bcf Salida ; Estaba alto y lo pasa a bajo. FinInterrupcion bcf INTCON,T0IF ; Repone flag del TMR0. retfie ; Comprobando con el simulador del MPLAB se obtienen unos tiempos para la onda cuadrada de ; 56 µs para el nivel alto y de 55 µs para el bajo. END -3-
  • 4. Ingeniería de Sistemas y Automática Prácticas de Microcontroladores PIC 2. TEMPORIZACIONES EXACTAS En caso de requerir temporizaciones exactas, hay que tener en cuenta el tiempo de ejecución de las instrucciones y de los saltos. El valor de carga del TMR0 será algo menor y habrá que hacer un ajuste fino con instrucciones nop. Esto normalmente se realiza experimentalmente utilizando el simulador MPLAB y el reloj de la ventana (StopWatch) del Debugger. El programa ejemplo Int_T0I_02.asm genera una señal cuadrada de 10kHz, pero en esta ocasión calculada con exactitud. EJERCICIO 2: a) Crea un proyecto en MPLAB y simula el funcionamiento del programa Int_T0I_02.asm. b) Utilizando la herramienta StopWatch del Debugger, mide la duración de los semiperiodos de la onda cuadrada para el nivel alto y el nivel bajo. -4-
  • 5. Ingeniería de Sistemas y Automática Prácticas de Microcontroladores PIC ;************************************ Int_T0I_02.asm ************************************ ; ; =================================================================== ; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" ; E. Palacios, F. Remiro y L. López. ; Editorial Ra -Ma. www.ra-ma.es ; =================================================================== ; ; Por la línea 3 del puerto B se genera una onda cuadrada de 10 kHz. Cada semiperiodo dura ; 50 µs exactos. Los tiempos de temporización se lograrán mediante la interrupción del ; Timer 0. A la línea de salida se puede conectar un altavoz que producirá un pitido. ; ; El cálculo de la carga del TMR0 se realiza teniendo en cuenta los tiempos que tardan en ; ejecutarse las instrucciones y saltos para conseguir tiempos exactos. Para calcular el v alor ; de carga del TMR0 se ayuda del simulador del MPLAB y de la ventana de reloj Stopwatch. ; ; ZONA DE DATOS ********************************************************************** __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC LIST P=16F84A INCLUDE <P16F84A.INC> CBLOCK 0x0C ENDC TMR0_Carga50us EQU -d'43' ; Obtenido experimentalmente con ayuda del #DEFINE Salida PORTB,3 ; simulador del MPLAB. ; ZONA DE CÓDIGOS ******************************************************************** ORG 0 goto Inicio ORG 4 ; Vector de interrupción. goto Timer0_Interrupcion Inicio bsf STATUS,RP0 ; Acceso al Banco 1. bcf Salida ; Esta línea se configura como salida. movlw b'00001000' movwf OPTION_REG ; Sin prescaler para TMR0 (se asigna al Watchdog). bcf STATUS,RP0 ; Acceso al Banco 0. movlw TMR0_Carga50us ; Carga el TMR0. movwf TMR0 movlw b'10100000' movwf INTCON ; Autoriza interrupción T0I y la general (GIE). Principal ; No puede pasar a modo de bajo consumo goto $ ; porqu e detendría el Timer 0. ; Subrutina "Timer0_Interrupcion" ------------------------------------------------------- ; ; Como el PIC trabaja a una frecuencia de 4 MHz el TMR0 evoluciona cada microsegundo. Para ; conseguir un retardo de 50 microsegundos con un prescaler de 1 el TMR0 tiene que contar ; 43 impulsos. Efectivamente: 1µs x 1 x 43 + tiempo de los saltos y otros = 50 µs. ; ; Las instrucciones "nop" se ponen para ajustar el tiempo a 50 µs exacto y lograr una onda ; cuadrada perfecta. El simulador del MPLAB comprueba unos tiempos para la onda cuadrada de ; 10 kHz exactos de 50 µs para el nivel alto y otros 50 µs para el bajo. Timer0_Interrupcion nop movlw TMR0_Carga50us movwf TMR0 ; Recarga el TMR0. btfsc Salida ; Testea el anterior estado de la salida. goto EstabaAlto EstabaBajo nop bsf Salida ; Estaba bajo y lo pasa a alto. goto FinInterrupcion EstabaAlto bcf Salida ; Estaba alto y lo pasa a bajo. FinInterrupcion bcf INTCON,T0IF ; Repone flag del TMR0. retfie ; Retorno de interrupción END ; =================================================================== ; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" ; E. Palacios, F. Remiro y L. López. ; Editorial Ra -Ma. www.ra-ma.es ; =================== ================================================ -5-
  • 6. Ingeniería de Sistemas y Automática Prácticas de Microcontroladores PIC 3. TEMPORIZACIONES LARGAS Con la máxima división de frecuencia posible (prescaler=256) la temporización máxima que se puede conseguir para un circuito con cristal de cuarzo de 4MHz es para una (Carga TMR0=0) igual a: Temporización=T CM · Prescaler · (256-Carga TMR0) Temporización = 1 · 256 · (256 - 0) = 65536 microsegundos = 65 ms Para lograr temporizaciones de tiempo mayores hay que utilizar un registro auxiliar de la forma que se explica en el programa ejemplo Int_T0I_03.asm EJERCICIO 3: a) En el ejemplo Int_T0I_03.ASM un led conectado al bit 1 de PORTB (RB1, configurado como salida) se enciende durante 500ms y se apaga durante otros 500ms. Para conseguir la temporización de 500 ms, se repite 10 veces un lazo de 50 ms. Modifica el programa Int_T0I_03.ASM para que funcione sobre la tarjeta EasyPIC con el microcontrolador PIC16F877A y que la intermitencia del LED sea de 500ms. Recuerda que en la tarjeta EasyPIC, el oscilador tiene una f ecuencia de 8MHz, por lo tanto la interrupción del Timer0 ocurrirá r cada 25 ms. Cambios a realizar en el código: Int_T0I_03.ASM Int_T0I_03.ASM Según el libro Para la EasyPIC Modelo de microcontrolador: 16F84A 16F877A Tipo de reloj XT HS Posición de la variable 0x0C 0x20 Registro50ms Temporización Freloj=4MHz Freloj=8MHz 500ms 500ms 10 x 50ms 20 x 25ms b) Comprueba el funcionamiento de tu programa en la tarjeta EasyPIC. -6-
  • 7. Ingeniería de Sistemas y Automática Prácticas de Microcontroladores PIC EJERCICIO 4: a) En el ejemplo Int_T0I_04.ASM un led conectado al bit 1 de PORTB (RB1, configurado como salida) se enciende durante 800ms y se apaga durante otros 500ms. Modifica el programa Int_T0I_04.ASM para que funcione sobre la tarjeta EasyPIC con el microcontrolador PIC16F877A. Ten en cuenta los cambios a realizar que se detallan en la tabla del ejercicio 3. b) Comprueba el funcionamiento de tu programa en la tarjeta EasyPIC. EJERCICIO 5: a) En el ejemplo Int_T0I_05.ASM se visualiza constantemente en el módulo LCD un mensaje largo que desplaza por la pantalla. Al mismo tiempo, un led conectado al bit 1 de PORTB (RB1, configurado como salida) se enciende durante 500ms y se apaga durante otros 500ms. Modifica el programa Int_T0I_05.ASM para que funcione sobre la tarjeta EasyPIC con el microcontrolador PIC16F877A. Ten en cuenta los cambios a realizar que se detallan en la tabla del ejercicio 3. b) Comprueba el funcionamiento de tu programa en la tarjeta EasyPIC . EJERCICIO 6: a) Int_Reloj_01.ASM es un programa para un reloj digital en tiempo real sin puesta en hora. Se visualiza en el formato: “08:47:39”. Las temporizaciones necesarias del reloj se logran mediante el Timer0, que produce una interrupción cada 50 ms. Modifica el programa Int_ Reloj_01.ASM para que funcione sobre la tarjeta EasyPIC con el microcontrolador PIC16F877A. Introduce sólo los cambios relativos al Modelo de microcontrolador, Tipo de reloj y Posición de las variables. b) Comprueba el funcionamiento de tu programa en la tarjeta EasyPIC . El reloj funcionará más rápido (1 segundo de la pantalla equivale a 0.5 segundo reales) puesto que en la tarjeta EasyPIC el oscilador tiene una frecuencia de 8MHz. -7-