Globedia.com

×

Error de autenticación

Ha habido un problema a la hora de conectarse a la red social. Por favor intentalo de nuevo

Si el problema persiste, nos lo puedes decir AQUÍ

×
×
Recibir alertas

¿Quieres recibir una notificación por email cada vez que Frelix escriba una noticia?

Reloj Digital Con PIC y DS1307

12/11/2012 12:49 0 Comentarios Lectura: ( palabras)

Otro pequeño trabajo con un microcontrolador, esta vez con un reloj de tiempo real, mas conocido como DS1307 en la programación en C se usan las librerías respectivas para el DS1307 y como vamos a mostrar los datos en una pantalla de cristal liquido LCD, este tan bien necesita una librería, por mi parte conseguí las librerías en una pagina muy conocida se los dejo aca. Http://picmania.garcia-cuervo.net/Una vez que tengamos las librerias descargadas y guardadas en la carpeta DRIVERS que se encuentra en la carpeta de instalarlos, si no sabe como guardarlos es muy sencillo, copia la librería en un bloc de notas y guarda en la carpeta drivers con la extensión ".c" osea DS1307.c y queda listo para la utilización.

#include <16f876A.h>

#fuses XT

#use delay(clock=4M)

#include

#define LCD_DB4 PIN_B4

#define LCD_DB5 PIN_B5

#define LCD_DB6 PIN_B6

#define LCD_DB7 PIN_B7

#define LCD_RS PIN_B2

#define LCD_E PIN_B3

#include

int sec=30, min=30, hora=07, dia=15, mes=2, anio=12, dow=6;

char fecha[4];

void main(){

lcd_init();

ds1307_set_date_time(dia, mes, anio, dow, hora, min, sec);

for(;;){

ds1307_get_date(dia, mes, anio, dow); /// se obtiene la fecha

ds1307_get_time(hora, min, sec); /// se obtiene la hora

ds1307_get_day_of_week(fecha);

lcd_gotoxy(2, 1);

printf(lcd_putc, "%s %02u/%02u/20%02u", fecha, dia, mes, anio);

lcd_gotoxy(5, 2);

printf(lcd_putc, "%02u:%02u:%02u", hora, min, sec);

}}

Este es un programa que me permite utilizar el DS1307, es una manera muy rudimentaria de un reloj, ya que tenemos que ser preciso al poner las fechas, pero muy básico y sencillo para que ustedes lo comprendan y pongan muchas cosas mas, como botones para cambiar la fecha, etc. Explicaremos como funciona este programa.

#define LCD_DB4 PIN_B4

#define LCD_DB5 PIN_B5

#define LCD_DB6 PIN_B6

#define LCD_DB7 PIN_B7

#define LCD_RS PIN_B2

#define LCD_E PIN_B3

#include

Con esas lineas definimos los pines del LCD en este caso no se utiliza el RW del LCD ya que si esta conectado a tierra, por defecto se sabe que solo va ser escritura en el LCD, fijense bien que antes de mencionar la libreria definimos los pines del LCD.

int sec=30, min=30, hora=07, dia=15, mes=2, anio=12, dow=6;

Guardamos los valores de la fecha donde sec es segundos min es minutos y dow es el dia de la semana, por ejemplo 0 es lunes y 2 es miércoles y asi sucesivamente hasta el domingo. ponemos una variable fecha[4] ya que este nos guardara el día que tiene 3 letras.

ds1307_set_date_time(dia, mes, anio, dow, hora, min, sec);

Con estas line guardamos los valores de la fecha en la libreria del DS1307. Bueno lo demás esta bien explicado en el programa y supongo que entienden muy bien como escribir datos en el LCD, como les digo es un programa muy básico espero poder poner otro con botones y cambios de fecha les dejo el circuito y el video, bytes. image


Sobre esta noticia

Autor:
Frelix (17 noticias)
Fuente:
electronicspic.blogspot.com
Visitas:
2711
Licencia:
¿Problemas con esta noticia?
×
Denunciar esta noticia por

Denunciar

Etiquetas

Comentarios

Aún no hay comentarios en esta noticia.