Autor Tema: PIC pequeño 12C y RS232  (Leído 8423 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
PIC pequeño 12C y RS232
« en: 02 de Noviembre de 2011, 09:42:54 »
NEcesito hacer un pequeño mando a distancia con un pic y un emisor tipo aural RS232, y quiero solo mandar un caracter al pulsar un pulsador.
Con un 16F84 va perfectamente pero me gustaria usar algo mas pequeño y barato, y probe programarlo igual con un 12C629 y no funciona en lo absoluto elija cualquiera de las salidas para tx datos.
Podeis decidme porque?
no se puede con los 12C? porque motivo? y ...cual seria lo mas apropiado para eso, solo neceito un pulsador y una salida TX de protocolo RS232

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: PIC pequeño 12C y RS232
« Respuesta #1 en: 02 de Noviembre de 2011, 09:57:23 »
  ¿En qué lenguaje? ¿A qué frecuencia de RS232 pretendés trabajar?
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: PIC pequeño 12C y RS232
« Respuesta #2 en: 02 de Noviembre de 2011, 12:37:13 »
simple en CCS y 2400 bausd es suficiente.

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: PIC pequeño 12C y RS232
« Respuesta #3 en: 02 de Noviembre de 2011, 12:43:34 »
  ¿Estás teniendo en cuenta que dicho PIC tiene entradas para comparadores?
  Por defecto dichas entradas quedan configuradas como analógicas y tal vez el problema sea que no estás leyendo el pulsador y no que no funcione la transmisión RS232
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: PIC pequeño 12C y RS232
« Respuesta #4 en: 04 de Noviembre de 2011, 13:32:18 »
Pues no se pero te pego el programa que es muy simple y me dices.
EL mismo en un 16F84 va bien solo cambie el fichero .h y creo que nada mas


#include<12F629.h>
#use delay(clock=1000000)
#fuses XT,NOWDT
#use rs232(baud=2400,xmit=PIN_A0,rcv=PIN_A1,parity=N,bits=8)

// define el puerto serie como 2400 Baudios 8 bits sin paridad y
// la entrada de datos no se usa
// la salida  es la salida de datos al equipo RF


//*********************
// PROGRAMA PRINCIPAL *
//*********************

void main()
      {
     
      While(1){
     
            // el retardo se usa para no estar enviando permanentemente en mensaje y conservar la bateria del emisor
            // si esta activa RB3 envia por el puerto E 
            // si RB3 esta a cero envia por el puerto A
               
            putc(0b01110000);  // envia cabecera
            putc(0b01110000);  // envia cabecera
            putc('E');
            delay_ms(2000);
             
         }
      }

La verdad es que me da igual el pic usar, es mas por tamaño (para que entre en un mando a distancia con un modulo aureal de RF que ya tengo) y precio. Me vale cualquiera de 8 pines que sea barato y sobre todo facil de encontrar en Madrid

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: PIC pequeño 12C y RS232
« Respuesta #5 en: 04 de Noviembre de 2011, 14:24:01 »
Si no recuerdo mal, para un cristal de 10MHz no puedes poner el fuse XT, sino el HS.

Si tienes dudas, ponle OSCIO y  #use delay(clock=4MHz) y verás cómo sale andando.

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: PIC pequeño 12C y RS232
« Respuesta #6 en: 04 de Noviembre de 2011, 16:14:04 »
perdona el error se colo el 10 Mhz, con eso no funcionaria claro, pero tampoco funciona con menos.
Lo del OSCIO que es?

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: PIC pequeño 12C y RS232
« Respuesta #7 en: 04 de Noviembre de 2011, 16:14:46 »
Es para usar el oscilador interno

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: PIC pequeño 12C y RS232
« Respuesta #8 en: 04 de Noviembre de 2011, 16:21:41 »
Es decir, con eso no necesito cristal? a que frecuencia funcionaria? seria suficiente con eso para el RS232 a 2400 BAuds?
Estoy acostumbrado a usar siempre crstales de 4 Mhz a 20 Mhz jamas use pic pequeños con oscilador interno.

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: PIC pequeño 12C y RS232
« Respuesta #9 en: 04 de Noviembre de 2011, 16:28:12 »
Asi funciona con proteus, Mil gracias.
La pregunta ahora es..... 4 Mhz con el reloj interno?
Cuanto se puede poner de maximo?
Nunca lo habia usado
Mil gracias de nuevo



#include<12F629.h>
#OCS 4 MHz
#fuses NOWDT
#use rs232(baud=2400,xmit=PIN_A0,rcv=PIN_A1,parity=N,bits=8)

// define el puerto serie como 2400 Baudios 8 bits sin paridad y
// la entrada de datos no se usa
// la salida  es la salida de datos al equipo RF


//*********************
// PROGRAMA PRINCIPAL *
//*********************

void main()
      {
     
      While(1){
     
            // el retardo se usa para no estar enviando permanentemente en mensaje y conservar la bateria del emisor
            // si esta activa RB3 envia por el puerto E 
            // si RB3 esta a cero envia por el puerto A
               
            putc(0b01110000);  // envia cabecera
            putc(0b01110000);  // envia cabecera
            putc('E');
            delay_ms(2000);
             
         }
      }


Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: PIC pequeño 12C y RS232
« Respuesta #10 en: 04 de Noviembre de 2011, 16:30:56 »
Depende del micro, lo puedes ver en la datasheet; para este micro el máximo (y el único) valor es 4MHz. Para hermanos mayores como el 12F683 se puede correr hasta 8MHz, por ejemplo.

Si el temporizado del micro no es crítico, el oscilador interno va muy bien.

Por cierto, si lo que quieres es ahorrar batería te recomiendo que en lugar de un delay_ms duermas al micro (sleep) y lo despiertes mediante una interrupción del timer. Parece muy complicado pero no lo es y realmente así sí que ahorrarás energía.

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: PIC pequeño 12C y RS232
« Respuesta #11 en: 04 de Noviembre de 2011, 16:34:42 »
Solo se pondra en marcha al darle alimentacion. genera el caracter cada 2 seg o menos , lo justo para activar o desactivar la alarma y suelto el pulsador cuando escucho que esta activa por un zumbador. Asi queda sin alimentacion el PIC y todo el circuito emisor. El retardo es para que no lleguen dos caracteres seguidos a la alarma y me la este activando y desactivando.
Mil gracias de nuevo voy a probar todo eso.

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: PIC pequeño 12C y RS232
« Respuesta #12 en: 04 de Noviembre de 2011, 16:39:39 »
Por cierto es una pequeña alarma para moto, con un sensor de vibracion y una sirena de 4 Euros. Emisor de radio para puesta en marcha y paro , un led en el cuadro para señalizar y poco mas.
Si cuando este lista alguien la quiere os la paso. Menos coste casi imposible creo.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: PIC pequeño 12C y RS232
« Respuesta #13 en: 04 de Noviembre de 2011, 16:42:30 »
¡La quiero!. Siempre he pensado en hacer algo para mi moto y nunca le meto mano

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: PIC pequeño 12C y RS232
« Respuesta #14 en: 04 de Noviembre de 2011, 16:51:03 »
Por supuesto cuenta con ello, ya esta casi en proteus y si va diseño rapido los CI y te lo paso todo.El sensor que usare es un viejo interruptor de mercurio, de los que no se si se encuentran ya pero que aun tengo ahi de otra vieja alarma de Moto Cmos que me monte hace años.

Mil gracias de nuevo