Autor Tema: Duda simplona con programa para PIC12F683  (Leído 3992 veces)

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

Desconectado samshiel_pic

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 777
    • Electrónica·Ingenia
Duda simplona con programa para PIC12F683
« en: 19 de Noviembre de 2006, 20:20:23 »
Hola a todos!!
Estoy realizando un proyecto lo quiero realizar con el PIC12F683 pero nunca he trabajado con un pic sin usar un oscilador externo.


El programa es muy sencillo:
  • Cuando pulsas RA0 (pulsador 1) se activa el led1 que esta en RA2 y la lampara que esta en RA5 estara encendida, a su vez una lampara hace intermitencia en RA4 pasado unos 10 seg. todo se apaga.
  • Cuando pulsas RA1 (pulsador 2) se activa el led2 que esta en RA3 y la lampara que esta en RA5 estara encendida, a su vez una lampara hace intermitencia en RA4 pasado unos 10 seg. todo se apaga. 

Código: C
  1. /*____________________________________________________________________________*\
  2. ||                                                                            ||
  3. ||  SAMSHIEL_PIC"06                                                           ||
  4. ||  20/Noviembre/06                                                           ||
  5. ||                                                                            ||
  6. ||  Programa:  prueba_1                                                       ||
  7. ||  Version:   1.0                                                            ||
  8. ||                                                                            ||
  9. ||  Dispositivo: PIC 12f683          Compilador:    CCS vs3.249               ||
  10. ||  Entorno IDE: MPLAB IDE v7.20      Simulador:    Proteus 6.7sp3            ||
  11. ||                                                                            ||
  12. ||                                                                            ||
  13. ||____________________________________________________________________________||
  14. \*----------------------------------------------------------------------------*/
  15.  
  16. #include <12f683.h>
  17. #fuses nowdt,noput,nobrownout,noprotect,nomclr,intrc_io
  18. #define OSC_1MHZ    0x41
  19. #use delay (clock=1000000)
  20. #use fast_io(A)
  21. #byte port_a=5
  22. #use fixed_io(a_outputs=PIN_A2,PIN_A3,PIN_A4,PIN_A5)
  23.  
  24.  
  25. intermitente()
  26.    {
  27.    int x;
  28.    for(x=0;x=20;x++)
  29.       {
  30.       output_high(pin_A4);
  31.       delay_ms(500);
  32.       output_low(pin_A4);
  33.       delay_ms(500);
  34.       }
  35.    output_low(pin_A2 && pin_A3);
  36.    output_low(pin_A5);
  37.    }
  38.  
  39. void main ()
  40.    {
  41.    setup_oscillator(OSC_1MHZ);
  42.    while(1)
  43.       {
  44.       if(input(PIN_A0))
  45.          {
  46.           while(input(PIN_A0));
  47.             {
  48.             output_high(pin_A2);
  49.             output_high(pin_A5);
  50.             intermitente();
  51.             }
  52.          }
  53.  
  54.       if(input(PIN_A1))
  55.          {
  56.           while(input(PIN_A1));
  57.             {
  58.             output_high(pin_A3);
  59.             output_high(pin_A5);
  60.             intermitente();
  61.             }
  62.          }
  63.      }
  64.    }

Me gustaria saber si esta bien configurado el uso del oscilador interno. El problema es que no puedo probarlo hasta dentro de unos cuantos de dias y me he puesto hoy con el programa y me gustaria saber si esta bien.
Solo eso. Gracias amigos!!

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Duda simplona con programa para PIC12F683
« Respuesta #1 en: 20 de Noviembre de 2006, 02:46:32 »
Debe funcionar, estás usando los mismos fuses que en mi minidimmer, que está hecho con el mismo micro.

Desconectado samshiel_pic

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 777
    • Electrónica·Ingenia
Re: Duda simplona con programa para PIC12F683
« Respuesta #2 en: 20 de Noviembre de 2006, 18:25:51 »
Hola! pues al primer round le he echo KO al oscilador interno. :mrgreen: Si que funciona bien el bichito con lo chiquitito que es jejeje. Tengo que modificar un poco el programa para que vaya mas fino. Pero me estoy comiendo la cabeza un monton con una tonteria que la he realizado varias veces ya con anterioridad pero con este micro nunca ya que es la primera vez que lo uso.
Es configurar el PORT_A de la siguiente manera:
  • RA0 y RA1 como entradas y el resto como salidas.
Yo lo hago de la siguiente manera pero no me va muy bien:

Código: C
  1. SET_TRIS_A(0b00000011);
No se si por que el puerto solo tiene 6 I/O tengo que poner 0b000011 ó 0b00000011.

No se si me falta algo o no. Por que siempre me pasa esto con las cosas mas faciles y tontas de todas???? no lo llego a entender!!  :D

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Duda simplona con programa para PIC12F683
« Respuesta #3 en: 20 de Noviembre de 2006, 18:36:45 »
Ambas instrucciones son equivalentes, y la forma correcta de configurar los dos pines menos significativos como entradas.

Yo buscaría el error en otra parte del programa.


 

anything