Talaan ng mga Nilalaman:

DS1307 Clock With CloudX: 4 Hakbang
DS1307 Clock With CloudX: 4 Hakbang

Video: DS1307 Clock With CloudX: 4 Hakbang

Video: DS1307 Clock With CloudX: 4 Hakbang
Video: Interfacing Bluetooth with segment display 2024, Hulyo
Anonim
DS1307 Clock With CloudX
DS1307 Clock With CloudX
DS1307 Clock With CloudX
DS1307 Clock With CloudX

Kailanman na isipin na nais mong gumawa ng iyong sariling pasadyang relo o orasan. pagsasama ng isang DS1307 at CloudX ay maaaring gawing walang problema ang iyong hangarin

Hakbang 1: Buksan ang Iyong CloudX IDE

Buksan ang iyong CloudX IDE
Buksan ang iyong CloudX IDE
Buksan ang iyong CloudX IDE
Buksan ang iyong CloudX IDE

Paumanhin hindi ako masyadong tagapagsalita, ngunit alam ko pagdating sa mga proyekto ng Real Time Clock, sakop ka ng cloudX.

Mga simpleng hakbang

1. i-import ang pangunahing library ng cloudX na may slash na board model nito

2. i-import ang DS1307 at iba pang kinakailangang silid-aklatan na kinakailangan

3. mag-enjoy at maglaro kasama ang DS1307 funtions mula sa silid-aklatan nito

Hakbang 2: CODE !, CODE !!, CODE !!

/*

* File: main.c * May-akda: Ogboye Godwin * * Nilikha noong Abril 24, 2018, 11:02 AM * /

# isama

# isama

# isama

hindi pirmadong maikling panahon [9], Mdate [11];

unsigned maikling mth, Dday, yr, hr, min, sec;

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 ();

loop () {

habang (readPin (set) == 0) {

getDateTime ();

loadLcd ();

mga pagkaantala (500);

}

kung (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (oras); // hr

oras [0] = BCD2UpperCh (hr);

oras [1] = BCD2LowerCh (hr);

oras [2] = ':';

min = Ds1307_read (minuto); // min

oras [3] = BCD2UpperCh (min);

oras [4] = BCD2LowerCh (min);

oras [5] = ':';

sec = Ds1307_read (pangalawa); // sec

oras [6] = BCD2UpperCh (sec);

oras [7] = BCD2LowerCh (sec);

mth = Ds1307_read (buwan); // buwan

Mdate [0] = BCD2UpperCh (mth);

Mdate [1] = BCD2LowerCh (mth);

Mdate [2] = ':';

Dday = Ds1307_read (petsa); // araw

Mdate [3] = BCD2UpperCh (Dday);

Mdate [4] = BCD2LowerCh (Dday);

Mdate [5] = ':';

yr = Ds1307_read (taon); // taon

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (yr);

Mdate [9] = BCD2LowerCh (yr);

}

loadLcd () {

int cx;

Lcd_cmd (malinaw);

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

// lcdWriteTextCP (Mdate);

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

Lcd_writeCP (Mdate [cx]);

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

// lcdWriteTextCP (oras);

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

Lcd_writeCP (oras [cx]);

}

resetClock () {

Ds1307_write (pangalawa, Binary2BCD (0)); // sumulat ng 0 segundo

Ds1307_write (minuto, Binary2BCD (12)); // sumulat ng 12 minuto

Ds1307_write (oras, Binary2BCD (12)); // sumulat ng 12hrs

Ds1307_write (araw, Binary2BCD (3)); // sumulat araw martes

Ds1307_write (petsa, Binary2BCD (24)); // sumulat ng petsa 24

Ds1307_write (buwan, Binary2BCD (4)); // magsulat ng buwan sa Abril

Ds1307_write (taon, Binary2BCD (18)); // sumulat ng taon 18 ie 2018

Ds1307_write (SQWE, Binary2BCD (dalas)); // itakda ang output ng SQWE sa 1hz

Ds1307_write (pangalawa, Binary2BCD (startOscilator)); // reset pangalawa sa 0ec at simulan ang oscilator

habang (readPin (set) == 1);

}

Hakbang 3: Disenyo sa Proteus

Disenyo sa Proteus
Disenyo sa Proteus

ang uri ng proteus ay ang mga kinakailangang ito

1. cloudX

2. DS1307

3. 4.7k risistor

4. pindutan

5. lm016 LCD

6. kristal na 32khz

at o kurso huwag kalimutan ang iyong positibo at ground.

gawin ang iyong mga koneksyon tulad ng minahan.

Inirerekumendang: