Anda di halaman 1dari 2

////////////////////////////////////////////////////////////////////////////////

////////////////////
////////////ESTE PROGRAMA UTILZA EL CIRCUITO DS1307 PARA MOSTRAR LA ////////////
//
//////////HORA EN TIEMPO REAL A TRAVEZ DE UN UNA LCD DE 2 POR 16 CARACTERES/////
////////////////////////////////////////////////////////////////////////////////
///////////////////
#include <16F877A.h>
/// libreria para el manejo del pic16f877a
#use delay(clock=8000000)
/// declara la frecuencia del cristal
#fuses HS,NOWDT,NOPUT,NOLVP,NOBROWNOUT,NOWRT,NOPROTECT
#include <lcd.c>
#include "ds1307.c"
#use fast_io(A)
#use fast_io(B)
#use fast_io(C)
/// con esta instruccion evitamos que
#use fast_io(D)
/// se este configurando cada vez que usam
os
#use fast_io(E)
/// alguna instruccion de entrada o salida
#byte portc = 7
/// se definen direcciones de memoria
#byte portd = 8
int
int
int
int
int
int
int

sec;
min;
hrs;
day;
month;
yr;
dow;

////////////////////////////////////////////////////////////////////////////////
///
//////////////////////Comienzo de la funcion principal//////////////////////////
////////////////////////////////////////////////////////////////////////////////
///
void main(){
ds1307_init ();
///se inicializa el ds1307
set_tris_a (0xff) ;
set_tris_d (0x00) ;
set_tris_b (0x00) ;
set_tris_c (0x04) ;
set_tris_e (0x01) ;
port_b_pullups (true) ;
lcd_init ();
/// inicializamos lcd
// Set date FOR - > 15 June 2005 Tuesday
// Set time FOR - > 15:20:55 (9:49:00 am)
ds1307_set_date_time (8, 11, 7, 2, 9, 49, 00); /// se escribe en el displosit
ivo
/// el tiempo deseado
WHILE (1){
delay_ms (100) ;
ds1307_get_date (day, month, yr, dow); /// se obtiene la fecha
ds1307_get_time (hrs, min, sec); /// se obtiene la hora
lcd_gotoxy (1, 2) ;
printf (lcd_putc, " %02d: %02d: %02d ", hrs,min,sec); ///se despliegan lo
s datos
lcd_gotoxy (1, 1) ;
lcd_putc ("XXXXXX") ;
}
}

Anda mungkin juga menyukai