Holas

Páginas: 7 (1672 palabras) Publicado: 4 de noviembre de 2012
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 delTIMER0
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 seutiliza 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ódigode 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 CBLOCK ENDC TMR0_Carga50us #DEFINE 0x0C

EQU Salida-d'50' PORTB,3

; ZONA DE CÓDIGOS ******************************************************************** ORG goto ORG goto Inicio bsf bcf movlw movwf bcf movlw movwf movlw movwf Principal goto STATUS,RP0 Salida b'00001000' OPTION_REG STATUS,RP0 TMR0_Carga50us TMR0 b'10100000' INTCON $ ; Acceso al Banco 1. ; Línea configurada como salida. ; Sin prescaler para TMR0 (se asigna al Watchdog). ; Acceso alBanco 0. ; Carga el TMR0. 0 Inicio 4 Timer0_Interrupcion

; Vector de interrupción.

; Autoriza interrupción T0I y la general (GIE). ; No puede pasar a modo de bajo consumo ; 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...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • hola hola hola hola
  • hola hola hola hola hola
  • hola hola hhola hola y hola
  • hola hola hola
  • Hola Hola Hola
  • Hola Hola Hola
  • hola hola hola
  • Hola hola

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS