Mục lục:

Đồng hồ DS1307 với CloudX: 4 bước
Đồng hồ DS1307 với CloudX: 4 bước

Video: Đồng hồ DS1307 với CloudX: 4 bước

Video: Đồng hồ DS1307 với CloudX: 4 bước
Video: [Tự Học 8051] Giao Tiếp Với Đồng Hồ Thời Gian Thực DS1307 2024, Tháng mười một
Anonim
Đồng hồ DS1307 với CloudX
Đồng hồ DS1307 với CloudX
Đồng hồ DS1307 với CloudX
Đồng hồ DS1307 với CloudX

Đã bao giờ tưởng tượng bạn muốn làm đồng hồ đeo tay hoặc đồng hồ tùy chỉnh của riêng mình. hợp nhất DS1307 và CloudX có thể giúp nguyện vọng của bạn không gặp rắc rối

Bước 1: Mở CloudX IDE của bạn

Mở CloudX IDE của bạn
Mở CloudX IDE của bạn
Mở CloudX IDE của bạn
Mở CloudX IDE của bạn

Xin lỗi, tôi không phải là người nói nhiều, nhưng tôi biết khi nói đến các dự án Đồng hồ thời gian thực, cloudX đã giúp bạn bao quát.

Các bước đơn giản

1. nhập thư viện chính của cloudX với mô hình bảng cắt của nó

2. nhập DS1307 và thư viện chức năng khác cần thiết

3. thưởng thức và chơi với DS1307 funtions từ thư viện của nó

Bước 2: CODE !, CODE !!, CODE !!

/*

* Tệp: main.c * Tác giả: Ogboye Godwin * * Tạo ngày 24 tháng 4 năm 2018, 11:02 AM * /

#bao gồm

#bao gồm

#bao gồm

thời gian ngắn không dấu [9], Mdate [11];

không dấu ngắn mth, Dday, yr, hr, min, sec;

getDateTime ();

loadLcd ();

resetClock ();

int set = 16;

int inc = 15;

int dec = 14;

cài đặt(){

pinMode (set, INPUT);

pinMode (inc, INPUT);

pinMode (dec, INPUT);

pinMode (1, INPUT);

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

Ds1307_init ();

vòng(){

while (readPin (set) == 0) {

getDateTime ();

loadLcd ();

chậm trễ (500);

}

if (readPin (set) == 1)

resetClock ();

}

}

getDateTime () {

hr = Ds1307_read (giờ); // giờ

time [0] = BCD2UpperCh (giờ);

time [1] = BCD2LowerCh (hr);

time [2] = ':';

min = Ds1307_read (phút); // phút

time [3] = BCD2UpperCh (phút);

time [4] = BCD2LowerCh (phút);

time [5] = ':';

sec = Ds1307_read (giây); // giây

time [6] = BCD2UpperCh (giây);

time [7] = BCD2LowerCh (giây);

mth = Ds1307_read (tháng); //tháng

Mdate [0] = BCD2UpperCh (mth);

Mdate [1] = BCD2LowerCh (mth);

Mdate [2] = ':';

Dday = Ds1307_read (ngày tháng); //ngày

Mdate [3] = BCD2UpperCh (Dday);

Mdate [4] = BCD2LowerCh (Dday);

Mdate [5] = ':';

yr = Ds1307_read (năm); //năm

Mdate [6] = '2';

Mdate [7] = '0';

Mdate [8] = BCD2UpperCh (năm);

Mdate [9] = BCD2LowerCh (năm);

}

loadLcd () {

int cx;

Lcd_cmd (rõ ràng);

Lcd_writeText (1, 1, "Ngày:");

// lcdWriteTextCP (Mdate);

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

Lcd_writeCP (Mdate [cx]);

Lcd_writeText (2, 1, "Thời gian:");

// lcdWriteTextCP (time);

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

Lcd_writeCP (time [cx]);

}

resetClock () {

Ds1307_write (thứ hai, Binary2BCD (0)); // ghi 0 giây

Ds1307_write (phút, Binary2BCD (12)); // viết 12 phút

Ds1307_write (giờ, Binary2BCD (12)); // ghi 12hrs

Ds1307_write (day, Binary2BCD (3)); // ghi ngày thứ ba

Ds1307_write (ngày, Binary2BCD (24)); // ghi ngày 24

Ds1307_write (tháng, Binary2BCD (4)); // ghi tháng vào tháng 4

Ds1307_write (năm, Binary2BCD (18)); // ghi năm 18 tức là 2018

Ds1307_write (SQWE, Binary2BCD (tần số)); // đặt đầu ra SQWE thành 1hz

Ds1307_write (thứ hai, Binary2BCD (startOscilator)); // đặt lại giây về 0 giây và khởi động trình điều hành

while (readPin (set) == 1);

}

Bước 3: Thiết kế trong Proteus

Thiết kế trong Proteus
Thiết kế trong Proteus

gõ vào proteus là những yêu cầu này

1. cloudX

2. DS1307

3. Điện trở 4,7k

4. nút

5. LCD lm016

6. tinh thể của 32khz

và hoặc tất nhiên đừng quên tích cực và nền tảng của bạn.

làm cho các kết nối của bạn giống như của tôi.

Đề xuất: