26.12.2014 Views

microcontrolador mc68hc11

microcontrolador mc68hc11

microcontrolador mc68hc11

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

MICROBÓTICA.<br />

DDRD equ $09 ; Registro de control de dirección de datos.<br />

SPCR equ $28 ; Registro de control del SPI.<br />

SPDR equ $2A ; Registro de datos del SPI.<br />

SPSR equ $29 ; Registro de estado.<br />

; Registros del SCI.<br />

BAUD equ $2B<br />

SCCR1 equ $2C<br />

SCCR2 equ $2D<br />

SCSR equ $2E<br />

SCDR equ $2F<br />

; Comienzo.<br />

ORG $0000<br />

LDX #$1000<br />

LDAA #$00<br />

STAA PORTD,X<br />

; Configura la unidad SPI.<br />

LDAA #$3C<br />

STAA DDRD,X<br />

LDAA #$50<br />

STAA SPCR,X<br />

; Espera una tecla del PC para empezar...<br />

; Manda algún valor conocido al<br />

; puerto.<br />

Bucle BSR leer_car<br />

STAA SPDR,X<br />

; Enviar la tecla apretada por el SPI<br />

WaitFlag BRCLR SPSR,X $80 WaitFlag ; Espera el fin de la trans.<br />

BRA Bucle<br />

; Repetir indefinidamente<br />

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

;¦ Rutina par leer un carácter del puerto serie (SCI) ¦<br />

;¦ La rutina espera hasta que llegue algún carácter ¦<br />

;¦ ENTRADAS: Ninguna. ¦<br />

;¦ SALIDAS: El acumulador A contiene el carácter recibido ¦<br />

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

leer_car BRCLR SCSR,X $10 leer_car ; Esperar hasta que llegue un carácter<br />

LDAA SCDR,X<br />

RTS<br />

END<br />

PROGRAMA ESCLAVO:<br />

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

; ¦ ESCLAVO.ASM (C) GRUPO J&J. Abril 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 />

; ¦ Se envía por el SCI todo lo que se recibe por el SPI. ¦<br />

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

; Programa de prueba para la transmisiones sincronas. MISO/MOSI.<br />

; Grupo J&J. Mayo 1996.<br />

; Configuración del ESCLAVO. −> Simulador de la LCA.<br />

; DDRD: . . !ss sck mosi miso txd rxd<br />

; 0 0 1 1 1 1 0 0<br />

; El ss puede tener cualquier valor, ya que se activara por el maestro.<br />

; sck es la entrada de reloj, da igual su valor.<br />

; La entrada será mosi (da igual su valor), y miso es la salida.<br />

;<br />

; SPCR: spie spe dwom mstr cpol cpha spr1 spr0<br />

; 0 1 0 0 0 0 0 0<br />

; Desactivamos las interrupciones, activamos el SPI, salida con drivers,<br />

; configurado como esclavo, formato de señal (igual a la del maestro).<br />

; SPSR: spif wcol . modf . . . .<br />

; x<br />

; Leemos el flag spif que se pone a uno cuando se termina la transmisión.<br />

; Constantes:<br />

PORTD equ $08 ; Registro de datos del puerto D.<br />

BLOQ equ $F000 ; Comienzo de la zona de datos a transmitir.<br />

TAM equ $1FFF ; Tamaño del buffer a transmitir.<br />

; Registros del SPI.<br />

DDRD equ $09 ; Registro de control de direcc de datos.<br />

SPCR equ $28 ; Registro de control del SPI.<br />

SPDR equ $2A ; Registro de datos del SPI.<br />

LIX

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

Saved successfully!

Ooh no, something went wrong!