Innehållsförteckning:

DS1307 klocka med CloudX: 4 steg
DS1307 klocka med CloudX: 4 steg

Video: DS1307 klocka med CloudX: 4 steg

Video: DS1307 klocka med CloudX: 4 steg
Video: DS1307 Real Time Clock RTC, Arduino Nano and the Recycled DVD 7 Segment LED Display 2024, Juli
Anonim
DS1307 klocka med CloudX
DS1307 klocka med CloudX
DS1307 klocka med CloudX
DS1307 klocka med CloudX

Tänk dig att du vill göra din egen klocka eller klocka. sammanslagning av en DS1307 och CloudX kan göra din strävan problemfri

Steg 1: Öppna ditt CloudX IDE

Öppna ditt CloudX IDE
Öppna ditt CloudX IDE
Öppna ditt CloudX IDE
Öppna ditt CloudX IDE

Tyvärr är jag inte mycket pratare, men jag vet när det gäller projekt i realtidsklocka, cloudX har täckt dig.

Enkla steg

1. importera cloudX huvudbibliotek med snedstreck sin styrelse modell

2. importera DS1307 och annat funktionellt bibliotek som behövs

3. njut och lek med DS1307 -funktionerna från biblioteket

Steg 2: KOD !, KOD !!, KOD !!

/*

* Fil: main.c * Författare: Ogboye Godwin * * Skapad den 24 april 2018, 11:02 */

#omfatta

#omfatta

#omfatta

osignerad kort tid [9], Mdate [11];

osignerad kort månad, Dday, yr, hr, min, sek;

getDateTime ();

loadLcd ();

resetClock ();

int set = 16;

int inc = 15;

int dec = 14;

uppstart(){

pinMode (set, INPUT);

pinMode (inc, INPUT);

pinMode (dec, INPUT);

pinMode (1, INPUT);

Lcd_setting (2, 3, 4, 5, 6, 7);

Ds1307_init ();

slinga(){

medan (readPin (set) == 0) {

getDateTime ();

loadLcd ();

fördröjningar (500);

}

if (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (timme); // tim

tid [0] = BCD2UpperCh (tim);

tid [1] = BCD2LowerCh (tim);

tid [2] = ':';

min = Ds1307_read (minut); // min

tid [3] = BCD2UpperCh (min);

tid [4] = BCD2LowerCh (min);

time [5] = ':';

sek = Ds1307_read (andra); // sek

tid [6] = BCD2UpperCh (sek);

tid [7] = BCD2LowerCh (sek);

mth = Ds1307_read (månad); //månad

Mdate [0] = BCD2UpperCh (mth);

Mdate [1] = BCD2LowerCh (mth);

Mdate [2] = ':';

Dday = Ds1307_read (datum); //dag

Mdate [3] = BCD2UpperCh (Dday);

Mdate [4] = BCD2LowerCh (Dday);

Mdate [5] = ':';

yr = Ds1307_read (år); //år

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (år);

Mdate [9] = BCD2LowerCh (år);

}

loadLcd () {

int cx;

Lcd_cmd (klar);

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

// lcdWriteTextCP (Mdate);

för (cx = 0; cx <11; cx ++)

Lcd_writeCP (Mdate [cx]);

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

// lcdWriteTextCP (tid);

för (cx = 0; cx <9; cx ++)

Lcd_writeCP (tid [cx]);

}

resetClock () {

Ds1307_write (andra, Binary2BCD (0)); // skriv 0 sekunder

Ds1307_write (minut, Binary2BCD (12)); // skriv 12 minuter

Ds1307_write (timme, Binary2BCD (12)); // skriva 12 timmar

Ds1307_write (dag, Binary2BCD (3)); // skriv dag tisdag

Ds1307_write (datum, Binary2BCD (24)); // skriv datum 24

Ds1307_write (månad, Binary2BCD (4)); // skriva månad till april

Ds1307_write (år, Binary2BCD (18)); // skriv år 18 dvs 2018

Ds1307_write (SQWE, Binary2BCD (frekvens)); // ställ in SQWE -utgång till 1hz

Ds1307_write (andra, Binary2BCD (startOscilator)); // återställ andra till 0sek och starta oscilatorn

medan (readPin (set) == 1);

}

Steg 3: Design i Proteus

Design i Proteus
Design i Proteus

typ i proteus är dessa krav

1. cloudX

2. DS1307

3. 4,7k motstånd

4. knapp

5. lm016 LCD

6. kristall på 32khz

och eller glöm inte din positiva och grund.

gör dina anslutningar som mina.

Rekommenderad: