Problema con PIC16F84

#1
HOla a todos.Soy estudiante de informática y necesito ayuda con el pic16f84.....llevo un tiempo pensando como negar el PORTA,3 de mi pic...es decir cunado el bit 3 valga uno le pongo a cero y si vale cero le pondre a uno......estoy atascado por favor si alguien me puede ayudar...


GRACIAS
 
#2
Hay distintas formas de hacer lo que quieres, una sería estar checando el estado del bit y haciendo el cambio según sea el caso, otra sería usar la instrucción XORWF, de este modo el código sería más sencillo ya que si usas el primer metodo que digo tendrias que escribir varias lineas para negar el bit, con XORWF solo ocupas 2 líneas

Código:
	movlw	0x08
	xorwf	PORTA,f
De ese modo se niega solamente un bit. Si en el puerto A tuvieras b'11010110' después de realizar la operación tendrias b'11011110', de modo que el valor de RA3 estaría negado pero todos los demás bits permanecerían sin cambios
 
#3
mmm para empezar que lenguaje estas usando? si es assembler como dice el compañero pic man es la forma, ahora si es pbp dime y te ayudo es mas sencillo aun. salu2.
 
#5
solo curiosidad porque algunos, escriben
movlw 0x08
xorwf portb,1

¿porque utilizan el uno, en lugar de F, ¿es un solo bit, significa, verdadero
es decir es un bit de referencia.?



xorwf

Efectúa un Or lógico exclusivo entre el contenido de W y el contenido de f y almacena el resultado en f si d=1 o en W si d=0

la explicacion mas amplia esta en

http://micropic.galeon.com/instrucciones.htm#xorwf
 
Última edición: