TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: TREMENS en 25 de Agosto de 2006, 18:03:39
-
como hago para sacar datos del pic en paralelo para que sirvan de entrada a un DAC ????
-
Hola:
Lo asignas a un puerto:
ejemplo:
PORTB = var
donde var debe ser una variable de 8bits.
-
es cierto que podes utilizar le puerto B para enviar datos en paralelo pero tambien tal ves necesites lineas de control para ralizar la transmicion y esas la tendras que realizarlas con otro puerto o alguanas lineas de otros puertos.
que tal si nos dices cual es el DAC vas a utilizar?
-
estaba pensando en usar dac0808, que dices?
-
mira el este dac es uno que no tiene lineas de control asi que con un solo puerto lo podes utilizar de dejo un circuito con el que podes probarlo:
(http://www.subir-imagenes.com/subir-fotos-imagenes/e92fd8f346.jpg) (http://www.subir-imagenes.com)
-
El programas se ejecuta en forma secuencial entonces una vez que entrega la salida al dac vuelve al comienzo del bucle.
Cual es la salida del dac mientras se está ejecutando un nuevo bucle de programa???
-
DATO VAR BYTE
inicio:
trisb=%00000000
pause 2000
daTO=2
PORTB=dato
pause2000
goto inicio
end
Estuve probando la salida en paralelo sin suerte.
Cuando escribí este programa quería que haga lo siguiente: una pausa de 2 segundos
teniendo salida 0 por el portb(salida 0 porque no especifique antes de la pausa que salga nada) y luego de los segundos le doy un valor de 2 a la variable dato y saco el 2 en paralelo por el portb. Este 2 se debería mantener 2 segundos y vuelve al comienzo.
Ahora, lo que sucede en realidad en la simulación es :
Durante 2 segundos tengo salida 135 en el portb, luego la salida cambia a 2
en el portb y queda para siempre en 2 la salida. ¿Qué está pasando?
***probé agregando la línea en negrita:
DATO VAR BYTE
inicio:
trisb=%00000000
PORTB=0 ; pongo en 0 el portb
pause 2000
daTO=2
PORTB=dato
pause 2000
goto inicio
end
Y lo que hace es ponerse en 0 el portb y queda en cero para siempre, no le da bollia al resto del programa.
Qué está pasando?????
-
Hola:
Prueba con esto:
TRISB=0
inicio:
PORTB=0
PAUSE 2000
PORTB=2
PAUSE 2000
GOTO inicio
End