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

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

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

Mensagempor erik.flores » 15 Mai 2014 10:54

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
erik.flores
Bit
 
Mensagens: 14
Registrado em: 15 Mai 2014 10:32

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

Mensagempor andre_luis » 15 Mai 2014 18:56

Acho que não entendi, o RTC está funcionando, mas o problema está no calendário ?
Qual CI você está usando para o RTC ?


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

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

Mensagempor erik.flores » 15 Mai 2014 22:13

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
erik.flores
Bit
 
Mensagens: 14
Registrado em: 15 Mai 2014 10:32

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

Mensagempor EvandrPic » 15 Mai 2014 22:32

Você não está usando RTC então...
Quer fazer isso por software, certo?
EvandrPic
Dword
 
Mensagens: 2116
Registrado em: 31 Mar 2010 15:05

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

Mensagempor erik.flores » 15 Mai 2014 22:54

É 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..
erik.flores
Bit
 
Mensagens: 14
Registrado em: 15 Mai 2014 10:32

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

Mensagempor EvandrPic » 15 Mai 2014 23:34

RTC é um chip de relógio/calendário.... O DS1307, por exemplo... Se comunica por protocolo I2C...

Imagem

Imagem

Datasheet:
EvandrPic
Dword
 
Mensagens: 2116
Registrado em: 31 Mar 2010 15:05

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

Mensagempor andre_luis » 16 Mai 2014 05:25

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



+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

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

Mensagempor cfreund » 16 Mai 2014 15:08

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) );
Cláudio F
Avatar do usuário
cfreund
Word
 
Mensagens: 672
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

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

Mensagempor erik.flores » 17 Mai 2014 10:30

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
erik.flores
Bit
 
Mensagens: 14
Registrado em: 15 Mai 2014 10:32


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante

x