microcontrolador mc68hc11
microcontrolador mc68hc11
microcontrolador mc68hc11
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