Respond to this messageRetornar ao Fórum
Original Message
  • PIC18F258
    • (Login dcssl)
      Posted Jul 18, 2007 9:19 AM

      Bom Dia Meus amigos tendo visto que vocês tem um grande conhecimento, perante a utilização de PIC, venho aqui para lhes pedir que se puderem me ajudar por favor o faça. o meu problema e o seguinte.

      Estou hoje programando em um PIC18F258, estou tendo dificuldades com ele pois tudo o que eu fiz ate hoje não deu certo!

      vou te mandar o esquema do circuito e o os códigos que eu já tentei com ele, se você puder me ajudar.
      Eu já não sei mais a quem recorrer muito obrigada pela paciência!

      Se tiver algo erra ou algum codigo que você achem errado me fala!
      Eu estou realmente se saber agora para onde ir.

      Outra Duvida o oscilador tem que ser configurado no PIC16
      e só usar "#use delay(clock=40000000)", mais no PIC18F258 e MPLAB não aceita este codigo e fala que ele esta incorreto!




      ******************************o primeiro código foi esse*************************************** ******************************o primeiro código foi esse*************************************** ******************************o primeiro código foi esse*************************************** ******************************o primeiro código foi esse*************************************** ******************************o primeiro código foi esse***************************************


      #include
      #include
      #define LED PORTCbits.RC5 // Renome ando as portas do PIC

      void main()
      {
      TRISC = 0; // Determina todo o PORTB como saída
      LATC = 1; // Lê as informações do PORTB
      LED = 1;
      while(1)
      {
      Delay10KTCYx(10); // Utilizado para causar também uma pequena interrupção
      LED = !LED;
      Delay10KTCYx(10);
      }
      }


      ******************************o segundo código foi esse*************************************** ******************************o segundo código foi esse*************************************** ******************************o segundo código foi esse*************************************** ******************************o segundo código foi esse*************************************** ******************************o segundo código foi esse*************************************** ******************************o segundo código foi esse***************************************



      #include


      #pragma config OSC = XT //Configuração do oscilador tipo XT


      #define C PORTCbits.RC0 //Renome ando as portas do PIC
      #define C1 PORTCbits.RC1
      #define C2 PORTCbits.RC2
      #define C3 PORTCbits.RC3
      #define C4 PORTCbits.RC4
      #define C5 PORTCbits.RC5
      #define c6 PORTCbits.RC6
      #define C7 PORTCbits.RC7


      #define B PORTBbits.RB0
      #define B1 PORTBbits.RB1
      #define B2 PORTBbits.RB2
      #define B3 PORTBbits.RB3
      #define B4 PORTBbits.RB4
      #define B5 PORTBbits.RB5
      #define B6 PORTBbits.RB6
      #define B7 PORTBbits.RB7


      #define A PORTAbits.RA0
      #define A1 PORTAbits.RA1
      #define A2 PORTAbits.RA2
      #define A3 PORTAbits.RA3
      #define A4 PORTAbits.RA4
      #define A5 PORTAbits.RA5


      void wait() // tem a função de causar uma pequena interrupção
      {
      int x;
      x = 20000;
      Delay10KTCYx(10);
      for (;x>0; x--);
      }


      void pause() // tem a função de causar uma pequena interrupção
      {
      int x;
      x = 20000;
      for(;x>0; x--){
      B = 1; // determina esta porta para liberar uma corrente
      }

      wait();
      int x;
      x = 20000;
      Delay10KTCYx(10); // Utilizado para causar também uma pequena interrupção
      for(;x>0; x--){
      Delay10KTCYx(10);
      B = 0; // determina esta porta para bloquear uma corrente
      }
      }

      void main()
      {

      TRISB = 0; // Determina todo o PORTB como saída
      LATB= 0; // Lê as informações do PORTB
      TRISA = 0xFF; // Determina como entrada
      LATA= 1; // Lê a entrada
      TRISC = 0xFF;
      LATB= 1;

      while(1)
      {

      C = 1;
      C1 = 1;
      C2 = 1;
      C3 = 1;
      C4 = 1;
      C5 = 1;
      C6 = 1;
      C7 = 1;
      B = 1;

      Delay10KTCYx(10); // Utilizado para causar também uma pequena interrupção

      if(PORTAbits.RA0)
      {
      B = 1;
      }
      else
      {
      pause(); // tem a função de causar uma pequena interrupção
      Delay10KTCYx(10);
      B = 0;// acende uma determinada porta RB0

      wait(); // tem a função de causar uma pequena interrupção


      pause(); // tem a função de causar uma pequena interrupção
      }

      B1 = 1;
      B2 = 1;
      B3 = 1;
      B4 = 1;
      B5 = 1;
      B6 = 1;
      B7 = 1;

      A = 1;
      A1 =1;
      A2 = 1;
      A3 = 1;
      A4 = 1;
      A5 = 1;

      Delay10KTCYx(10);

      }
      }
    Login Status
  • You are not logged in
    • Login
      Password
       

      Optional
      Provides additional benefits such as notifications, signatures, and user authentication.


      Create Account
    Your Name
    Your Email
    (Optional)
    Message Title
    Message Text
    Image Services Photobucket.com
    Options Enable formatted text (Huh?)
    Also send responses to my email address
          


    Create your own forum at Network54
     Copyright © 1999-2009 Network54. All rights reserved.   Terms of Use   Privacy Statement