Descripción
Una efecto de luces muy conocido es la de KITT, el auto increible, el cual se distinguia por asemejar un haz de luz que recorria toda la parte inferior de su cofre de lado a lado y luego formada dos haces que se cruzaban y asi sucesivamente
Material necesario
- Interfase BDM
- Microcontrolador MC9S08SE8
- 8 LEDs (preferiblemente rojos dado a que ese es el color original)
Programación
Para esta secuencia se realizara un deslizamiento del bit activo hacia un lado y luego hacia el otro y posteriormente dos haces de luz que se cruzaran 2 veces
Codigo:
_Startup:
LDHX #RAMEnd+1 ; initialize the stack pointer
TXS
CLI ; enable interrupts
MOV #$FF,PTBDD ;Habilitar puerto PTBD como salida
CLR PTBD
mainLoop:
LDA #$C0
BSR CICLO_1
LDA #$03
BSR CICLO_2
BSR CICLO_3
BSR CICLO_3
feed_watchdog
BRA mainLoop
CICLO_1:
STA PTBD
BSR RETARDO
LSRA
BNE CICLO_1
RTS
CICLO_2:
STA PTBD
BSR RETARDO
LSLA
BNE CICLO_2
RTS
CICLO_3:
LDA #$81
STA PTBD
BSR RETARDO
LDA #$42
STA PTBD
BSR RETARDO
NSA
STA PTBD
BSR RETARDO
LDA #$18
STA PTBD
BSR RETARDO
LDA #$24
STA PTBD
BSR RETARDO
NSA
STA PTBD
BSR RETARDO
LDA #$81
STA PTBD
BSR RETARDO
RTS
RETARDO:
CLR $80
CLR $81
MOV #1,$82 ; Podemos acelerar el proceso de conteo cambiando "MOV #[numero],$82"
VOLVER:
DBNZ $80,VOLVER
feed_watchdog
DBNZ $81,VOLVER
feed_watchdog
DBNZ $82,VOLVER
feed_watchdog
RTS
Conclusion
Como se puede apreciar solo con ver el codigo es una secuencia muy sencilla, mas que nada nos ayuda a practicar el uso de llamado de subrutinas, manipulación y movimiento de bits con un menos numero de instrucciones.
Lo ideal es que ustedes tomen este código e intenten innovarlo, ya sea desarrollando secuencias mas conplejas, usando los demas puertos o simplificandolo y asi ahorrandonos espacio en la memoria, lo cual a la larga sera de gran ayuda en proyectos futuros.
Amigo podrías poner el diagrama de conexión, te lo agradecería
ResponderEliminar