Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
tehuan

Iniciar programa de onde parou caso seja desligado!

Recommended Posts

Boa noite caros amigos!

Perdoe-me caso esteja criando um tópico duplicado. Mas não sei nem pelo o que pesquisar para sanar minha dúvida.

Eu criei um projetinho bem bacana com a ajuda dos amigos aqui do fórum, ta funcionando perfeitamente. Meu projeto incrementa e decrementa valores em determinadas variáveis, trabalha com timer0, timer1, ascende um display triplo de sete segmentos e mais algumas coisas. Agora caso acabe a energia ele inicia do zero. Eu queria saber se tem como iniciar a programação de onde parou, se o pic tem essa função de manter a programação. O que devo estudar caso essa função exista.

Pic 16f628a Programação em C CCS

Agradeço a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não existe forma prática de se fazer isso. Você além de ter que salvar o contador de endereço iria precisar gravar a memória RAM inteira. É impossível fazer isso em tempo de execução por dois motivos: Memórias não voláteis como eeproms e Flash são bem lerdas para se programar em comparação com o tempo de execução do pic, e essas memórias têm limite de gravação (entre 10mil e 1milhão de ciclos de escrita).

O ideal é gravar apenas o necessário, e somente na hora em que o dispositivo for desligado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Na verdade é somente o valor de uma variável que eu preciso que seja armazenada caso falte luz por exemplo. E somente seja armazenado se o seu valor for diferente de zero. Tem alguma dica pra min? Seria possível dessa forma que eu estou imaginando?

    Grato pela ajuda!

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Não sei se existe um jeito por software, mas eu fiz algo parecido uma vez. Depois do regulador de tensão 7805, eu coloquei dois capacitores de placa mãe de 3300uf/10V, gosto deles porque eles são pequenos e com bastante capacitância, pois bem, dois deles totalizam 6600uf, depois de desligado a energia, o pic ainda funciona uns 2,5 segundos.

    Ai a estratégia é colocar uma porta A/D monitorando a tensão antes do regulador de tensão (usando um divisor resistivo é claro, pra não queimar a entrada do PIC)

    Exemplo: se sua fonte é de 12V exata, então 12V tem que ser 5V na entrada do PIC, se a fonte cair pra 6V, na entrada do PIC vai dar 2,5V, ai você faz um IF pra se a tensão na porta A/D for menor que 2,5V, gravar a variável.

    O único incoveniente é que você não pode deixar delays grandes no meio do programa, se não a tensão pode cair e ele ainda está preso neste delay e não da tempo de gravar a sua variável.

    PS: não ligue LEDs e Displays depois do mesmo 7805 do PIC, se não o capacitor vai descarregar mais rapidamente.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Não sei qual PIC você está usando, mas você pode usar a ideia do chacalgbi mas com interrupção do módulo comparador (grande parte dos PICs têm comparador analógico). Assim você pode comparar a saída do 7805 com sua entrada, habilite a interrupção do comparador por mudança, quando a tensão de entrada for menor que a de saída, a interrupção ocorre, e na rotina da interrupção você salva o valor necessário na eeprom.

    Na hora de iniciar o programa você carrega o valor gravador na eeprom.

    Caso o seu circuito precisar de muita corrente nos 5V, faça uma alimentação separada para o PIC utilizando um 78L05.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Tem alguns PICs com interrupção de detecção de queda de tensão. De uma pesquisada. É infinitamente mais fácil do que usar comparador e outras coisas.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×