Spisu treści:

Zegar DS1307 z CloudX: 4 kroki
Zegar DS1307 z CloudX: 4 kroki

Wideo: Zegar DS1307 z CloudX: 4 kroki

Wideo: Zegar DS1307 z CloudX: 4 kroki
Wideo: 29. Jak za pomocą Arduino i modułu RTC DS1307 zrobić zegar? 2024, Lipiec
Anonim
DS1307 Zegar z CloudX
DS1307 Zegar z CloudX
DS1307 Zegar z CloudX
DS1307 Zegar z CloudX

Wyobraź sobie, że chcesz stworzyć swój własny, niestandardowy zegarek lub zegar. połączenie DS1307 i CloudX może sprawić, że Twoja aspiracja będzie bezproblemowa

Krok 1: Otwórz swoje IDE CloudX

Otwórz swoje IDE CloudX
Otwórz swoje IDE CloudX
Otwórz swoje IDE CloudX
Otwórz swoje IDE CloudX

Przepraszam, nie jestem zbytnio gadułą, ale wiem, że jeśli chodzi o projekty zegara czasu rzeczywistego, cloudX ma dla ciebie ochronę.

Proste kroki

1. zaimportuj główną bibliotekę cloudX z ukośnikiem jej modelu płyty

2. zaimportuj DS1307 i inną potrzebną bibliotekę funkcjonalną;

3. ciesz się i graj z funkcjami DS1307 z jego biblioteki

Krok 2: KOD!, KOD!!, KOD!

/*

* Plik: main.c * Autor: Ogboye Godwin * * Utworzono 24 kwietnia 2018 o godzinie 11:02 */

#włączać

#włączać

#włączać

krótki czas bez znaku[9], Mdate[11];

krótki miesiąc bez znaku, dzień, rok, godz., min., s;

pobierzDatęGodzinę();

loadLcd();

resetujZegar();

int zbiór=16;

int wz=15;

int dek=14;

Ustawiać(){

pinMode(ustaw, WEJŚCIE);

pinMode(inc, INPUT);

pinMode(dec, INPUT);

pinMode(1, WEJŚCIE);

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

Ds1307_init();

pętla(){

while(odczytajPin(ustaw)==0){

pobierzDatęCzas();

loadLcd();

opóźnienia(500);

}

if(odczytajPin(ustaw)==1)

resetujZegar();

}

}

pobierzDatęGodzinę(){

hr=Ds1307_read(godzina); //godz

czas[0] = BCD2UpperCh(godz.);

czas[1] = BCD2DolnyCh(godz);

czas [2] = ':';

min=Ds1307_odczyt(minuta); //min

czas [3] = BCD2GórnyCh(min);

czas[4] = BCD2DolnyCh(min);

czas[5] = ':';

sec=Ds1307_read(druga); //sek

czas[6] = BCD2UpperCh(s);

czas[7] = BCD2DolnyCh(s);

mth=Ds1307_read(miesiąc); //miesiąc

Mdata[0] = BCD2UpperCh(mth);

Mdata[1] = BCD2DolnyCh(mth);

Mdata[2] = ':';

Dday=Ds1307_read(data); //dzień

Mdata[3] = BCD2UpperCh(Ddzień);

Mdata[4] = BCD2DolnyCh(Ddzień);

Mdata[5] = ':';

rok=Ds1307_odczyt(rok); //rok

Mdata[6] = '2';

Mdata[7] = '0';

Mdata[8] = BCD2GórnyCh(rok);

Mdata[9] = BCD2DolnyCh(rok);

}

loadLcd(){

wewn cx;

Lcd_cmd(wyczyść);

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

//lcdWriteTextCP(Mdate);

dla(cx=0;cx<11; cx++)

Lcd_writeCP(Mdate[cx]);

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

//lcdWriteTextCP(czas);

dla(cx=0;cx<9;cx++)

Lcd_writeCP(czas[cx]);

}

resetujZegar(){

Ds1307_write(drugi, Binary2BCD(0)); //zapisz 0 sekund

Ds1307_write(minuta, Binary2BCD(12));//zapis 12 minut

Ds1307_write(godzina, Binary2BCD(12)); // napisz 12godz

Ds1307_write(dzień, Binary2BCD(3)); //pisz dzień wtorek

Ds1307_write(data, Binary2BCD(24)); // napisz datę 24

Ds1307_write(miesiąc, Binary2BCD(4)); // napisz od miesiąca do kwietnia

Ds1307_write(rok, Binary2BCD(18)); // napisz rok 18 tj. 2018

Ds1307_write (SQWE, Binary2BCD (częstotliwość)); // ustaw wyjście SQWE na 1hz

Ds1307_write(druga, Binary2BCD(startOscilator)); // zresetuj sekundę do 0s i uruchom oscylator

while(odczytajPin(ustaw)==1);

}

Krok 3: Projektowanie w Proteus

Projekt w Proteusie
Projekt w Proteusie

wpisz proteus jest to te wymagania

1. chmuraX

2. DS1307

3. Rezystor 4,7k

4. przycisk

5. lm016 LCD

6. kryształ 32 khz

i oczywiście nie zapomnij o pozytywach i podstawach.

nawiązuj kontakty jak moje.

Zalecana: