Autor Tema: salida 16f877  (Leído 7243 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado d4n13l4

  • PIC16
  • ***
  • Mensajes: 107
salida 16f877
« en: 17 de Junio de 2010, 14:15:19 »
Hola tengo una duda resulta que programo un 16f877 para que con 1 me abra y con 2 me cierre mi duda es en la salida cuando "abra" entregara un valor alto de cuando es este valor? ya que utilizare un transistor para que funcione como interruptor a la salida del pic

(a que pin del pic deberia ir la base del transistor? )


Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: salida 16f877
« Respuesta #1 en: 17 de Junio de 2010, 15:10:25 »
Deberías extenderte y explicar mejor que pretendes realizar la verdad es que no se entiende tu consulta.
Si lo que quieres es controlar un transistor con un pìn del pic, puedes utilizar cualquiera siempre y cuando sea digital y este configurado cono salida, el voltaje que  entrega este pin a la base del transistor en igual al de la fuente con que es alimentado el pic 5vcc.


Desconectado d4n13l4

  • PIC16
  • ***
  • Mensajes: 107
Re: salida 16f877
« Respuesta #2 en: 17 de Junio de 2010, 15:14:30 »
explico un poco mas
voy a conectar el pic al pc atraves de un max232 el pic esta programado para que cuando aprete un 1 me abra una puerta y cuando aprete un 2 me la cierre, el circuito que traducira la instruccion del pic sera un transistor con un rele
entonces mi duda era el valor del voltaje que sale del pic cuando aprete el 1 que seria un valor alto

mi segunda duda era en que pin debe ir la base del transistor para que le llegue el valor del pic por si el pic tuviera un pin que se llame salida como lo tiene un 555 por ejemplo

espero haberme explicado mas  :oops:

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: salida 16f877
« Respuesta #3 en: 17 de Junio de 2010, 18:26:18 »
La tensión de salida del pic, dependerá de la alimentación del PIC. Si al mismo lo alimentás con 5V, su salida será 5V cuando esté en estado lógico alto. En cambio, si alimentás al pic con 3V, en la salida habrá 3V con un estado lógico 1.

En cuanto a que salida deberás colocar el transistor, pues ya te lo contestó septiembre negro. El pic 16F877 posee 4 puertos el cual, se los puede configurar como salida o entrada cada bit de cada puerto en forma independiente. Tendrás que elegir una salida que te resulte más cómodo para tu proyecto.

A la hora de elegir un bit o un puerto del pic, tienes que tener en cuenta cual es su segunda función, por ejemplo, en el puerto A de este pic, posee entrada analógica. Si tienes que utilizar las 8 entradas analógica, está más que obvio que no tienes que utilizar ningún bit del puerto A.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado d4n13l4

  • PIC16
  • ***
  • Mensajes: 107
Re: salida 16f877
« Respuesta #4 en: 17 de Junio de 2010, 18:33:25 »
ah ok tendre q leer sobre los puertos del pic que desconocia eso
yo solo sabia que tenia que conectar el tx y rx del pic con el 232 (no me manejo mucho con pics)

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: salida 16f877
« Respuesta #5 en: 17 de Junio de 2010, 18:45:45 »
Como sabrás, este pic posee, en su hardware, una comunicación serial asincrónica y sincrónica. Los pines de comunicación están en el puerto C más precisamente en los bits RC6 y RC7. Ahí tendrás que conectar el MAX232 si quieres aprovechar la comunicación serie que posee el pic. Podrás usar cualquier pin si vas a implementar por software la comunicación serial.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado d4n13l4

  • PIC16
  • ***
  • Mensajes: 107
Re: salida 16f877
« Respuesta #6 en: 17 de Junio de 2010, 18:52:13 »
mmm tengo conectado el pic con el max en el 25 y 26 que son el RC6 y RC7

Citar
Podrás usar cualquier pin si vas a implementar por software la comunicación serial.
a la salida te refieres?

grax por tus respuestas

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: salida 16f877
« Respuesta #7 en: 17 de Junio de 2010, 21:48:54 »
ah ok tendre q leer sobre los puertos del pic que desconocia eso
yo solo sabia que tenia que conectar el tx y rx del pic con el 232 (no me manejo mucho con pics)

mas que leer sobre los puerto, podrias ver algun tutorial de información general sobre microcontroladores PIC.
Si buscas en el foro hay de sobra, incluso hasta proyectos que hacen lo que tu dices.

Basicamente lo que tienes que hacer es:
Lado PC: Soft para gestion del puerto serie.
Lado PIC: Firmware para gestión de la comunicación.

No es tan simple como conectar los cables al MAX232, el PIC y la PC, necesitas cargarle un programa al PIC para que este haga las funciones que le digas, ya sea prender un led o manejar un LCD, o por mas que el 16F877 tenga la USART, es necesario que le indiques que hacer con los datos que recibe.

Saludos y sigue adelante, que cuando descubras el potencial de los PICs no vas a querer dejarlos :mrgreen:
Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado d4n13l4

  • PIC16
  • ***
  • Mensajes: 107
Re: salida 16f877
« Respuesta #8 en: 17 de Junio de 2010, 22:05:33 »
Hola si obvio esa parte del programa la tengo, tengo el programa que  hara lo que dije q haria tengo que cargarselo y luego conectarlo al max232 y este al pc (me dijeron que la conexion podia ser directa, los cables del tx y rx del 232 al puerto serie del pc) y en el pc con el  hyperterminal creo una conexion para que funcione el pic

por eso hasta ahora tengo el programa listo me falta cargarselo al pic y una vez cargado el circuito esta armado tambien con los condensadores que deben ir en el max232 segun esta imagen

quizas para probar podria ser una buena idea colocar leds en la salida para probar que si apreto un 1 se prenda y un 2 se apague y despues probar con el circuito original

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: salida 16f877
« Respuesta #9 en: 18 de Junio de 2010, 12:01:10 »
mmm tengo conectado el pic con el max en el 25 y 26 que son el RC6 y RC7

Citar
Podrás usar cualquier pin si vas a implementar por software la comunicación serial.
a la salida te refieres?

grax por tus respuestas

No me has entendido d4n13l4
El Pic tiene implementado, por hardware, la comunicación serial. Para utilizarlo debes conectar al MAX232 a los pines RC6 y RC7 (tal como lo has echo, que recién ahora nos lo dijiste) pero a veces, por razones que no vienen al caso, muchos implementan la comunicación serial por software. En este caso, puedes utilizar cualquier pin para la comunicación serial.

Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado d4n13l4

  • PIC16
  • ***
  • Mensajes: 107
Re: salida 16f877
« Respuesta #10 en: 18 de Junio de 2010, 13:22:42 »
aaah ya te entendi, es que pense que la salida del pic era independiente de la conexion y esa es mi duda
si quisiera poner un led que se encienda cuando apreto un 1 en que pin tendria que ponerlo?
este es mi codigo
Código: [Seleccionar]
#include <16F877.h>
#FUSES XT,NOWDT
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7)

///////////////////////Principio del programa//////////////////////////////////

void main(void)
{

 int dato=0;//declaracion de variables
 set_tris_b(0b11111111);//puerto b como salida
 set_tris_c(0b10111111); //RC7/Rx entrada, RC6/Tx salida
 output_b(0b00000000); //pone en ceros todo el puerto b

while(TRUE)//Ciclo
{
   
   if(kbhit())//si ha llegado un dato
   {
      dato=getc(); //Lee el dato recibido
     
      if (dato==1)//si el dato es 1
      {
         
          output_high(PIN_B0);
         
      }
     
      if (dato==2)//si el dato es 2
      {
     
         output_low(PIN_B0);
      }
         
     
     
   }   
   
 
}

}
//////////////////////////////Fin del programa//////////////////////////////////

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: salida 16f877
« Respuesta #11 en: 18 de Junio de 2010, 17:17:42 »
Por lo que veo, ese código no es tuyo.

if (dato==1)//si el dato es 1
      {
         
          output_high(PIN_B0);
         
      }
     
      if (dato==2)//si el dato es 2
      {
     
         output_low(PIN_B0);

Esta parte del código analiza el valor de entrada. Dice que si el dato es 1, coloca el PIN B0 en 1. Por otra parte, si el dato recibido es 2, coloca el pin B0 en 0 por lo que el led debe de estar conectado al pin RB0. El ánodo del led debe estar conectado al pic por medio de una resistencia limitadora y el cátodo a masa.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado d4n13l4

  • PIC16
  • ***
  • Mensajes: 107
Re: salida 16f877
« Respuesta #12 en: 18 de Junio de 2010, 18:05:00 »
nops no es mio el codigo me lo mandaron porque serviria para lo que quiero hacer
sino se de pics menos se de programar uno, el lenguaje ni nada

por eso decia que cuando aprete un 1 en el teclado la salida estaria en alto lo que me serviria para abrir la puerta que en su defecto para probar la conexion se encenderia el led

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: salida 16f877
« Respuesta #13 en: 18 de Junio de 2010, 18:32:59 »
Pero no hay problema. :wink:
Aprender los pic es relativamente fácil

¿Sabes programar en algún lenguaje en especial?
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado d4n13l4

  • PIC16
  • ***
  • Mensajes: 107
Re: salida 16f877
« Respuesta #14 en: 18 de Junio de 2010, 18:44:10 »
tuve un curso de c++ pero hace mil añs  :D y no me acuerdo
se un poco mas de php y mysql
pero el programa y el .hex que va para cargar el pic ya lo genere