Página 1 de 1

Obtendo a hora e data no LCD ao receber um sinal de entrada.

MensagemEnviado: 15 Mai 2014 10:54
por erik.flores
Pessoal estou a uns 3 dias tentando fazer uma leitura por um botão e ao ler escrever no LCD a hora e a data que ele leu.

Claro antes disso devo ativar o timer e usar um clock externo para ativar o horário no LCD. (RTC)
Mas a parte do calendario eu não consegui ainda.

Se alguém puder me ajudar eu agradeço.

Abraços

Obs: Estou usando o CCS Compiler

Re: Obtendo a hora e data no LCD ao receber um sinal de entr

MensagemEnviado: 15 Mai 2014 18:56
por andre_luis
Acho que não entendi, o RTC está funcionando, mas o problema está no calendário ?
Qual CI você está usando para o RTC ?


+++

Re: Obtendo a hora e data no LCD ao receber um sinal de entr

MensagemEnviado: 15 Mai 2014 22:13
por erik.flores
Consegui fazer o timer funcionar perfeitamente com um clock de 8Mhz interno, hoje.
Agora estou em duvida em como colocar o calendário pra funcionar, alguém sabe me dizer como é a lógica do calendário com o ano bissexto?

Estou usando o PIC 16F887.
Sei que não é perfeitamente preciso, pois sei que pra não ter erro devo usar um clock externo.

Obrigado

Re: Obtendo a hora e data no LCD ao receber um sinal de entr

MensagemEnviado: 15 Mai 2014 22:32
por EvandrPic
Você não está usando RTC então...
Quer fazer isso por software, certo?

Re: Obtendo a hora e data no LCD ao receber um sinal de entr

MensagemEnviado: 15 Mai 2014 22:54
por erik.flores
É na verdade RTC é utilizado com um clock de 32Khz, certo?
Corrija se estou errado..

Não eu quero que mostre a data e hora no LCD..

A hora já consegui, falta a data, pois não sei a lógica de ano bis sexto e os mês que tem 30, 31 dias..

Re: Obtendo a hora e data no LCD ao receber um sinal de entr

MensagemEnviado: 15 Mai 2014 23:34
por EvandrPic
RTC é um chip de relógio/calendário.... O DS1307, por exemplo... Se comunica por protocolo I2C...

Imagem

Imagem

Datasheet:

Re: Obtendo a hora e data no LCD ao receber um sinal de entr

MensagemEnviado: 16 Mai 2014 05:25
por andre_luis
erik,



O que você tá procurando é alguma implementação do calendário gregoriano em C.
Dá uma olhada no link abaixo:

http://www.codingunit.com/how-to-make-a-calendar-in-c



+++

Re: Obtendo a hora e data no LCD ao receber um sinal de entr

MensagemEnviado: 16 Mai 2014 15:08
por cfreund
Dias no mês:
Código: Selecionar todos
uint8_t month_days[] = {31,28,31,30,31,30,31,31,30,31,30,31};


Bissexto?
Código: Selecionar todos
return ( ( (year % 4 == 0) && (year % 100) ) || (year % 400 == 0) );

Re: Obtendo a hora e data no LCD ao receber um sinal de entr

MensagemEnviado: 17 Mai 2014 10:30
por erik.flores
andre_teprom escreveu:erik,

O que você tá procurando é alguma implementação do calendário gregoriano em C.
Dá uma olhada no link abaixo:

http://www.codingunit.com/how-to-make-a-calendar-in-c

+++


Consegui fazer ontem o calendário, só que fiz sem o ano bisexto mesmo, ai terminei minha programação completa do meu projeto. :D

Bom essa foi minha versão 1.0 rs
Como estive que entregar hoje o projeto pra ser mostrado na feira, posteriormente vou dar uma implementada nele.

Como colocar o RTC com esse CI que você me indicou, com bateria pra manter o horário e calendário sempre ativados.
E mais algumas funções implementadas.

Obrigadão André
grande abraço

cfreund escreveu:Dias no mês:

Código: Selecionar todos
uint8_t month_days[] = {31,28,31,30,31,30,31,31,30,31,30,31};



Bissexto?

Código: Selecionar todos
return ( ( (year % 4 == 0) && (year % 100) ) || (year % 400 == 0) );


Consegui ontem fazer o calendário, mas sem o ano bisexto, mais pra frente coloco ele.
Obrigado pela ajuda.
Vou guardar esse comando do ano bisexto que você me passou.

Obrigadão cfreund :D
grande abraço