TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: micro_pepe en 01 de Julio de 2005, 05:48:00

Título: modificar puerto
Publicado por: micro_pepe en 01 de Julio de 2005, 05:48:00
Hola, tengo un problemilla con el ensamblador. Estoy usando un puerto como salida, y de los ocho bits, necesito modificar los cinco de menor peso de golpe, dejando intactos los otros tres de mayor peso, y no se como hacerlo.

Espero alguien me pueda ayudar. Saludos y gracias.
Título: RE: modificar puerto
Publicado por: antoniof en 01 de Julio de 2005, 06:19:00
Suponiendo que es el puerto B el que vas a modificar y que el valor a cargar viene en los 5 lsb del registro "w", estas son las instrucciones:

Codigo:
andlw 0x1f  ; pone a cero los 3 bits msb del registro "w"
movwf temp ; y lo guarda temporalmente en el registro "temp"
movf portb,w
andlw 0xe0 ; pone a cero los 5 bits de menor peso del puerto b y los guarda en "w"
iorwf temp,w ; une los 3 msb del portb con los 5 lsb del temp
movwf portb; escribe el dato completo en el portb


;Modificado el "iorwf" Sonrisa GiganteSonrisa GiganteSonrisa Gigante
Título: RE: modificar puerto
Publicado por: fenix_jn en 01 de Julio de 2005, 23:51:00
mmm creo q la 5ta (aki estaba un 4) linea, la instruccion correcta seria "iorwf temp, w"