Sommario:
- Passaggio 1: apri il tuo IDE CloudX
- Passaggio 2: CODICE!, CODICE!!, CODICE!
- Passaggio 3: progettare in Proteus
Video: Orologio DS1307 con CloudX: 4 passaggi
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-10 13:47
Hai mai immaginato di voler creare il tuo orologio o orologio personalizzato. l'unione di un DS1307 e CloudX può rendere la tua aspirazione senza problemi
Passaggio 1: apri il tuo IDE CloudX
Scusa non sono un gran chiacchierone, ma so che quando si tratta di progetti di Real Time Clock, cloudX ti copre.
Semplici passi
1. importa la libreria principale di cloudX con slash il suo modello di scheda
2. importare il DS1307 e altre librerie funzionali necessarie
3. divertiti e gioca con le funzioni del DS1307 dalla sua libreria
Passaggio 2: CODICE!, CODICE!!, CODICE!
/*
* File: main.c * Autore: Ogboye Godwin * * Creato il 24 aprile 2018, 11:02 */
#includere
#includere
#includere
unsigned short time[9], Mdate[11];
unsigned short mth, Dday, yr, hr, min, sec;
getDateTime();
loadLcd();
resetClock();
int insieme=16;
int inc=15;
int dec=14;
impostare(){
pinMode(set, INPUT);
pinMode(inc, INGRESSO);
pinMode(dec, INPUT);
pinMode(1, INGRESSO);
Lcd_setting(2, 3, 4, 5, 6, 7);
Ds1307_init();
ciclo continuo(){
while(readPin(set)==0){
getDateTime();
loadLcd();
ritardi (500);
}
if(readPin(set)==1)
resetClock();
}
}
getDateTime(){
hr=Ds1307_read(ora); //hr
tempo[0] = BCD2UpperCh(hr);
tempo[1] = BCD2LowerCh(hr);
ora[2] = ':';
min=Ds1307_read(minuto); //min
tempo[3] = BCD2UpperCh(min);
tempo[4] = BCD2LowerCh(min);
tempo[5] = ':';
sec=Ds1307_read(secondo); //sec
tempo[6] = BCD2UpperCh(sec);
tempo[7] = BCD2LowerCh(sec);
mth=Ds1307_read(mese); //mese
Mdate[0] = BCD2UpperCh(mese);
Mdate[1] = BCD2LowerCh(mese);
Data[2] = ':';
Dday=Ds1307_read(data); //giorno
Mdate[3] = BCD2UpperCh(Dday);
Mdate[4] = BCD2LowerCh(Dday);
Data[5] = ':';
anno=Ds1307_read(anno); //anno
DataM[6] = '2';
DataM[7] = '0';
Mdate[8] = BCD2UpperCh(yr);
Mdate[9] = BCD2LowerCh(yr);
}
loadLcd(){
int cx;
Lcd_cmd(chiaro);
Lcd_writeText(1, 1, "Data: ");
//lcdWriteTextCP(Mdate);
for(cx=0;cx<11; cx++)
Lcd_writeCP(Mdate[cx]);
Lcd_writeText(2, 1, "Ora: ");
//lcdWriteTextCP(ora);
for(cx=0;cx<9; cx++)
Lcd_writeCP(time[cx]);
}
resetOrologio(){
Ds1307_write(secondo, Binary2BCD(0)); //scrivi 0 secondi
Ds1307_write(minuto, Binary2BCD(12));//scrivi 12 minuti
Ds1307_write(ora, Binary2BCD(12)); // scrivi 12 ore
Ds1307_write(giorno, Binary2BCD(3)); //scrivi il giorno martedì
Ds1307_write(data, Binary2BCD(24)); // scrivi la data 24
Ds1307_write(mese, Binary2BCD(4)); // scrivi mese ad aprile
Ds1307_write(anno, Binary2BCD(18)); // scrivi l'anno 18 i.e 2018
Ds1307_write(SQWE, Binary2BCD(frequenza)); // imposta l'uscita SQWE su 1hz
Ds1307_write(secondo, Binary2BCD(startOscilator)); // ripristina il secondo a 0 sec e avvia l'oscillatore
while(readPin(set)==1);
}
Passaggio 3: progettare in Proteus
digita proteus isis questi requisiti
1. cloudX
2. DS1307
3. Resistenza da 4,7k
4. pulsante
5. lm016 LCD
6. cristallo di 32khz
e o naturalmente non dimenticare il tuo positivo e terreno.
rendi le tue connessioni come le mie.