TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: champi87 en 30 de Abril de 2009, 11:06:48
-
hola a todos, tengo un problema y nose como solucionarlo a ver si me podeis echar una mano, estoy usando el puerto D de un 16f877a para controlar la señal de habilitacion de un 74ls244, entonces quiero activar los bit RD0 y RD1 y los demas desactivados, esta funcion es la que estoy usando:
MOVLW b'00000011'
MOVWF PORTD
mi problema es que midiendo con el multimetro las patillas RD0 y RD1 me marcan 2,3V, insuficiente para que el 74LS244 lo reconozca como nivel alto,¿ como lo puedo hacer para que por esas patillas me salgan 5V ?
gracias a todos
-
Lo que pasa, es que estás configurando mal al puerto D. Para poner un bit como salida, corresponde un 0 y para que sea entrada, es un 1. Por ejemplo:
MOVLW B'11111111'
MOVWF TRISD ;TODAS ENTRADAS
;
MOVLW B'00000000'
MOVWF TRISD ;TODAS SALIDAS
;
MOVLW B'10101010'
MOVWF TRISD ;RD7, RD5, RD3, RD1 ENTRADAS Y RD6, RD4, RD2, RD0 SALIDAS.
-
Otra razón podría ser que estuvieras conectado algo más a rd0 y rd1 que drene más corriente de la que el puerto puede entregar.
-
creo que el puerto D lo tengo bien configurado este es el codigo que he usdo
BSF STATUS,RP0
MOVLW B'11111111' ; Poner el Puerto C como entrada de datos.
MOVWF TRISC
CLRF TRISB ; Poner el Puerto B como salida de datos.
CLRF TRISD;
BCF STATUS,RP0
tambien tengo habilitados el pueto C y B, per con ellos no tengo problemas,
gracias por vuestras respuestas
-
Muestranos un esquemático de como has hecho las conexiones...