Make your own free website on Tripod.com
Robots Móviles
Software y documentación para robots móviles

Ejemplos de programación en ensamblador para MC68HC11

ledp.asm

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

porte-d.asm

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

porte-a.asm

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

Enlaces

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