Taula de continguts:
Vídeo: Rellotge DS1307 amb CloudX: 4 passos
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-10 13:46
Imagineu-vos mai que voleu fer el vostre propi rellotge o rellotge personalitzat. La combinació d'un DS1307 i CloudX pot fer que la vostra aspiració sigui lliure de problemes
Pas 1: obriu el CloudE IDE
Ho sento, no parlo gaire, però sé que quan es tracta de projectes de temps real, CloudX us té cobert.
Passos senzills
1. importeu la biblioteca principal de cloudX amb la barra del model de tauler
2. importeu el DS1307 i altra biblioteca funcional necessària
3. gaudir i jugar amb les funcions DS1307 de la seva biblioteca
Pas 2: CODI !, CODI !!, CODI !
/*
* Fitxer: main.c * Autor: Ogboye Godwin * * Creat el 24 d'abril de 2018 a les 11:02 * /
#incloure
#incloure
#incloure
poc temps sense signar [9], Mdate [11];
mes curt sense signar, Dday, any, hora, min, segon;
getDateTime ();
loadLcd ();
resetClock ();
int set = 16;
int inc = 15;
int dec = 14;
setup () {
pinMode (set, INPUT);
pinMode (inc, INPUT);
pinMode (dec, INPUT);
pinMode (1, INPUT);
Lcd_setting (2, 3, 4, 5, 6, 7);
Ds1307_init ();
bucle () {
while (readPin (set) == 0) {
getDateTime ();
loadLcd ();
delayms (500);
}
if (readPin (set) == 1)
resetClock ();
}
}
getDateTime () {
hr = Ds1307_read (hora); // h
temps [0] = BCD2UpperCh (hr);
temps [1] = BCD2LowerCh (h);
temps [2] = ':';
min = Ds1307_read (minut); // mín
temps [3] = BCD2UpperCh (min);
temps [4] = BCD2LowerCh (min);
temps [5] = ':';
sec = Ds1307_read (segon); // seg
temps [6] = BCD2UpperCh (seg);
temps [7] = BCD2LowerCh (seg);
mth = Ds1307_read (mes); // mes
Mdate [0] = BCD2UpperCh (mes);
Mdate [1] = BCD2LowerCh (mes);
Mdate [2] = ':';
Dday = Ds1307_read (data); // dia
Mdate [3] = BCD2UpperCh (Dday);
Mdate [4] = BCD2LowerCh (Dday);
Mdate [5] = ':';
any = Ds1307_read (any); //curs
Mdate [6] = '2';
Mdate [7] = '0';
Mdate [8] = BCD2UpperCh (any);
Mdate [9] = BCD2LowerCh (any);
}
loadLcd () {
int cx;
Lcd_cmd (clar);
Lcd_writeText (1, 1, "Data:");
// lcdWriteTextCP (Mdate);
per a (cx = 0; cx <11; cx ++)
Lcd_writeCP (Mdate [cx]);
Lcd_writeText (2, 1, "Hora:");
// lcdWriteTextCP (hora);
per a (cx = 0; cx <9; cx ++)
Lcd_writeCP (temps [cx]);
}
resetClock () {
Ds1307_write (segon, Binary2BCD (0)); // escriu 0 segon
Ds1307_write (minut, Binary2BCD (12)); // escriure 12 minuts
Ds1307_write (hora, Binary2BCD (12)); // escriure 12 hores
Ds1307_write (dia, Binary2BCD (3)); // escriure el dimarts
Ds1307_write (data, Binary2BCD (24)); // escriure la data 24
Ds1307_write (mes, Binary2BCD (4)); // escriu de mes a abril
Ds1307_write (any, Binary2BCD (18)); // escriure l’any 18 és a dir 2018
Ds1307_write (SQWE, Binary2BCD (freqüència)); // estableix la sortida SQWE a 1hz
Ds1307_write (segon, Binary2BCD (startOscilator)); // restableix segon a 0sec i inicia oscilator
while (readPin (set) == 1);
}
Pas 3: Dissenyar a Proteus
escriviu proteus isis aquests requisits
1. núvolX
2. DS1307
3. Resistència de 4,7 k
4. botó
5. LCD lm016
6. cristall de 32khz
i, per descomptat, no oblideu el vostre positiu i el vostre terreny.
fes les teves connexions com la meva.