Robots Móviles
Software y documentación para robots móviles
|
Hace parpadear el led conectado al pin 6 del puerto A de la placa CT6811 cada cierto intervalo de tiempo definido por una pausa con el registro índice Y.
* -------------------------------------------------------------------------- * | LEDP. GRUPO J&J. MICROBOTICA | * -------------------------------------------------------------------------- * | Programa ejemplo para ser ejecutado en la tarjeta CT6811. | * | Este programa se debe cargar en la RAM interna del 6811. | * | | * | Simplemente se enciende y se apaga el led de la tarjeta CT6811. | * -------------------------------------------------------------------------- ORG $0000 inicio LDAA $1000 EORA #$40 ; Cambiar de estado el bit PA6 STAA $1000 LDY #$FFFF ; Realizar una pausa pausa DEY CPY #0 BNE pausa BRA inicio ; Repetir el proceso END |
Si la entrada 8 del puerto E tiene conectado un bumper o similares, cada vez que se pulse o active se encenderá el led conectado al pin 6 del puerto A de la placa CT6811.
* -------------------------------------------------------------------------- * | PORTE-D. GRUPO J&J. MICROBOTICA | * -------------------------------------------------------------------------- * | Programa ejemplo de las entradas digitales. | * | Conectamos un bumper en la entrada 8, cada vez que lo | * | pulsemos el LED se enciende. | * -------------------------------------------------------------------------- ORG $0000 PORTA EQU $00 PORTE EQU $02 LDX #$1000 inicio STAA PORTA,X BRSET PORTE,X $80 apaga LDAA #$40 BRA inicio apaga CLRA BRA inicio END |
Uso del conversor analógico-digital del 68HC11. Cuando la tensión supera un determinado umbral, se enciende el led conectado al bit 6 del puerto A.
* -------------------------------------------------------------------------- * | PORTE-A. GRUPO J&J. MICROBOTICA | * -------------------------------------------------------------------------- * | Programa ejemplo para ser ejecutado en la tarjeta CT6811. | * | Este programa se debe cargar en la RAM interna del 6811. | * | | * | Ejemplo de utilización del canal 1 del conversor A/D. Cuando la | * | tensión supera los 2.5 voltios se enciende el led de la placa. | * -------------------------------------------------------------------------- * Usaremos como entrada analógica el canal 1, es decir, la entrada PE0. * Los niveles de referencia (VRH, VRL) serán (Vcc, GND) respectivamente. * Es decir, los jumpers JP1 y JP2 de la CT6811 deben estar conectados. ORG $0000 OPTION EQU $39 ADCTL EQU $30 PORTA EQU $00 ADR1 EQU $31 inicio LDX #$1000 ; Apunta a registros LDAA #$80 STAA OPTION,X ; Encender el conversor LDAA #$20 ; Configurar conversor STAA ADCTL,X ; SCAN -> activo ; MULT -> inactivo ; ADR1 -> seleccionar el primer canal sigue BRCLR ADCTL,X $80 sigue ; espera a que termine conversión LDAA ADR1,X ; leer el resultado de la conversión CMPA #$7A ; comparar con la mitad (127 en decimal) ; que corresponde con 2.5 voltios BLO menor ; si es menor apagar el led LDAA #$40 ; No --> encender el led STAA PORTA,X BRA sigue ; Realizar siguiente conversión menor CLRA STAA PORTA,X ; Apagar el led BRA sigue ; Realizar siguiente conversión END |
Estos ejemplos están publicados en esta página con permiso de Microbótica, en su web pueden encontrarse otros ejemplos de programación en ensamblador. Los que aquí se muestran, se han obtenido de los manuales de las placas CT6811 y CT293+.
En este mismo web, en el apartado de Documentos están incluidos otros ejemplos de manejo y configuración de las comunicaciones serie asíncronas, vectores de interrupcón, manejo del puerto D, etc.
© Javier de Lope Asiaín 2000-2002
|
||
Última modificación
31-May-2001 |
FastCounter by bCentral |