Sommario:

Orologio DS1307 con CloudX: 4 passaggi
Orologio DS1307 con CloudX: 4 passaggi

Video: Orologio DS1307 con CloudX: 4 passaggi

Video: Orologio DS1307 con CloudX: 4 passaggi
Video: Orologio digitale con RTC DS1307 e display OLED - Video 428 2024, Luglio
Anonim
Orologio DS1307 con CloudX
Orologio DS1307 con CloudX
Orologio DS1307 con CloudX
Orologio DS1307 con CloudX

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

Apri il tuo IDE CloudX
Apri il tuo IDE CloudX
Apri il tuo IDE CloudX
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

Design in Proteus
Design 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.

Consigliato: