Gravar Data e Hora

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Gravar Data e Hora

Mensagempor ffkammer » 08 Nov 2007 15:03

Boa tarde à todos,

Estou desenvolvendo um projeto para um PIC 16F628A, a programação estou fazendo em assembly e preciso gravar na memória não volátil a data e hora em que um botão foi pressionado e quando este botão for desabertado precisarei gravar a data e a hora novamente.
Consigo gravar informações na memória não volátil, mas não faço nem idéia de como gravar a data e a hora de cada vez que o botão for abertado/desapertado.

Me disseram que precisarei trabalhar com real time para fazer isto, mas não faço nem idéia de como fazê-lo.

Alguém da lista poderia me auxiliar com isto?

Agradeço desde já

Fabrício
ffkammer
Bit
 
Mensagens: 23
Registrado em: 18 Out 2007 18:24

Mensagempor jean » 08 Nov 2007 15:28

Ola Fabrício
Dê uma olhada nesse tópico http://www.asm51.eng.br/phpbb/viewtopic.php?t=1667&highlight=rel%F3gio
Pode ser q te ajude..
[]
Jean

"Quem quer fazer alguma coisa, encontra um meio. Quem não quer fazer nada, encontra uma desculpa."
Roberto Shinyashiki
jean
Byte
 
Mensagens: 134
Registrado em: 12 Out 2006 12:03
Localização: Blumenau-SC

Mensagempor ffkammer » 08 Nov 2007 15:39

jean escreveu:Ola Fabrício
Dê uma olhada nesse tópico http://www.asm51.eng.br/phpbb/viewtopic.php?t=1667&highlight=rel%F3gio
Pode ser q te ajude..


Boa tarde Jean,

Quando tento acessar este tópico sou redirecionado para a página principal do fórum, você poderia confirmar o endereço do tópico, por favor.

Fabrício
ffkammer
Bit
 
Mensagens: 23
Registrado em: 18 Out 2007 18:24

Mensagempor jean » 09 Nov 2007 13:42

Fabricio testei ele agora e esta direcionando pro local certo..
[]
Jean

"Quem quer fazer alguma coisa, encontra um meio. Quem não quer fazer nada, encontra uma desculpa."
Roberto Shinyashiki
jean
Byte
 
Mensagens: 134
Registrado em: 12 Out 2006 12:03
Localização: Blumenau-SC

Mensagempor phophollety » 09 Nov 2007 20:23

jean escreveu:Fabricio testei ele agora e esta direcionando pro local certo..


Tá indo para o índice do fórum mesmo...

Uma maneira simples é fazer um RTC interno do PIC, como!?

Usando o Timer1 Que tem oscilador próprio pode fazer por exemplo, um cristal de 32768KHz estourar de tempos em tempos (digamos, de 100 em 100mS, de 1 em 1 segundo, enfim, basta ajustar o preescaler interno e mover o valor de ajuste para os registradores do Timer)

Com o incremento da base de tempo, dentro da própria Interrupção você faz fácil fácil um relógio com horas minutos e segundos.

Caso não queira usar o oscilador interno, também pode usar os timers internos para estourarem sendo incrementados conforme o oscilador da máquina (neste caso não recomendaria o uso de oscilador interno, pois ele tem baixa precisão para um relógio).

Também pode claro, usar um relógio por I2C esta seria uma opção caso você precisasse dos timers para outra coisa ou não quisesse uma interrupção do seu processamento, creio que para sua aplicação isto não é problema e tarefa parece ser simples e dá para fazer tudo dentro do pic mesmo. Mais barato e fácil.
"3 minutes of boring code review means 3 hours less fixing LSD (Little Stupid Detail)" Dr. Mike Smith
"Dê-me um ponto de apoio e uma alavanca e moverei o mundo" Arquimedes
"Quando vejo um Alfa Romeo passar eu tiro o meu chapéu" Henry FORD.
Avatar do usuário
phophollety
Dword
 
Mensagens: 1511
Registrado em: 15 Out 2006 13:00
Localização: Santo André São Paulo, Brasil

Mensagempor ffkammer » 12 Nov 2007 19:51

jean escreveu:Fabricio testei ele agora e esta direcionando pro local certo..


Jean, ainda não consegui acessar este tópico. Caso vc possa recolocar o link agradeço.

Obrigado
ffkammer
Bit
 
Mensagens: 23
Registrado em: 18 Out 2007 18:24

Mensagempor ffkammer » 12 Nov 2007 19:53

phophollety escreveu:
jean escreveu:Fabricio testei ele agora e esta direcionando pro local certo..


Tá indo para o índice do fórum mesmo...

Uma maneira simples é fazer um RTC interno do PIC, como!?

Usando o Timer1 Que tem oscilador próprio pode fazer por exemplo, um cristal de 32768KHz estourar de tempos em tempos (digamos, de 100 em 100mS, de 1 em 1 segundo, enfim, basta ajustar o preescaler interno e mover o valor de ajuste para os registradores do Timer)

Com o incremento da base de tempo, dentro da própria Interrupção você faz fácil fácil um relógio com horas minutos e segundos.

Caso não queira usar o oscilador interno, também pode usar os timers internos para estourarem sendo incrementados conforme o oscilador da máquina (neste caso não recomendaria o uso de oscilador interno, pois ele tem baixa precisão para um relógio).

Também pode claro, usar um relógio por I2C esta seria uma opção caso você precisasse dos timers para outra coisa ou não quisesse uma interrupção do seu processamento, creio que para sua aplicação isto não é problema e tarefa parece ser simples e dá para fazer tudo dentro do pic mesmo. Mais barato e fácil.


Boa noite phophollety,

Tenho um problema, preciso ter condição de acertar a data/hora inicial e preciso que a data e hora se mantenha caso a energia páre e volte rapidamente.
ffkammer
Bit
 
Mensagens: 23
Registrado em: 18 Out 2007 18:24

Mensagempor ffkammer » 12 Nov 2007 19:54

phophollety escreveu:
jean escreveu:Fabricio testei ele agora e esta direcionando pro local certo..


Tá indo para o índice do fórum mesmo...

Uma maneira simples é fazer um RTC interno do PIC, como!?

Usando o Timer1 Que tem oscilador próprio pode fazer por exemplo, um cristal de 32768KHz estourar de tempos em tempos (digamos, de 100 em 100mS, de 1 em 1 segundo, enfim, basta ajustar o preescaler interno e mover o valor de ajuste para os registradores do Timer)

Com o incremento da base de tempo, dentro da própria Interrupção você faz fácil fácil um relógio com horas minutos e segundos.

Caso não queira usar o oscilador interno, também pode usar os timers internos para estourarem sendo incrementados conforme o oscilador da máquina (neste caso não recomendaria o uso de oscilador interno, pois ele tem baixa precisão para um relógio).

Também pode claro, usar um relógio por I2C esta seria uma opção caso você precisasse dos timers para outra coisa ou não quisesse uma interrupção do seu processamento, creio que para sua aplicação isto não é problema e tarefa parece ser simples e dá para fazer tudo dentro do pic mesmo. Mais barato e fácil.


Boa noite phophollety,

Tenho um problema, preciso ter condição de acertar a data/hora inicial e preciso que a data e hora se mantenha caso a energia páre e volte rapidamente. Sabe me dizer se isto é possível?

PS: Estou começando a trabalhar com PIC.

Obrigado desde já
ffkammer
Bit
 
Mensagens: 23
Registrado em: 18 Out 2007 18:24

Mensagempor phophollety » 12 Nov 2007 21:01

ffkammer escreveu:
Boa noite phophollety,

Tenho um problema, preciso ter condição de acertar a data/hora inicial e preciso que a data e hora se mantenha caso a energia páre e volte rapidamente. Sabe me dizer se isto é possível?

PS: Estou começando a trabalhar com PIC.

Obrigado desde já


Então, é, desde que você alimente o pic com uma bateria, não que seja o melhor caminho, mas um 16f628 que seje rodando em 3.0 consome bem pouco ou pode recorrer a um 16f636 que tem NanoWatt (Tecnologia).

Claro, se ainda assim quiser, um RTC é muito convidativo no custo, mas vai obrigar-te a usar rotina de I2C, tem muita coisa na pronta sobre isto, mas para quem está començando agora é uma coisa a mais para quebrar a cabeça.

Ajusta a hora é simples, basta você incrementar e decrementar o seu registrador de horas e minutos (até segundos, se quiser), da mesma maneira que o pic faria, mas através de uma rotina para isto.

Se for com RTC I2C aqui está um bom ponto de partida:
http://www.geocities.com/leibowitz.geo/ ... clock.html

Se for com contador interno:

esquema: http://www.kitsrus.com/pdf/k73.pdf
fonte: http://www.kitsrus.com/zip/clocksrus.zip

[]s
"3 minutes of boring code review means 3 hours less fixing LSD (Little Stupid Detail)" Dr. Mike Smith
"Dê-me um ponto de apoio e uma alavanca e moverei o mundo" Arquimedes
"Quando vejo um Alfa Romeo passar eu tiro o meu chapéu" Henry FORD.
Avatar do usuário
phophollety
Dword
 
Mensagens: 1511
Registrado em: 15 Out 2006 13:00
Localização: Santo André São Paulo, Brasil

Mensagempor Maurício » 12 Nov 2007 21:30

Estranho.... aqui vai! E eu uso Ópera.

O fórum é o HOLTEK e o tópico é:

HT1380 (RTC) Atrasa....Adianta...

Usa PESQUISAR para achar o tópico.
O mais simples, eu acho que é usando este RTC, mesmo!

[]'s
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor ffkammer » 13 Nov 2007 07:27

Obrigado phophollety,

Vou verificar estas sugestões suas, como não precisarei de precisão acredito que o uso to time1 resolverá meus problemas.

Vou testar e qualquer coisa posto os problemas por aqui!

Muito obrigado

Fabrício
ffkammer
Bit
 
Mensagens: 23
Registrado em: 18 Out 2007 18:24

Mensagempor phophollety » 13 Nov 2007 08:43

ffkammer escreveu:Obrigado phophollety,

Vou verificar estas sugestões suas, como não precisarei de precisão acredito que o uso to time1 resolverá meus problemas.

Vou testar e qualquer coisa posto os problemas por aqui!

Muito obrigado

Fabrício



Se fizer a rotina corretamente a precisão vai igual a de um RTC I²C, pois ambos serão baseados em cristais quartzo (use a sugestão de um cristal rodando em 32768KHz, pelo que me lembre estes cristais variam até 100ppm, o que dava algo em torno de menos de 30s/mês)

Outras sugestões de RTC:

MAXIM/DALLAS
DS1302
DS1305
DS1306
DS1307

Philips
PCF8563
PCF8583

No caso do seu projeto ser simples, acho que ainda vale a pena usar o timer e a eeprom e depois cair para rotina de comunicação I²C

[]s!
"3 minutes of boring code review means 3 hours less fixing LSD (Little Stupid Detail)" Dr. Mike Smith
"Dê-me um ponto de apoio e uma alavanca e moverei o mundo" Arquimedes
"Quando vejo um Alfa Romeo passar eu tiro o meu chapéu" Henry FORD.
Avatar do usuário
phophollety
Dword
 
Mensagens: 1511
Registrado em: 15 Out 2006 13:00
Localização: Santo André São Paulo, Brasil


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x