26.12.2014 Views

microcontrolador mc68hc11

microcontrolador mc68hc11

microcontrolador mc68hc11

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

MICROCONTROLADOR 68HC11: Fundamentos, recursos y programación.<br />

MICROBÓTICA.<br />

otras funciones. Una de ellas son los comparadores. En este caso el valor del contador se introduce en los 5<br />

comparadores que se pueden activar cuando el valor introducido es igual a uno previo que ha sido almacenado por<br />

software. La otra función son los capturadores de entrada. Cuando ocurre un determinado evento exterior el valor del<br />

contador es capturado por los 3 latches que constituyen los capturadores de entrada. Tanto los comparadores como<br />

los capturadores se tratan en más detalle en las secciones 4.7 y 4.8.<br />

4.5.4. Ejemplo de programación del temporizador<br />

−EJEMPLO 1: Lectura del temporizador.<br />

En este ejemplo se muestra cómo leer el temporizador principal. El programa toma el bit más significativo y<br />

activa el led (bit PA6) según cómo esté el estado del bit más significativo del temporizador. Por defecto el<br />

temporizador funciona a su máxima frecuencia por lo que el led cambiará de estado cada 32.77ms. A esta frecuencia<br />

es casi inapreciable el parpadeo del led, pero fijándose detenidamente se observa que realmente existe.<br />

; +−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+<br />

; ¦ TIMER.ASM (C) GRUPO J&J. Febrero 1997 ¦<br />

; ¦−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−¦<br />

; ¦ Programa ejemplo para ser ejecutado en la tarjeta CT6811. ¦<br />

; ¦ Este programa se debe cargar en la RAM interna del 6811. ¦<br />

; ¦ ¦<br />

; ¦ Ejemplo del temporizador principal. Simplemente se lee el valor ¦<br />

; ¦ del temporizador principal y se modifica el estado del led de la ¦<br />

; ¦ CT6811 en función del estado del bit más significativo del temporizador¦<br />

; +−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+<br />

TMSK2 EQU $24<br />

TCNT EQU $0E<br />

PORTA EQU $00<br />

bucle<br />

ORG $0000<br />

LDX #$1000<br />

LDD TCNT,X<br />

ANDA #$80<br />

CMPA #$80<br />

BEQ apaga_luz<br />

LDAA #$40<br />

STAA PORTA,X<br />

BRA bucle<br />

; Leer el valor del temporizador principal<br />

; A=Parte alta; B=Parte baja<br />

; Comprobar bit de mayor peso del temporizador<br />

; Si está activo−−> Apagar led<br />

; No activo−−> Encender el led<br />

apaga_luz<br />

CLRA<br />

STAA PORTA,X<br />

BRA bucle<br />

END<br />

LXIII

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!