Mạch Đồng Hồ Thời Gian Thực Ds1307 Eeprom At24C32, Mạch Thời Gian Thực Rtc
Bạn đang xem: Mạch đồng hồ thời gian thực ds1307
P/S:Mạch này là của một bạn Đức Hệ ..Chip down về dẫu vậy họ giữ kín không share code đọc đề nghị chip tiện thể rước file mạch in làm rồi Test luôn code của cpu vào chạy lại ngon...Nên sẽ Source Open đến tất cả các bạn ^^"

![]() |
Đế cpu 40 chân |
![]() |
Led 7 đoạn anode chung |
![]() |
Chip At89C52 |
![]() |
DS1307 |
![]() |
Thach anh 12Mhz |
![]() |
Thach anh 32Mhz |
![]() |
Đế sạc 3V |
![]() |
Pin 3V |
![]() |
Led báo nguồn cùng trạng thái nút bấm |
![]() |
Kết cấu led |
![]() |
Tụ hóa 10u F - 100u F |
![]() |
LM7805 |
![]() |
Tụ gốm 33p F |
![]() |
Trở băng 103 |


Trong nội dung bài viết này, chúng ta sẽ khám phá về đồng hồ đeo tay thời gian thực (RTC – Real Time Clock) và cách tiếp xúc Arduino cùng với module thời gian thực DS1307.
Đồng hồ thời hạn thực xuất xắc RTC (Real Time Clock) là một trong những thiết bị định thời gian, thường được chế tạo dưới dạng IC. IC RTC chạy bằng pin với theo dõi thời hạn hiện tại ngay cả khi không tồn tại điện.
IC đồng hồ thời trang thời gian thực có mặt trong đồ vật tính, máy chủ (server), các hệ thống nhúng cùng trên thực tế, bọn chúng được sử dụng ở bất cứ đâu, đầy đủ nơi cần thông tin thời gian chính xác.
Nội dung bài viết
Giới thiệu IC thời gian thực DS1307Giao tiếp Arduino cùng với DS1307Tại sao bọn họ cần đồng hồ đeo tay thời gian thực (RTC)?
Mặc cho dù Arduino và hầu hết tất cả những bộ vi điều khiển đều phải sở hữu bộ định thời (timer) và bộ định thời gian (hàm millis () vào trường đúng theo Arduino) tuy nhiên chúng nhờ vào vào mối cung cấp điện, có nghĩa là chúng chỉ chuyển động khi có nguồn cung cấp. Sau thời điểm tắt nguồn (theo cách thủ công bằng tay hoặc bởi mất điện), toàn bộ bộ định tiếng được reset về 0.
Mặc dù việc định thời hạn bằng bộ định thời tích đúng theo sẵn được chấp nhận cho những ứng dụng đối kháng giản, nhưng một vài trường thích hợp khác bọn họ cần một giải pháp thay thế trong số ứng dụng như cỗ ghi dữ liệu, đồng hồ, báo thức, v.v.. Trong số đó bộ đếm thời gian chạy chủ quyền bất nhắc nguồn điện phía bên ngoài hoặc nếu bộ vi tinh chỉnh (hoặc Arduino) được thiết kế lại.
Khi kể đến việc sử dụng IC thời hạn thực. Phần đông tất cả các IC RTC phần nhiều là các thiết bị loại điện phải chăng chạy trong tương đối nhiều năm bên trên một sạc pin lithium tốt nhất (thường là CR2032). Trong những IC RTC thịnh hành và được sử dụng phổ biến nhất là DS1307.
Giới thiệu IC thời hạn thực DS1307
IC thời hạn thực (RTC) DS1307 tất cả chức năng đưa tin thời gian hiện tại (thời gian thực): giờ, phút, giây, thứ, ngày tháng, năm một cách đúng mực ngay cả khi thiết bị đã biết thành tắt (ngắt năng lượng điện ngoài). Tiếp xúc với vi điều khiển và tinh chỉnh thông qua chuẩn chỉnh I2C, cùng đóng sứ mệnh là slave khi liên kết đến bus I2C này. Rất có thể đếm thời hạn theo định dạng 24 tiếng hoặc 12 giờ với thông tư AM/PM. Hình như bên trong chíp bao gồm bộ dò phát hiện tại mất mối cung cấp và auto chuyển sang thực hiện nguồn pin dự phòng. Một số trong những tính năng khá nổi bật của IC RTC DS1307 được nói dưới đây.
Lưu trữ và hỗ trợ các thông tin thời gian thực:ngày, tháng, năm, giờ, phút, giây,…Khả năng tùy chỉnh ngày mang đến năm 2100.Tiêu thụ điện năng thấp: cái tiêu thụ dưới 500nA khi hoạt động bằng pin.Tự động chuyển sang mối cung cấp pin vào trường phù hợp mất điện.Đồng hồ 24 giờ đồng hồ hoặc 12 tiếng với chỉ báo AM/PM.Sử dụng chuẩn giao tiếp I2C.
Download datasheet DS1307 tại đây.
RTC DS1307 bao gồm sẵn bên dưới dạng module, bao hàm tất cả các thành phần cần thiết như pin, đầu nối, điện trở kéo lên cùng tinh thể thạch anh. Một module vì thế được sử dụng trong bài hướng dẫn này với được hiển thị bên dưới.
Xem thêm: Cách điều trị bệnh viêm nhiễm phụ khoa, phòng ngừa và điều trị viêm phụ khoa

Chân | Tên | Chức năng |
1 | X1 | Đây là các chân liên kết với thạch anh tần số 32.768 KHz để kích hoạt bộ giao động nội. |
2 | X2 | |
3 | VBAT | Chân này được kết với rất dương sạc Lithium 3V để cấp cho nguồn nuôi dự phòng |
4 | GND | Chân nối đất |
5 | SDA | Chân dữ liệu thông liền (Serial Data). Đây là chân dữ liệu vào/ra của giao thức I2C. Chân này bắt buộc đưa lên nguồn 5V trải qua điện trở 10kΩ |
6 | SCL | Chân đầu vào xung đồng hồ đeo tay nối tiếp (Serial Clock). Đây là chân ngõ vào xung nhịp của giao thức I2C. Chân này cũng đề xuất được kéo cho 5V thông qua 1 điện trở 10kΩ. |
7 | SQW/OUT | Ngõ xuất ra xung vuông, tần số hoàn toàn có thể lập trình để thay đổi từ 1Hz, 4Khz, 8Khz, 32Khz. Nếu không được sử dụng, chân này có thể được thả nổi. |
8 | VCC | Chân cung cấp nguồn chính, khoảng 5VDC. Nếu VCC không tồn tại mà VBAT gồm thì DS1307 vẫn hoạt động thông thường nhưng ko ghi cùng đọc được dữ liệu. |
Giao tiếp Arduino cùng với DS1307
Linh kiện đề xuất thiếtSTT | Tên linh kiện | Số lượng |
1 | Arduino Uno | 1 |
2 | Module RTC DS1307 | 1 |
3 | LCD 16×2 | 1 |
4 | Breadboard | 1 |
5 | Dây cắm breadboard | |
6 | Nguồn cung cấp điện |
Chúng ta đã khám phá một chút về IC thời hạn thực DS1307. Bây giờ, họ sẽ triển khai với giao tiếp Arduino cùng với IC thời gian thực. Như đang đề cập trước đó, module DS1307 RTC sử dụng tiếp xúc I2C.
Trong mạch tiếp xúc này, vi tinh chỉnh và điều khiển Arduino luôn hoạt động như Master với DS1307 vận động như Slave. Master trong giao tiếp I2C, có nghĩa là Arduino trong trường hòa hợp này, chịu trách nhiệm về tín hiệu đồng hồ, truy vấn bus, các tín hiệu start và stop.
Sơ vật nguyên lýHình ảnh sau đây cho thấy sơ đồ mạch giao tiếp giữa IC thời gian thực DS1307 và Arduino. Mạch này cho thấy các liên kết cơ bản liên quan mang đến module DS1307 (một board mạch chứa IC DS1307 với thạch anh, pin, điện trở kéo lên, ..).

Một ứng dụng đơn giản trong kia Arduino UNO được giao tiếp với module thời gian thực DS1307 nhằm hiển thị ngày giờ lên màn hình hiển thị LCD. Trong áp dụng này, bọn họ sẽ lập trình đến DS1307 RTC cùng với ngày giờ hiện tại và coi liệu nó tất cả thực sự giữ dữ liệu đó hay không ngay cả khi nguồn cung ứng cho Arduino bị nockout bỏ.
Một thư viện quan trọng đặc biệt được điện thoại tư vấn là “RTClib” được thực hiện trong chương trình. Các chúng ta cũng có thể tải xuống từ link này. Đảm nói rằng thư viện được mua xuống trước và được sản xuất cơ sở dữ liệu thư viện Arduino.
Để nạp dữ liệu và thời gian vào IC DS1307 RTC, chúng ta sẽ sử dụng một thiên tài có sẵn trong tủ sách RTClib, chỗ Arduino sẽ cài đặt ngày cùng giờ từ máy vi tính lên ngay khi chương trình được nạp vào.
Chương trình// lịch trình hiển thị thời hạn thực trên LCD cần sử dụng module RTC DS1307
#include
#include
#include “RTClib.h”
RTC_DS1307 rtc;
Liquid
Crystal lcd(7, 6, 5, 4, 3, 2); // (rs, e, d4, d5, d6, d7)
char days
Of
The
Week<7><12> = “Sun”, “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”;
void cài đặt ()
Serial.begin(9600);
lcd.begin(16, 2);
if (! rtc.begin())
lcd.print(“Khong the tim nạm RTC”);
while (1);
if (! rtc.isrunning())
lcd.print(“RTC khong hoat dong!”);
rtc.adjust(Date
Time(F(__DATE__), F(__TIME__)));
//rtc.adjust(Date
Time(2014, 1, 21, 3, 0, 0));
void loop ()
Date
Time now = rtc.now();
lcd.set
Cursor(0, 1);
lcd.print(now.hour());
lcd.print(‘:’);
lcd.print(now.minute());
lcd.print(‘:’);
lcd.print(now.second());
lcd.print(” “);
lcd.set
Cursor(0, 0);
lcd.print(days
Of
The
Week
The
Week()>);
lcd.print(” ,”);
lcd.print(now.day());
lcd.print(‘/’);
lcd.print(now.month());
lcd.print(‘/’);
lcd.print(now.year());
Ứng dụng
Với sự giúp đỡ của giao tiếp đồng hồ đeo tay thời gian thực và Arduino, chúng ta cũng có thể thực hiện một số trong những ứng dụng liên quan đến ghi dữ liệu, báo thức, đồng hồ, v.v.Vì module RTC DS1307 được cung ứng cấp nguồn bằng pin nên nó sẽ tiếp tục gia hạn thời gian trong cả trong trường đúng theo mất điện.