Fórum Eletrônica2002 (Brasil)
Seja bem vindo ao fórum Eletrônica2002.

Para ter acesso a todo o conteúdo do fórum você precisa estar cadastrado e fazer o login!

Se não é cadastrado no fórum: aproveite e faça.

Para criar um tópico, você precisa se cadastrar e estar conectado.
Ao criar um tópico, vc deve colocar a marca/modelo/e defeito do aparelho no título do tópico. Isto é regra neste fórum!
https://eletronica2002.forumeiros.com/forum-de-reparacao-de-aparelhos-eletronicos-f1/regras-do-forum-t19731.htm

Falar com o administrador?
Mande um e-mail: valdeni@eletronica2002.com.br

Participe do fórum, é rápido e fácil

Fórum Eletrônica2002 (Brasil)
Seja bem vindo ao fórum Eletrônica2002.

Para ter acesso a todo o conteúdo do fórum você precisa estar cadastrado e fazer o login!

Se não é cadastrado no fórum: aproveite e faça.

Para criar um tópico, você precisa se cadastrar e estar conectado.
Ao criar um tópico, vc deve colocar a marca/modelo/e defeito do aparelho no título do tópico. Isto é regra neste fórum!
https://eletronica2002.forumeiros.com/forum-de-reparacao-de-aparelhos-eletronicos-f1/regras-do-forum-t19731.htm

Falar com o administrador?
Mande um e-mail: valdeni@eletronica2002.com.br
Fórum Eletrônica2002 (Brasil)
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
.

Menu de navegação


Clique nas imagens abaixo para acessar os fóruns desejados.

Fóruns:






---------------------------

PARCEIROS

E PATROCINADORES

DO FÓRUM 2002:

================



================

Quer ser um patrocinador do fórum?

Mande um e-mail para:

Valdeni@eletronica2002.com.br


_________________
Últimos assuntos
» Radio cmik-mk-918 som baixo
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptyOntem à(s) 17:46 por antonio benedito de queir

» Akai AA-A35 Display apagado
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptyOntem à(s) 17:32 por city2010

» TV STI DL3270 A W , sem audio
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptyOntem à(s) 14:00 por valdircp

» Caixa de Som Amplificada CSR 4000A Som Distorcido e Pouca Potência!!!
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySáb 23 Nov 2024, 18:05 por prva

»  OU O FÓRUM ACABOU OU NINGUÉM PARTICIPA DO FÓRUM MAIS.
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySáb 23 Nov 2024, 09:09 por Paranista

» Tv lcd,marca Aoc, modelo- LE 39D0330 -defeito,só liga depois de um tempo(quando aquece)
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySáb 23 Nov 2024, 08:28 por jailton da silva santos

» Notbook asus mod. X44C K43L versão 1 preciso do esquema
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySáb 23 Nov 2024, 02:30 por willian8952

» ameaçado por nao consertar aparelho por falta de peças
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySex 22 Nov 2024, 22:19 por joaquimrosadesouza

» Componentes estourados Fonte Usina Spark 120A
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySex 22 Nov 2024, 21:13 por antonio carlos bitti

» fonte usina 60 amperes cai tensao qdo conecta bateria
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySex 22 Nov 2024, 21:04 por antonio carlos bitti

» Tv Philips 50pug6654/78 sem imagem
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySex 22 Nov 2024, 16:02 por SEBCICM

» PS2 Slim 90k testar entradas do memory card
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySex 22 Nov 2024, 11:51 por gamemaniaco

» Procuro a placa lateral do sistema de som Sony MHC-GTX88 e Ci BD3451KS
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySex 22 Nov 2024, 10:16 por Silas Silva Nogueira

» fonte taramps tef 60 amperes ci estourado
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptyQui 21 Nov 2024, 19:27 por antonio carlos bitti

» [Resolvido] TV PLASMA SAMSUNG PL51F4900AG Não liga , led stand by piscando ( RESOLVIDO )
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptyQui 21 Nov 2024, 13:28 por Paranista

» TV LG MODELO 42LB5600 ACENDE O LED MAS NÃO LIGA
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptyQua 20 Nov 2024, 18:27 por Tales g

» Compro placa principal da LG 42lh45ed ou 42lh40ed
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySeg 18 Nov 2024, 11:22 por Paulo Costa II

» Som Philips fw c 505 Ajuda entender o esquema
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySáb 16 Nov 2024, 10:03 por nagkiller

» (Resolvido) AIWA NSXF959 SEM SOM MÉDIOS AGUDOS
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySáb 16 Nov 2024, 00:31 por ZACREAL

» como descartar TRC
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySex 15 Nov 2024, 08:32 por jailton da silva santos

» cliente que não busca os aparelhos consertados, o que fazer
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySex 15 Nov 2024, 00:59 por MARIO Y. SEGAWA

» compro placa pricipal tv lg 50pb560
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptyQua 13 Nov 2024, 11:11 por Eletronica Manoel

» Modulo Taramps t800.1 com os resistores r32 e r5 torrados
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySeg 11 Nov 2024, 10:41 por prisma eletronica

» Akai AA-A35 Seletor de Tensão
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySeg 11 Nov 2024, 08:34 por city2010

» [RESOLVIDO] TV LCD UN50FH5303G Componentes danificados
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySeg 11 Nov 2024, 00:54 por nagkiller

» TV PANASONIC TC- 32A400B Imagem travando
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptyDom 10 Nov 2024, 16:01 por ramon figueiredo

» ATENÇÃO de todos os usuários da 2002! (Nova regra).
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptyDom 10 Nov 2024, 12:00 por robsonseixas

» Microondas MEF-41 Eletrolux, não acende luz da porta quando abre, e quando fecha não liga
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySex 08 Nov 2024, 22:30 por joaquimrosadesouza

» Caixa som Ciclotron mult 500 Preciso do esquema
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySex 08 Nov 2024, 21:34 por prisma eletronica

» Pessoal tenho placa barato.
Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  EmptySex 08 Nov 2024, 20:47 por francisco carlos de jesus

Quem está conectado?
414 usuários online :: 0 registrados, 0 invisíveis e 414 visitantes :: 1 motor de busca

Nenhum

O recorde de usuários online foi de 1034 em Sex 24 Jul 2015, 10:41
Anuncios

    Nenhum anúncio


    Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    2 participantes

    Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por thiiiago10 Qua 03 maio 2017, 22:30

    Bom Dia, Boa Tarde, Boa Noite, venho pedir ajuda pois estou tendo muita dificuldade para fazer o código de um timer programável, ou seja, eu quero criar um contador regressivo programável para um alimentador que podera ser controlado por 4 botões, 1 para segundos, 1 para minutos, 1 para horas e 1 para iniciar a contagem, e teria mais um para despejar a comida na hora.

    Se alguém puder me ajudar na programação do timer, eu agradeceria muito.


    Última edição por thiiiago10 em Qui 01 Jun 2017, 23:47, editado 2 vez(es)
    thiiiago10
    thiiiago10
    NOVATO
    NOVATO

    DESCRIÇÃO: : Técnico em Eletrônica
    TEMPO DE EXPERIÊNCIA : to cursando
    Sexo : Masculino
    Número de Mensagens : 13
    Idade : 24
    Cidade/Estado: : São Paulo
    Data de inscrição : 03/05/2017

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por nagkiller Ter 09 maio 2017, 10:57

    O que você já fez nesse projeto???
    Que linguagem de programação esta utilizando???
    Poste o esquema e o codigo do que já tem feito.

    Flw
    nagkiller
    nagkiller
    Moderador do fórum
    Moderador do fórum

    DESCRIÇÃO: : Técnico em Eletrônica e informática
    TEMPO DE EXPERIÊNCIA : Desde 1990
    Sexo : Masculino
    Número de Mensagens : 2997
    Idade : 44
    Cidade/Estado: : Garça - São Paulo
    Humor : Depende
    Data de inscrição : 23/11/2011

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por thiiiago10 Dom 28 maio 2017, 21:32

    Código:

    sbit LCD_RS at RD2_bit;
    sbit LCD_EN at RD3_bit;
    sbit LCD_D4 at RD4_bit;
    sbit LCD_D5 at RD5_bit;
    sbit LCD_D6 at RD6_bit;
    sbit LCD_D7 at RD7_bit;

    sbit LCD_RS_Direction at TRISD2_bit;
    sbit LCD_EN_Direction at TRISD3_bit;
    sbit LCD_D4_Direction at TRISD4_bit;
    sbit LCD_D5_Direction at TRISD5_bit;
    sbit LCD_D6_Direction at TRISD6_bit;
    sbit LCD_D7_Direction at TRISD7_bit;

    #define  horas1        RB0_bit             //Botão para incrementar as horas
    #define  minutos10     RB1_bit             //Botão para incrementar 10 minutos
    #define  start         RB2_bit             //Botão para iniciar a contagem
    #define  despejar      RB3_bit             //Botão para despejar a ração

    char *text  = "00:00:00";                  //Ponteiro para texto do contador no LCD
    char flags=0x00;                           //Registrador auxiliar para armazenar estado dos botões
    unsigned contagem;
    char horas, minutos, segundo;        //Variaveis do contador

    void interrupt()
    {
      if(TMR1IF_bit)
      {
       TMR1IF_bit = 0x00;
       TMR1L = 0x2C;
       TMR1H = 0xCF;
       contagem++;
      }


    }



    void main()
    {
     ADCON1 = 0x0F;
     INTCON = 0xC0;
     TMR1IE_bit = 0x01;
     T1CON = 0x21;
     TMR1L = 0x2C;
     TMR1H = 0xCF;
     TRISB = 0x0F;
     TRISD = 0x00;
     PORTD = 0x00;
     Lcd_Init();
     Lcd_Cmd(_LCD_CLEAR);
     Lcd_Cmd(_LCD_CURSOR_OFF);
     Lcd_Out(1,1,"  ALIMENTADOR");
     Lcd_Out(2,1,"   PET FOOD");
     delay_ms(1000);
     Lcd_Cmd(_LCD_CLEAR);
     Lcd_Out( 1, 1, "TEMPO" );
     Lcd_Out( 2, 1, "VEZES:" );
     Lcd_Out( 2, 9, "00" );

      while(1)
     {
      if(contagem==100)
      {
       contagem = 0;
       if(start)
       {
        segundo--;
        if(segundo== 0)
        {
         segundo = 59;
         minutos--;
         if(minutos==0)
         {
          segundo = 59;
          minutos = 59;
          horas--;

          if(horas==0)
          {
           horas = 0;
           minutos = 0;
           segundo = 0;
           start = 0;
           Lcd_Cmd(_LCD_CLEAR);
           Lcd_Out(1,3,"DESPEJANDO");
           Lcd_Out(2,3,"RAÇÃO");

          } //end if horas

         } //end if minutos

        } //end if segundos

       } //end if starta

      } //end if contagem
      if(!horas1)
      {
       flags.b7 = 0x01;
      }
      if(horas1 && flags.b7)                          //Incrementa unidade na hora
       {
         flags.b7=0x00;
         horas++;
         if(horas > 0x17) horas = 0x00;
       }// end if horas1
       if(!minutos10)
       {
       flags.b6 = 0x01;
       }
        if(minutos10 && flags.b6)                       //Incrementa dezena nos minutos
       {
        flags.b6=0x00;
        minutos = minutos + 5;
        if(minutos > 0x3B) minutos = 0x00;
       }
       if(!start)
       {
        flags.b5 = 0x01;
       }
       if(start && flags.b5)
       {
         flags.b5 = 0x00;
         start = ~ start;
       }
       {
        text[7] = segundo%10 + '0';
        text[6] = segundo/10 + '0';
        text[4] = minutos%10 + '0';
        text[3] = minutos/10 + '0';
        text[1] = horas%10 + '0';
        text[0] = horas/10 + '0';

        Lcd_Out(1,9,text);
       }

     }//END WHILE


    }//END VOID


    A parte da hora que estou tendo problemas


    Última edição por thiiiago10 em Dom 28 maio 2017, 22:07, editado 1 vez(es)
    thiiiago10
    thiiiago10
    NOVATO
    NOVATO

    DESCRIÇÃO: : Técnico em Eletrônica
    TEMPO DE EXPERIÊNCIA : to cursando
    Sexo : Masculino
    Número de Mensagens : 13
    Idade : 24
    Cidade/Estado: : São Paulo
    Data de inscrição : 03/05/2017

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por thiiiago10 Dom 28 maio 2017, 21:33

    To usando a linguagem C no compilador MickroC
    thiiiago10
    thiiiago10
    NOVATO
    NOVATO

    DESCRIÇÃO: : Técnico em Eletrônica
    TEMPO DE EXPERIÊNCIA : to cursando
    Sexo : Masculino
    Número de Mensagens : 13
    Idade : 24
    Cidade/Estado: : São Paulo
    Data de inscrição : 03/05/2017

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por thiiiago10 Dom 28 maio 2017, 22:11

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Sem_ty10Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Sem_ty11
    thiiiago10
    thiiiago10
    NOVATO
    NOVATO

    DESCRIÇÃO: : Técnico em Eletrônica
    TEMPO DE EXPERIÊNCIA : to cursando
    Sexo : Masculino
    Número de Mensagens : 13
    Idade : 24
    Cidade/Estado: : São Paulo
    Data de inscrição : 03/05/2017

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por nagkiller Sex 02 Jun 2017, 18:40

    Analisando seu código, apenas não vi onde você volta as horas, minutos e segundos para respectivos 23:59:59 quando a contagem chegam em 0!!!

    Qual a sua dificuldade, pode ser mais especifico???

    Flw...

    _________________
    No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
    nagkiller
    nagkiller
    Moderador do fórum
    Moderador do fórum

    DESCRIÇÃO: : Técnico em Eletrônica e informática
    TEMPO DE EXPERIÊNCIA : Desde 1990
    Sexo : Masculino
    Número de Mensagens : 2997
    Idade : 44
    Cidade/Estado: : Garça - São Paulo
    Humor : Depende
    Data de inscrição : 23/11/2011

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por thiiiago10 Sex 02 Jun 2017, 18:49

    ja revolvi meu problema.
    thiiiago10
    thiiiago10
    NOVATO
    NOVATO

    DESCRIÇÃO: : Técnico em Eletrônica
    TEMPO DE EXPERIÊNCIA : to cursando
    Sexo : Masculino
    Número de Mensagens : 13
    Idade : 24
    Cidade/Estado: : São Paulo
    Data de inscrição : 03/05/2017

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por thiiiago10 Sex 02 Jun 2017, 18:50

    É necessário postar o novo código?
    thiiiago10
    thiiiago10
    NOVATO
    NOVATO

    DESCRIÇÃO: : Técnico em Eletrônica
    TEMPO DE EXPERIÊNCIA : to cursando
    Sexo : Masculino
    Número de Mensagens : 13
    Idade : 24
    Cidade/Estado: : São Paulo
    Data de inscrição : 03/05/2017

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por nagkiller Sáb 03 Jun 2017, 01:16

    Seria interessante!!!

    _________________
    No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
    nagkiller
    nagkiller
    Moderador do fórum
    Moderador do fórum

    DESCRIÇÃO: : Técnico em Eletrônica e informática
    TEMPO DE EXPERIÊNCIA : Desde 1990
    Sexo : Masculino
    Número de Mensagens : 2997
    Idade : 44
    Cidade/Estado: : Garça - São Paulo
    Humor : Depende
    Data de inscrição : 23/11/2011

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por nagkiller Sáb 03 Jun 2017, 12:43

    Uma observação em seu código é que há a comparação if (contagem == 100), seria melhor utilizar a comparação if (contagem >= 100), em alguns casos, ainda mais quando há interrupções, o valor da contagem pode ser incrementado em 101, neste caso seu software poderá continuar contando (101,102...255,1 2, 3,4) até chegam em 100 novamente, e se caso nessa hora tenha algo prendendo o microcontrolador na interrupção, ele poderá pular o 100 novamente não fazendo a comparação se contagem = 100. Uma vez que a comparação é feita no loop principal de seu programa.

    Além de reiniciar os valores conforme meu post anterior.

    Código:

         if(start)
         {
          segundo--;
          if(segundo > 0x3B) segundo = 0x3B;
          if(minutos > 0x3B) minutos = 0x3B;
          if(horas > 0x17) horas = 0x17;
    ...

    Flw...

    _________________
    No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
    nagkiller
    nagkiller
    Moderador do fórum
    Moderador do fórum

    DESCRIÇÃO: : Técnico em Eletrônica e informática
    TEMPO DE EXPERIÊNCIA : Desde 1990
    Sexo : Masculino
    Número de Mensagens : 2997
    Idade : 44
    Cidade/Estado: : Garça - São Paulo
    Humor : Depende
    Data de inscrição : 23/11/2011

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por thiiiago10 Sáb 03 Jun 2017, 13:36

    Eu coloquei a parte da programação do contador direto na interrupção.


    Código:

    void interrupt()
    {
      if(TMR1IF_bit)
      {
       TMR1IF_bit = 0;
       TMR1L = 0x2C;
       TMR1H = 0xCF;
       contagem++;
       if(contagem>=100)
       contagem=0;
       if(start)
       {
        if(segundo > 0)
        segundo--;
        else if((horas!=0)||(minutos!=0))
        {
          segundo=59;
          if(minutos > 0)
            minutos--;
          else if (horas!=0)
          {
           minutos = 59;
           horas--;

          }
          
         }

        }

       }
      
      }
    thiiiago10
    thiiiago10
    NOVATO
    NOVATO

    DESCRIÇÃO: : Técnico em Eletrônica
    TEMPO DE EXPERIÊNCIA : to cursando
    Sexo : Masculino
    Número de Mensagens : 13
    Idade : 24
    Cidade/Estado: : São Paulo
    Data de inscrição : 03/05/2017

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por thiiiago10 Sáb 03 Jun 2017, 13:40

    Mas agora estou com um problema que a programação do motor nao esta funcionando.
    thiiiago10
    thiiiago10
    NOVATO
    NOVATO

    DESCRIÇÃO: : Técnico em Eletrônica
    TEMPO DE EXPERIÊNCIA : to cursando
    Sexo : Masculino
    Número de Mensagens : 13
    Idade : 24
    Cidade/Estado: : São Paulo
    Data de inscrição : 03/05/2017

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por thiiiago10 Sáb 03 Jun 2017, 13:42

    Ja coloquei
    Código:
    if((horas==0)&&(minutos==0)&&(segundos==0))
    mas mesmo assim nao acionou o motor
    thiiiago10
    thiiiago10
    NOVATO
    NOVATO

    DESCRIÇÃO: : Técnico em Eletrônica
    TEMPO DE EXPERIÊNCIA : to cursando
    Sexo : Masculino
    Número de Mensagens : 13
    Idade : 24
    Cidade/Estado: : São Paulo
    Data de inscrição : 03/05/2017

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por nagkiller Sáb 03 Jun 2017, 14:28

    Em seu código e esquema eu não ví qual o pino atribuido ao controle de motor!!!

    Flw...

    _________________
    No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
    nagkiller
    nagkiller
    Moderador do fórum
    Moderador do fórum

    DESCRIÇÃO: : Técnico em Eletrônica e informática
    TEMPO DE EXPERIÊNCIA : Desde 1990
    Sexo : Masculino
    Número de Mensagens : 2997
    Idade : 44
    Cidade/Estado: : Garça - São Paulo
    Humor : Depende
    Data de inscrição : 23/11/2011

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por thiiiago10 Seg 05 Jun 2017, 20:01

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Sem_ty12


    Esquema
    thiiiago10
    thiiiago10
    NOVATO
    NOVATO

    DESCRIÇÃO: : Técnico em Eletrônica
    TEMPO DE EXPERIÊNCIA : to cursando
    Sexo : Masculino
    Número de Mensagens : 13
    Idade : 24
    Cidade/Estado: : São Paulo
    Data de inscrição : 03/05/2017

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por thiiiago10 Seg 05 Jun 2017, 20:04

    A configuração do motor é essa.
    Código:

        Lcd_Cmd(_LCD_CLEAR);
        Lcd_Out(1,3,"DESPEJANDO");
        Lcd_Out(2,3,"RACAO...");
        PORTC = 0b00000001;
        delay_ms(300);
        PORTC = 0b00001000;
        delay_ms(300);
        PORTC = 0b00000100;
        delay_ms(300);
        PORTC = 0b00000010;
        delay_ms(300);
        PORTC = 0b00000001;
        delay_ms(300);
        PORTC = 0b00001000;
        delay_ms(300);
        PORTC = 0b00000100;
        delay_ms(300);
        PORTC = 0b00000010;
        delay_ms(300);
        Lcd_Cmd(_LCD_CLEAR);
        Lcd_Out(1,3,"  RACAO");
        Lcd_Out(2,3,"DESPEJADA!");
        delay_ms(2000);
        Lcd_Cmd(_LCD_CLEAR);


    Os pinos são so PORTC0 ate o PORTC3
    thiiiago10
    thiiiago10
    NOVATO
    NOVATO

    DESCRIÇÃO: : Técnico em Eletrônica
    TEMPO DE EXPERIÊNCIA : to cursando
    Sexo : Masculino
    Número de Mensagens : 13
    Idade : 24
    Cidade/Estado: : São Paulo
    Data de inscrição : 03/05/2017

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por thiiiago10 Seg 05 Jun 2017, 20:05

    Apertando o 4º botão ele gira normalmente, mas quando a contagem chega a 00:00:00, ele nao faz nada
    thiiiago10
    thiiiago10
    NOVATO
    NOVATO

    DESCRIÇÃO: : Técnico em Eletrônica
    TEMPO DE EXPERIÊNCIA : to cursando
    Sexo : Masculino
    Número de Mensagens : 13
    Idade : 24
    Cidade/Estado: : São Paulo
    Data de inscrição : 03/05/2017

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por nagkiller Ter 06 Jun 2017, 18:03

    Ele não faz nada porque você não configurou os pinos do PORTC como saída!!!

    Faça isso declarando os pinos de saída no registrador TRISC.

    Flw...

    _________________
    No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
    nagkiller
    nagkiller
    Moderador do fórum
    Moderador do fórum

    DESCRIÇÃO: : Técnico em Eletrônica e informática
    TEMPO DE EXPERIÊNCIA : Desde 1990
    Sexo : Masculino
    Número de Mensagens : 2997
    Idade : 44
    Cidade/Estado: : Garça - São Paulo
    Humor : Depende
    Data de inscrição : 23/11/2011

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por thiiiago10 Ter 06 Jun 2017, 18:25

    Aqui esta o código completo.

    Código:


    sbit LCD_RS at RD2_bit;
    sbit LCD_EN at RD3_bit;
    sbit LCD_D4 at RD4_bit;
    sbit LCD_D5 at RD5_bit;
    sbit LCD_D6 at RD6_bit;
    sbit LCD_D7 at RD7_bit;

    sbit LCD_RS_Direction at TRISD2_bit;
    sbit LCD_EN_Direction at TRISD3_bit;
    sbit LCD_D4_Direction at TRISD4_bit;
    sbit LCD_D5_Direction at TRISD5_bit;
    sbit LCD_D6_Direction at TRISD6_bit;
    sbit LCD_D7_Direction at TRISD7_bit;

    #define  horas1        RB0_bit
    #define  minutos10     RB1_bit
    #define  starta        RB2_bit
    #define  despejar      RB3_bit


    char *text  = "00:00:00";
    char *text2 = "00";
    char flags=0x00;
    int contagem;
    short horas, minutos, segundo;
    char despeja;
    bit start;

    void interrupt()
    {
      if(TMR1IF_bit)
      {
       TMR1IF_bit = 0;
       TMR1L = 0x2C;
       TMR1H = 0xCF;
       contagem++;
       if(contagem==100)
       contagem=0;
       if(start)
       {
        if(segundo > 0)
        segundo--;
        else if((horas!=0)||(minutos!=0))
        {
          segundo=59;
          if(minutos > 0)
            minutos--;
          else if (horas!=0)
          {
           minutos = 59;
           horas--;
           if((horas==0)&&(minutos==0)&&(segundo==0))
           {
            Lcd_Cmd(_LCD_CLEAR);
            Lcd_Out(1,3,"DESPEJANDO");
            Lcd_Out(2,3,"RACAO...");
            PORTC = 0b00000001;
            delay_ms(300);
            PORTC = 0b00001000;
            delay_ms(300);
            PORTC = 0b00000100;
            delay_ms(300);
            PORTC = 0b00000010;
            delay_ms(300);
            PORTC = 0b00000001;
            delay_ms(300);
            PORTC = 0b00001000;
            delay_ms(300);
            PORTC = 0b00000100;
            delay_ms(300);
            PORTC = 0b00000010;
            delay_ms(300);
            Lcd_Cmd(_LCD_CLEAR);
            Lcd_Out(1,3,"  RACAO");
            Lcd_Out(2,3,"DESPEJADA!");
            delay_ms(2000);
            Lcd_Cmd(_LCD_CLEAR);
            Lcd_Out(1,1,"TEMPO");
           }
          }//else if (horas!=0)

         }//else if((horas!=0)||(minutos!=0))

        }//if(start)

       }//if(TMR1IF_bit)

      }//void interrupt





    void main()
    {
     ADCON1 = 0x0F;
     INTCON = 0xC0;
     TMR1IE_bit = 1;
     T1CON = 0x21;
     TMR1L = 0x2C;
     TMR1H = 0xCF;
     TRISB = 0xFF;
     TRISD = 0;
     PORTD = 0;
     PORTC = 0;
     TRISC = 0;
     horas = 0;
     segundo = 0;
     minutos = 0;
     start = 0;
     Lcd_Init();
     Lcd_Cmd(_LCD_CLEAR);
     Lcd_Cmd(_LCD_CURSOR_OFF);
     Lcd_Out(1,1,"  ALIMENTADOR");
     Lcd_Out(2,1,"   PET FOOD");
     delay_ms(1000);
     Lcd_Cmd(_LCD_CLEAR);
     Lcd_Out( 1, 1, "TEMPO:" );


      while(1)
     {

      if(!horas1)
      {
       flags.b7 = 0x01;
      }
      if(horas1 && flags.b7)                          //Incrementa unidade na hora
       {
         flags.b7=0x00;
         horas++;
         if(horas > 0x17) horas = 0x00;
       }// end if horas1
       if(!minutos10)
       {
       flags.b6 = 0x01;
       }
        if(minutos10 && flags.b6)                       //Incrementa dezena nos minutos
       {
        flags.b6=0x00;
        minutos++;
        if(minutos > 0x3B) minutos = 0x00;
       }
       if(!starta)
       {
        flags.b5 = 0x01;
       }
       if(starta && flags.b5)
       {
         flags.b5 = 0x00;
         start = ~ start;
       }
       if(!despejar)
       {
        flags.b3 = 0x01;
       }
       if(despejar && flags.b3)
       {
        flags.b3 = 0x00;
        Lcd_Cmd(_LCD_CLEAR);
        Lcd_Out(1,3,"DESPEJANDO");
        Lcd_Out(2,3,"RACAO...");
        PORTC = 0b00000001;
        delay_ms(300);
        PORTC = 0b00001000;
        delay_ms(300);
        PORTC = 0b00000100;
        delay_ms(300);
        PORTC = 0b00000010;
        delay_ms(300);
        PORTC = 0b00000001;
        delay_ms(300);
        PORTC = 0b00001000;
        delay_ms(300);
        PORTC = 0b00000100;
        delay_ms(300);
        PORTC = 0b00000010;
        delay_ms(300);
        Lcd_Cmd(_LCD_CLEAR);
        Lcd_Out(1,3,"  RACAO");
        Lcd_Out(2,3,"DESPEJADA!");
        delay_ms(2000);
        Lcd_Cmd(_LCD_CLEAR);
        Lcd_Out( 1, 1, "TEMPO:" );

       }
       {
        text[7] = segundo%10 + '0';
        text[6] = segundo/10 + '0';
        text[4] = minutos%10 + '0';
        text[3] = minutos/10 + '0';
        text[1] = horas%10 + '0';
        text[0] = horas/10 + '0';

        Lcd_Out(1,9,text);
       }

     }//END WHILE

    }//END VOID
    thiiiago10
    thiiiago10
    NOVATO
    NOVATO

    DESCRIÇÃO: : Técnico em Eletrônica
    TEMPO DE EXPERIÊNCIA : to cursando
    Sexo : Masculino
    Número de Mensagens : 13
    Idade : 24
    Cidade/Estado: : São Paulo
    Data de inscrição : 03/05/2017

    Ir para o topo Ir para baixo

    Timer programável utilizando o TIMER1 do PIC 18F4520   AJUDA!!  Empty Re: Timer programável utilizando o TIMER1 do PIC 18F4520 AJUDA!!

    Mensagem por Conteúdo patrocinado


    Conteúdo patrocinado


    Ir para o topo Ir para baixo

    Ir para o topo


     
    Permissões neste sub-fórum
    Não podes responder a tópicos