Ir ao conteúdo
  • Cadastre-se

jorgeletronico

Membro Pleno
  • Posts

    2.856
  • Cadastrado em

  • Última visita

posts postados por jorgeletronico

  1. desculpe mas desconheço essa tal placa com transistor,que saiba tanto a inversao ,qto a rotaçao e feito via botões.Bom,tentaria trocar os capacitores de ambos os ventiladores,se tiver conhecimento desmonte ele proceda uma limpeza ,pode ser o rolamento emperrando.O de casa deu problema semelhante ,eu procedi a abertura do mesmo e foi feita a manutençao ta ate hoje funcionando.

  2. Ando vendo q o pessoal aqui ,parece nao dar valor no serviço dos eletronicos,acham caro e tudo mais ,é claro q tens uns picaretas q nada fazem e muito cobram ,mais ha os serios q acabam perdendo o seu valor.........Bom acredito q seu problema possa ser o motor q move a unidade ,ou ate alguma ingrenagem com algum dente quebrado,vale apenas verificar.

  3. saudaçoes the!

    'PIC 12F629

    Define CONF_WORD = 0x31c5 'int osc clock out

    Define CLOCK_FREQUENCY = 4

    TRISIO = 111100b

    Dim contador As Word

    Dim flag As Bit

    flag = 0

    contador = 0

    GP0 = 0 'saida inicialmente em nivel 0

    '"configuração tmr1" 500 ms X 120 = 1 minuto

    T1CON.TMR1CS = 0 'usar o clock interno

    T1CON.T1CKPS0 = 1 'Prescaler 1:8

    T1CON.T1CKPS1 = 1

    TMR1H = 0x0b

    TMR1L = 0xdc

    T1CON.TMR1ON = 1 'habilita a contagem do TIMER1

    PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1

    INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas

    INTCON.GIE = 1 'habilita interrupçao global

    Enable

    'agora, o programa fica esperando passar o tempo,

    'observando o valor de flag.

    'quando passar o tempo determinado, liga a saida GP0

    inicio:

    If flag = 1 Then

    ativa=1

    Endif

    if flag=0 then

    ativa=0

    endif

    Goto inicio

    End

    On Interrupt 'Rotina de tratamento de interrupção

    Save System 'salva o contexto, use sempre

    if ativa=1 then

    contador = contador + 1

    endif

    If contador = 120 Then

    gp0=1

    Endif

    TMR1H = 0x0b 'reinicializa o timer 1 !!!!

    TMR1L = 0xdc

    PIR1.TMR1IF = 0 'habilita a interrupção novamente

    Resume

    Return

  4. 'PIC 12F629

    Define CONF_WORD = 0x31c1 'int osc clock out

    Define CLOCK_FREQUENCY = 4

    TRISIO = 111100b

    Dim contador As Word

    Dim flag As Bit

    contador = 0

    '"configuração tmr1" 500 ms X 120 = 1 minuto

    T1CON.TMR1CS = 0 'usar o clock interno

    T1CON.T1CKPS0 = 0 'Prescaler 1:8

    T1CON.T1CKPS1 = 0

    TMR1H = 0x0b

    TMR1L = 0xdc

    T1CON.TMR1ON = 1 'habilita a contagem do TIMER1

    PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1

    INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas

    intcon.gie=1 'habilita interrupçao global

    Enable

    Goto inicio

    fim:

    GP0 = 1

    End

    On Interrupt 'Rotina de tratamento de interrupção

    Save System 'salva o contexto, use sempre

    if flag=1 then 'passou 500ms ,se flag=1 incrementa contador

    flag=0

    contador=contador+1

    endif

    PIR1.TMR1IF = 0

    Resume

    Return

  5. 12F629

    Define CONF_WORD = 0x31c1 'int osc clock out

    Define CLOCK_FREQUENCY = 4

    TRISIO = 111100b

    Dim contador As Word

    Dim flag As Bit

    contador = 0

    '"configuração tmr1" 500 ms X 120 = 1 minuto

    T1CON.TMR1CS = 0 'usar o clock interno

    T1CON.T1CKPS0 = 0 'Prescaler 1:8

    T1CON.T1CKPS1 = 0

    TMR1H = 0x0b

    TMR1L = 0xdc

    T1CON.TMR1ON = 1 'habilita a contagem do TIMER1

    PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1

    INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas

    intcon.gie=1

    Enable

    inicio:

    contador = contador + 1

    If contador = 120 Then

    contador=0

    goto fim

    Endif

    If flag = 1 Then ===>a cada 500 ms flag = 1 há incremento no contador

    flag = 0

    Endif

    Goto inicio

    fim:

    GP0 = 1

    End

  6. grande the,ou faz um msn ai pra nois trocar experiencia ok o qto mais rápido.Bom, o contador vai na interrupçao do tmr1,ou seja

    configuração tmr1

    T1CON.TMR1CS = 0 'usar o clock interno

    T1CON.T1CKPS0 = 1 'Prescaler 1:8

    T1CON.T1CKPS1 = 1

    TMR1H = 0x0b

    TMR1L = 0xdc

    T1CON.TMR1ON = 1 'habilita a contagem do TIMER1

    PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1

    INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas

    Enable

    contador=contador+1

    if contador =2 then 'passou dois minutos

    contador=0

    If flag=1 then

    flag=0

    gp0=1

    endif

    endif

  7. pensei nisso amigo,nao sei se e isso que quer

    testa:

    if gp1=1 then 'gp1 setado ativa flag de tempo

    flag=1

    endif

    goto testa

    "configuração tmr1

    T1CON.TMR1CS = 0 'usar o clock interno

    T1CON.T1CKPS0 = 1 'Prescaler 1:8

    T1CON.T1CKPS1 = 1

    TMR1H = 0x0b

    TMR1L = 0xdc

    T1CON.TMR1ON = 1 'habilita a contagem do TIMER1

    PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1

    INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas

    Enable

    if contador =2 then 'passou dois minutos

    If flag=1 then

    flag=0

    gp0=1

    endif

    endif

  8. "configuração tmr0

    OPTION_REG.T0CS = 0 'usar clock interno

    OPTION_REG.PSA = 0 ' prescaler ligado no TIMER0

    OPTION_REG.PS2 = 1 ' valor prescaler = 64

    OPTION_REG.PS1 = 0

    OPTION_REG.PS0 = 1

    TMR0 = 0x3d ' contagem inicial do TIMER0 de 61

    Com os comando acima, tudo já está programado, só falta ligar as interrupções, para

    isso usamos a seqüência abaixo :

    INTCON.T0IE = 0 'desabilita a interrupçao do TIMER0

    "configuração tmr1

    T1CON.TMR1CS = 0 'usar o clock interno

    T1CON.T1CKPS0 = 1 'Prescaler 1:8

    T1CON.T1CKPS1 = 1

    TMR1H = 0x0b

    TMR1L = 0xdc

    T1CON.TMR1ON = 1 'habilita a contagem do TIMER1

    PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1

    INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas

    Enable

    'roda rotina principal

    If GP1=1 then ==> Entre o intervalo de 0 a 1 min eu quero levar GP0 à ZERO

    GP0=0

    endif

    end

    On Interrupt 'Rotina de tratamento de interrupção

    Save System 'salva o contexto, use sempre

    'seguem As instruções a serem executadas na interrupção

    goto rotina principal

    PIR1.TMR1IF = 0

    Resume

    return

    OBS:Seria mais ou menos do jeito q esta aqui,ai você muda pra chegar ao q quer ,ali na rotina principal você monta um contador ,para qtas vezes quer q de os pulso , tipo ,você tem um tmr0 de 10 ms ,se for uma frequencia de 100ms então conta de 0 a 10 e sempre testando o flag do tmr0 e manda o port a 1,entendeu ne kkkkkkkkkkkkkk

  9. amigao eis a Sugestão simples .use o tmr1 q estoura a cada 500ms. tendo 2 estouros 1 segundo ,ai e so incrementar um contador ate 60 e incrementar a variavel minuto,quando der dois então você testa o bit ,e faz o resto do codigo,assim poderá executar outras coisas sem se prender a loops.Eis o codigo do tmr1 (500ms)

    T1CON.TMR1CS = 0 'usar o clock interno

    T1CON.T1CKPS0 = 1 'Prescaler 1:8

    T1CON.T1CKPS1 = 1

    TMR1H = 0x0b

    TMR1L = 0xdc

    T1CON.TMR1ON = 1 'habilita a contagem do TIMER1

    PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1

    INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas

    Enable

    On Interrupt 'Rotina de tratamento de interrupção

    Save System 'salva o contexto, use sempre

    'seguem As instruções a serem executadas na interrupção

    PIR1.TMR1IF = 0

    Resume

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!