DS1307 phải chạm tay mới chạy!!! help !!!
Collapse
This topic is closed.
X
X
-
bạn chỉ clr bít cuối của thanh ghi giây xuống 0 thôi đừng xóa tất cả thanh ghi, sẽ bị sai giờ, còn khi mất điện mà mất hết giờ do trong quá trình lưu giờ đâu chuơng trình sai nên nó ghi tất vào các thanh ghi khác nữa nên sai
-
Cám ơn các anh đã giúp đỡ, em làm được rùi!!!!!!!!!! ThanksssssssssssssssssssssssssssssNguyên văn bởi nmhai Xem bài viếtChú nạp thì chú chỉ clear cái bit CH thôi chứ, ai lại clear toàn bộ các thanh ghi hour, min, sec. Khi khởi động, chú read các giá trị thanh ghi hiện tại hour, min, sec. Rồi chú write nó vào lại. Để clear bit CH ở thanh ghi giây thì giá trị của nó là: value_sec_write = value_sec_read & (~0x80). Thì nghĩa là chú đã clear bit CH rồi. Nhớ là chỉ clear 1 bit CH thôi, không được clear các giá trị khác.
Leave a comment:
-
Chú nạp thì chú chỉ clear cái bit CH thôi chứ, ai lại clear toàn bộ các thanh ghi hour, min, sec. Khi khởi động, chú read các giá trị thanh ghi hiện tại hour, min, sec. Rồi chú write nó vào lại. Để clear bit CH ở thanh ghi giây thì giá trị của nó là: value_sec_write = value_sec_read & (~0x80). Thì nghĩa là chú đã clear bit CH rồi. Nhớ là chỉ clear 1 bit CH thôi, không được clear các giá trị khác.
Leave a comment:
-
bạn nạp code có set thanh ghi giây vào mạch 1 lần nữa đi, rồi xóa cái đoạn code set thanh ghi đó đi (nghĩa là ko đụng gì tới con DS nữa chỉ vào phần quét led là mới đọc ra thôi ) sau đó nạp lại cho chipNguyên văn bởi hoangex Xem bài viếtDạ không phải chip không hoạt động đâu anh mà là nó trở lại trạng thái ban đầu sec = min = hour =0; em set cho thanh ghi giây bằng 0 ngay ở đầu hàm void, nên bị vậy. Set ở đó có đúng không anh ?, em mô phỏng trên proteus cũng bị vậy nên chắc không phải tại nhiễu. Không biết có làm sai gì không, Em mới tìm hiểu về VXL nên còn gà lắm !!
Leave a comment:
-
Dạ không phải chip không hoạt động đâu anh mà là nó trở lại trạng thái ban đầu sec = min = hour =0; em set cho thanh ghi giây bằng 0 ngay ở đầu hàm void, nên bị vậy. Set ở đó có đúng không anh ?, em mô phỏng trên proteus cũng bị vậy nên chắc không phải tại nhiễu. Không biết có làm sai gì không, Em mới tìm hiểu về VXL nên còn gà lắm !!Nguyên văn bởi chung1608 Xem bài viết
Bit CH của thanh ghi giây là bit cho phép DS hoạt động (khi được xóa về 0). Khi DS mới mua về thường nó là mức 1, khi bạn gắn vào mạch đã có pin rồi và lần đầu tiên ghi vào thanh ghi giây giá trị 00H thì DS sẽ chạy mãi cho tới khi bit CH bị set lên 1. Vì thế bạn chỉ cần xóa nó lần đầu tiên thôi, khi mất điện rồi có điện lại mà DS ko hoạt động thì có thể chip bị nhiễu hoặc chân thạch anh tiếp xúc ko tốt. Đường đồng chân thạch anh bạn nên giảm tối đa độ dài và phủ GND xung quanh là tốt nhất, trong hình, thạch anh của mình cho dán sát chân DS luôn và phủ GND xung quanh

Leave a comment:
-
Nguyên văn bởi hoangex Xem bài viếtDĩ nhiên là có pin chứ pác, mấy pác kia chỉ là set lại giá trị sec = 0 thì chạy, vậy sau mỗi lần reset thì sec lại nạp lại giá trị 0 mất rùi ????
Bit CH của thanh ghi giây là bit cho phép DS hoạt động (khi được xóa về 0). Khi DS mới mua về thường nó là mức 1, khi bạn gắn vào mạch đã có pin rồi và lần đầu tiên ghi vào thanh ghi giây giá trị 00H thì DS sẽ chạy mãi cho tới khi bit CH bị set lên 1. Vì thế bạn chỉ cần xóa nó lần đầu tiên thôi, khi mất điện rồi có điện lại mà DS ko hoạt động thì có thể chip bị nhiễu hoặc chân thạch anh tiếp xúc ko tốt. Đường đồng chân thạch anh bạn nên giảm tối đa độ dài và phủ GND xung quanh là tốt nhất, trong hình, thạch anh của mình cho dán sát chân DS luôn và phủ GND xung quanh
Leave a comment:
-
Dĩ nhiên là có pin chứ pác, mấy pác kia chỉ là set lại giá trị sec = 0 thì chạy, vậy sau mỗi lần reset thì sec lại nạp lại giá trị 0 mất rùi ????Nguyên văn bởi nmhai Xem bài viếtChú có dùng PIN không vậy, sao lạ thế, hay là khi khởi động chú nạp lại giá trị time.
Leave a comment:
-
Chú có dùng PIN không vậy, sao lạ thế, hay là khi khởi động chú nạp lại giá trị time.
Leave a comment:
-
Mình đã đưa sec = 0 và ghi vào RTC ở đầu hàm void như bạn hướng dẫn. Kết quả là nó chạy lại như bình thường, nhưng khi mất điện hoặc reset thì lại mất hết dữ liệu ngày giờ, phải chỉnh lại. Mình làm có gì sai không bạn.Nguyên văn bởi lengo90 Xem bài viếtchỉ làm 1 lần lúc bắt đầu khởi động thôi cho ở đầu chương trình, mà xoá về 0 xong rồi phải viết vào RTC đấy, thì nó mới có tác dụng, bạn đọc kỹ về datasheet con ds1307 đi nhé
Leave a comment:
-
bạn đấy nói chạy ngon lành được 2 ngày rồi, không có lý gì không có trở treo mà chạy đc 2 ngày giờ lại không chạy nữa, với lại con 8051 ngoài port0 ra thì các port khác giao tiếp với ds khỏi cần trở treo vẫn chạy như thường. nguyên nhân này là do khi mình để bản mạch trên 1 vật gì đó có điện trở trong khi mình đang chỉnh giờ nên vô tình khi write vào thanh ghi giây con ds1307 bít cuối cùng được setb lên 1 làm cho con ds ngưng hoạt động, ngày xưa mình hay cầm tay vào đó rồi chỉnh giờ thì bị như vậy, từ khi treo nó lên chỗ khô ráo thì không thấy bị nữaNguyên văn bởi hoangdai Xem bài viếtCó khi chưa có trở treo Vcc.
Leave a comment:
-
bạn vẽ trên cùng board mạch hay nối bus qua ,thử gỡ chip ra nạp lại xem sao ,khởi tạo lại giá trị cho ds lun nha .
nếu nối bus qua thì xoắn trực 2 dây sda và scl lại để chống nhiễu @@
Leave a comment:
-
Xem kỹ lại, khả năng là khi chạm tay vào SDA và SCL thì nó sẽ chạy tốt. Tự nghiên cứu thêm nếu gặp đúng trường hợp đó nhé, chịu khó suy nghĩ sẽ ra, heheee
Leave a comment:
-
Ok de mình thử, cám ơn bạn nhiều !!Nguyên văn bởi lengo90 Xem bài viếtchỉ làm 1 lần lúc bắt đầu khởi động thôi cho ở đầu chương trình, mà xoá về 0 xong rồi phải viết vào RTC đấy, thì nó mới có tác dụng, bạn đọc kỹ về datasheet con ds1307 đi nhé
Leave a comment:
-
chỉ làm 1 lần lúc bắt đầu khởi động thôi cho ở đầu chương trình, mà xoá về 0 xong rồi phải viết vào RTC đấy, thì nó mới có tác dụng, bạn đọc kỹ về datasheet con ds1307 đi nhé
Leave a comment:
dự án của bạn Tra theo mã, xem datasheet và đặt hàng trực tuyến. MicrochipROHMEpsonTaejin
Đặt hàng & tư vấn
Hà Nội024.3640 8561
TP.HCM028.3811 9870
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Bài viết mới nhất
Collapse
-
Trả lời cho Tìm bạn thân quen cũ.bởi thuaimiVẫn nhớ và kính trọng Bác cũng các cao nhân trên dientuvietnam.net. Tính từ ngày tham gia trên này cũng đã hơn 20 năm rồi. Quá nhiều thay đổi cả trong công việc và cuộc sống. Nhưng được thấy lại các nick cũ vẫn sáng đèn là thấy vui rồi....-
Channel: Tâm tình dân kỹ thuật
26-10-2026, 16:33 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi nhathung1101Còn sống không lão??? Mất một thời gian chữa bệnh nên quên hỏi thăm.......
-
Channel: Tâm tình dân kỹ thuật
25-10-2026, 03:09 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi nhathung1101Thời buổi năng lượng xanh, nhất là xanh cả mặt... Thì Điện mặt giời, điện gió, sẽ lên ngôi.
Nếu không nắm bắt được cái cơ bản đó thì đi làm coder à? Mà coder giờ thất nghiệp cả lũ vì AI rồi!!!









...
-
Channel: Điện tử công suất
25-10-2026, 03:03 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi quangdonguehChà, lâu lắm rồi nhưng diễn đàn vẫn còn những chủ đề cốt lõi của điện tử công suất...-
Channel: Điện tử công suất
24-10-2026, 07:53 -
-
bởi bqvietNếu muốn tăng công suất cần tăng con chip và tăng biến áp lên lớn hơn. Thiết kế ban đầu dùng TNY25x và biến áp EE16 hoặc EE13. Tăng con chip lên TNY268 vẫn mạch nguyên lý đó và biến áp lên EE19 sẽ nâng công suất ra thêm nhiều. Tăng tối đa...-
Channel: Điện tử công suất
24-10-2026, 02:14 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 14:33 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 10:49 -
-
Trả lời cho Tìm VR 5 chânbởi dinhthuong80Cảm ơn bác bqviet . Nhưng hình như các VR 5 chân của linhkienchatluong là loại có 2 chân là công tắc đóng mở. Thấy trên Shopee có chỗ bán linh kiện đàn Organ, mà không biết đúng loại không, với lại sao ... mắc dữ dội luôn ấy!!!
...-
Channel: Hướng dẫn tìm thông tin linh kiện
19-10-2026, 11:30 -
Leave a comment: