Tabla de contenido:

Reloj DS1307 con CloudX: 4 pasos
Reloj DS1307 con CloudX: 4 pasos

Video: Reloj DS1307 con CloudX: 4 pasos

Video: Reloj DS1307 con CloudX: 4 pasos
Video: Arduino RTC DS1307 reloj de tiempo real 2024, Noviembre
Anonim
Reloj DS1307 con CloudX
Reloj DS1307 con CloudX
Reloj DS1307 con CloudX
Reloj DS1307 con CloudX

Alguna vez imaginó que desea hacer su propio reloj o reloj personalizado. La combinación de un DS1307 y CloudX puede hacer que su aspiración no tenga problemas.

Paso 1: Abra su IDE de CloudX

Abra su IDE de CloudX
Abra su IDE de CloudX
Abra su IDE de CloudX
Abra su IDE de CloudX

Lo siento, no soy muy hablador, pero sé que cuando se trata de proyectos de reloj en tiempo real, cloudX lo tiene cubierto.

Pasos sencillos

1. Importe la biblioteca principal de cloudX con barra inclinada en su modelo de placa

2. importar el DS1307 y otra biblioteca funcional necesaria

3. disfrute y juegue con las funciones del DS1307 de su biblioteca

Paso 2: CÓDIGO !, CÓDIGO !!, CÓDIGO !

/*

* Archivo: main.c * Autor: Ogboye Godwin * * Creado el 24 de abril de 2018, 11:02 AM * /

#incluir

#incluir

#incluir

tiempo corto sin firmar [9], Mdate [11];

mes corto sin firmar, Ddía, año, h, min, seg;

getDateTime ();

loadLcd ();

resetClock ();

int conjunto = 16;

int inc = 15;

int dec = 14;

configuración(){

pinMode (conjunto, ENTRADA);

pinMode (inc, ENTRADA);

pinMode (dec, ENTRADA);

pinMode (1, ENTRADA);

Configuración_lcd (2, 3, 4, 5, 6, 7);

Ds1307_init ();

círculo(){

while (readPin (set) == 0) {

getDateTime ();

loadLcd ();

delayms (500);

}

si (readPin (conjunto) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (hora); //hora

tiempo [0] = BCD2UpperCh (h);

tiempo [1] = BCD2LowerCh (h);

tiempo [2] = ':';

min = Ds1307_read (minuto); // min

tiempo [3] = BCD2UpperCh (min);

tiempo [4] = BCD2LowerCh (min);

tiempo [5] = ':';

sec = Ds1307_read (segundo); //segundo

tiempo [6] = BCD2UpperCh (seg);

tiempo [7] = BCD2LowerCh (seg);

mth = Ds1307_read (mes); //mes

Mdate [0] = BCD2UpperCh (mes);

Mdate [1] = BCD2LowerCh (mes);

Mdate [2] = ':';

Dday = Ds1307_read (fecha); //día

Mdate [3] = BCD2UpperCh (Dday);

Mdate [4] = BCD2LowerCh (Dday);

Mdate [5] = ':';

año = Ds1307_read (año); //año

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (año);

Mdate [9] = BCD2LowerCh (año);

}

loadLcd () {

int cx;

Lcd_cmd (claro);

Lcd_writeText (1, 1, "Fecha:");

// lcdWriteTextCP (Mdate);

para (cx = 0; cx <11; cx ++)

Lcd_writeCP (Mdate [cx]);

Lcd_writeText (2, 1, "Hora:");

// lcdWriteTextCP (hora);

para (cx = 0; cx <9; cx ++)

Lcd_writeCP (tiempo [cx]);

}

resetClock () {

Ds1307_write (segundo, Binary2BCD (0)); // escribe 0 segundos

Ds1307_write (minuto, Binary2BCD (12)); // escribir 12 minutos

Ds1307_write (hora, Binary2BCD (12)); // escribir 12 horas

Ds1307_write (día, Binary2BCD (3)); // escribir el día martes

Ds1307_write (fecha, Binary2BCD (24)); // escribir fecha 24

Ds1307_write (mes, Binary2BCD (4)); // escribir mes a abril

Ds1307_write (año, Binary2BCD (18)); // escribe el año 18, es decir, 2018

Ds1307_write (SQWE, Binary2BCD (frecuencia)); // establece la salida SQWE en 1hz

Ds1307_write (segundo, Binary2BCD (startOscilator)); // restablece el segundo a 0 segundos y comienza el oscilador

while (readPin (conjunto) == 1);

}

Paso 3: Diseño en Proteus

Diseño en Proteus
Diseño en Proteus

escriba proteus isis estos requisitos

1. cloudX

2. DS1307

3. Resistencia de 4.7k

4. botón

5. LCD lm016

6. cristal de 32 khz

y, por supuesto, no olvides tu positivo y terreno.

haz tus conexiones como las mías.

Recomendado: