TODOPIC

Otros Microcontroladores / Dispositivos programables => Microcontroladores ARM => Mensaje iniciado por: johndavid en 09 de Marzo de 2008, 03:08:50

Título: Instrucciones de assembler para MC9S08QE128
Publicado por: johndavid en 09 de Marzo de 2008, 03:08:50
hOLA!!

Necesito ayuda con unas instrucciones para el QE128 en assembler usando CodeWarrior,

Como funciona el pull-up de un puerto? quiero oprimir un boton conectado al puerto A2 y que cuando lo haga realize una funcion

Me pueden decir como funciona la instruccion BRCLR y BRSET???

Gracias!!!
Título: Re: Instrucciones de assembler para MC9S08QE128
Publicado por: RICHI777 en 09 de Marzo de 2008, 21:04:30
Hola, el pull-up interno programable lo que hace es colocar en forma interna una resistencia conectada a VCC, con respecto a las instrucciones BRCLR y BRSET es saltar a un offset dependiendo del valor de un bit en un puerto, la traduccion en el caso del BRCLR seria saltar si el bit tal es cero, y el de la BRSET seria saltar si el bit tal es uno. Un ejemplo:
    BRSET 3,PTDD,L22
    ;;;;;;
L22:
    ;;;;;;
Si el bit 3 del Port PTDD es uno saltara a la posicion de L22, si es cero ejecutara la instruccion siguiente a BRSET. Estas instrucciones estan reservadas a la pagina zero del micro, donde reside normalmente todos los registros de la familia HCS08.
Yo actualmente estoy usuando el AW60, que tienen el mismo core, cualquier cosa pregunta tranquilo
Saludos !
Título: Re: Instrucciones de assembler para MC9S08QE128
Publicado por: johndavid en 10 de Marzo de 2008, 02:25:28
es que intenté hacer un programa en el que leyera el estado del bit de un boton PTA2 y prendiera un led al PTC0

este es mi codigo

BSET 2,PTAPE
            BCLR 2,PTADD
           
            BSET 0,PTCDD
           
           
            BRCLR 2,PTAD,AQUI
     
AQUI        BCLR 0,PTCD           
Título: Re: Instrucciones de assembler para MC9S08QE128
Publicado por: RICHI777 en 10 de Marzo de 2008, 11:23:38
Hola, proba esto, posiblemente lo que este fallando sea el salto, si colocas $ el assembler interpreta saltar hacia la misma direccion
Código: [Seleccionar]
      BSET 2,PTAPE
      BCLR 2,PTADD
      BSET 0,PTCDD
      BRCLR 2,PTAD,$
      BCLR 0,PTCD
Saludos !