View Single Post
Old 21-06-2008, 04:57 AM   #4
cuong86vt
Đệ tử 1 túi
 
Tham gia ngày: Jul 2007
Bài gửi: 22
:
Để viết ct cho mạch, ta cần hiểu một chút về lý thuyết:

Mạch trên là sử dụng chức năng giao tiếp I2C của vdk, trong đó con PIC là MASTER, còn DS1307 là SLAVE, là loại IC đếm thời gian thực đời mới hỗ trợ phần cứng chỉ với 8 chân so với các loại DS khác trước đây thường dùng (vd như DS12887 có tới và khó điều khiển...), nhưng bù lại viết ct cho con này khá phức tạp một chút, thế nên giá của nó bán ở Thật Tảo mình mua là 35k!

Về phần cứng, khi ta gắn pin lithium 3V vào cho nó và 1 thạch anh 32.768KHz thôi là tự bản thân nó đã "đếm thời gian" thực vĩnh viễn rồi.

Bên trong ds1307 có 8 thanh ghi, trong đó có 7 thanh ghi tương ứng mỗi thanh ghi mang 1 giá trị lần lượt là: phút, giây, giờ, thứ, ngày, tháng, năm, ta có truy xuất, tức là ghi vào và đọc ra các giá trị này.
Cụ thể: ta cần GHI một giá trị ban đầu hiển thị lên màn hình LCD là: thứ 7. ngày 21-tháng 6-2008; và 03:25:00 AM chẳng hạn. Sau đó ta cần ĐỌC giá trị nhận được từ ds1307 cũng để hiển thị lên LCD để biết thời gian hiện tại là bao nhiêu tai bất cứ thời điểm nào ta cần (vì bản thân ds1307 sau mỗi giây nó sẽ tăng lên 1 giá trị từ 7 thanh ghi này và truyền giá trị đó về).
Và một thanh ghi thứ 8 để điều khiển bộ nhớ dữ liệu chứa các giá trị ngày, giờ...
Các bạn có thể tham khảo Datasheet của DS1307 tại đây, viết rất dễ hiểu...
Hình Kèm Theo
File Type: jpg thanh ghi ds1307.JPG (73.2 KB, 184 lần tải)
File Kèm Theo
File Type: pdf DS1307.pdf (856.4 KB, 1646 lần tải)
cuong86vt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn