ImageImageImageImage
Hazte Socio (El Foro siempre Gratis)
Paga con Tarjetas+ Info www.arde.cc/socios

Detectar flags en los puertos de un pic

Foro para postear los temas de ensamblador

Moderator: Junta Directiva

Post Reply
User avatar
plapu
Principiante
Principiante
Posts: 31
Joined: Sun Nov 09, 2008 10:58 pm

Detectar flags en los puertos de un pic

Post by plapu » Thu Jul 16, 2009 8:17 pm

Hola acabo de soldar los sensores para un seguidor de lineas que cuando esta encima una linea negra me da 0,6 y encima una blanca 4,5. Estoy intentando acoplar los sensores al pic, pero lo programo y no me funciona. Para ir paso a paso estoy intentando que cuando el bit zero del puertoA valga 1 (5V) se encienda el bit zero del puertoC. Ajunto el codigo:


BSF STATUS,RP0
BCF STATUS,RP1

MOVLW b'00000000'
MOVWF TRISC

MOVLW b'00000001'
MOVWF TRISA
LOOP:
BCF STATUS,RP1
BCF STATUS,RP0

BCF STATUS,Z
MOVFW PORTA
XORLW b'00000001'

BTFSS STATUS,Z
BSF PORTC,0

GOTO LOOP
END

A ver si alguien ve donde esta el error

Juanjo
Usuario Experto
Usuario Experto
Posts: 451
Joined: Sun Dec 17, 2006 9:44 pm
Contact:

Re: Detectar flags en los puertos de un pic

Post by Juanjo » Thu Jul 16, 2009 10:17 pm

Una cosas a tener muy en cuenta es el valor por defecto de los registros depués de hacer un reset o cuando se inicia el micro. Por lo que veo en la mayoría de los casos lo tomáis como que tienen los valores adecuados.
Sytek

User avatar
plapu
Principiante
Principiante
Posts: 31
Joined: Sun Nov 09, 2008 10:58 pm

Re: Detectar flags en los puertos de un pic

Post by plapu » Thu Jul 16, 2009 10:28 pm

Asin que tengo que limpiar los puertos con un CLRF PORTA y CLRF PORTC ?¿ De esta forma me aseguro que estan a 0 no?

User avatar
jim_17
Principiante
Principiante
Posts: 21
Joined: Sun Mar 02, 2008 3:51 pm

Re: Detectar flags en los puertos de un pic

Post by jim_17 » Fri Jul 17, 2009 2:39 am

Te aconsejaría que pusieras un ORG 0x00 al inicio del programa. Esto te lo digo porque cuando inicias el micro siempre salta al vector de reset que es el 0x00, entonces escribe el programa igual pero poniendo arriba org 0x00. Especifica un poco más el micro que vas a utilizar, postea el código asm completo junto con sus includes etc... y también especifica como has conectado los sensores, con resistencias pull-up o pull-down ?

Saludos.

Ahora te dejo la modificación que le haría yo al código.

ORG 0X00 ;VECTOR DE RESET

BSF STATUS,RP0 ;SELECCIONAMOS BANCO 1 PARA CONFIGURAR
BCF STATUS,RP1 ;LOS PINES

MOVLW b'00000000' ;PORTC COMO SALIDAS
MOVWF TRISC

MOVLW b'00000001' ;RA0 COMO ENTRADA, LAS DEMÁS SALIDAS
MOVWF TRISA
LOOP:

BCF STATUS,RP1
BCF STATUS,RP0

BTFSC PORTA,0 ;RA0 = ? SI ES 1, ENCENDEMOS LED
GOTO ENCENDER ;SI ES 0 APAGAMOS
GOTO APAGAR

ENCENDER
BSF PORTC,0
GOTO LOOP

APAGAR
BCF PORTC,0
GOTO LOOP

END

User avatar
plapu
Principiante
Principiante
Posts: 31
Joined: Sun Nov 09, 2008 10:58 pm

Re: Detectar flags en los puertos de un pic

Post by plapu » Sun Jul 19, 2009 7:50 pm

Cuando dices resistencias de pull-up y pull-down...es necesario poner la resistencia, no se le puede meter directamente 5 voltios a la pata del puertoA bit zero? Si hay que poner una resistencia en el datasheet pone que la maxima intensidad de entrada son unos 250mA o sea que con una resistor de 22 ohm ya tira?

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest