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 />

Nº Cliclo de SCK<br />

1 2 3 4 5 6 7 8<br />

SCK (CPOL=0)<br />

SCK (CPOL=1)<br />

4.4.6.<br />

Ejemplo<br />

de<br />

DATO (CPHA=0)<br />

BMS<br />

6 5 4 3 2 1<br />

bms<br />

DATO (CPHA=1)<br />

BMS<br />

6 5 4 3 2 1<br />

bms<br />

SS<br />

Figura 28: Cronograma del envío de un byte por el SPI<br />

programación del SPI<br />

Se trata de un enlace entre dos <strong>microcontrolador</strong>es a través del canal síncrono. Los dos supuestos nodos<br />

(micros) se encuentran a su vez conectados a sendos Pcs vía serie asíncrona estándar, de tal forma que al presionar<br />

una tecla en uno de ellos (Maestro), el 68HC11 asociado recibe el dato transmitiéndolo vía SPI al otro para que este a<br />

su vez lo transmita al otro Pc (Esclavo). De esta manera los dos ordenadores quedan virtualmente conectados por el<br />

SPI. La red queda conformada por dos enlaces asíncronos entre los micros y los Pcs respectivos, y por un enlace<br />

síncrono entre los propios <strong>microcontrolador</strong>es.<br />

El programa ejemplo se ha probado conectando dos tarjetas CT6811 como se muestra en la figura 29.<br />

Cable<br />

Serie<br />

SPI<br />

Cable<br />

Serie<br />

PC<br />

CT6811<br />

CT6811<br />

PC<br />

PROGRAMA MAESTRO:<br />

MAESTRO<br />

Figura 29: Montaje realizado para probar el funcionamiento del SPI<br />

ESCLAVO<br />

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

; ¦ MAESTRO.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 el carácter recibido por el SCI a través del SPI. ¦<br />

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

; Configuración del MAESTRO.<br />

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

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

; El ss se desactiva, en caso contrario, se activaría con una entrada a nivel<br />

; bajo => D/P<br />

; La salida será mosi, y miso da igual su valor<br />

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

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

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

; configurado como maestro, formato de señal y alta velocidad.<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 />

LVI

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

Saved successfully!

Ooh no, something went wrong!