Chào các bác đã dùng con này. Em đang dùng DS1307 giao tiếp với mega88 để băm thời gian lên LED 7, không hiểu tại sao sau khi reset hoặc mất điện thì Giây nó lại nhảy về 0, giờ, phút... vẫn bình thương. Các khai báo biến cho h,m,s giống hệt nhau? Nhờ các bác giúp em. Thanks!
Thông báo
Collapse
No announcement yet.
Ds1307
Collapse
X
-
Ok thôi, nhưng bác chờ em vài hôm nữa nhé, nhà em không có Net mà. Kể ra biết điện tử cũng hay thật, em làm được cái đồng hồ để bàn, hết gần 3 lit cả vỏ, đắt hơn nhiều so với hàng "Tàu liên doanh Trung Quốc" nhưng dù sao cũng là hàng Made in VietNam các bác nhẩy!Nguyên văn bởi Arce Xem bài viếtBác thangktvta có thể share mạch phần cứng + code cho anh em tham khảo đc ko?Nỏ biết chữ mần răng ký được??!! Thôi nhé.
Comment
-
Nếu dùng CodeVision thì bạn xem lại vì mỗi lần restart con mega88 nó đều chạy đoạn chương trình init lại con ds1307, giây trở về 0 là đúng rồi !. Nếu mình đoán không lầm thì bạn chỉ cần thêm điều kiện hoặc chỉnh sửa một chút function init là OK ngay !Nguyên văn bởi thangktvta Xem bài viếtChào các bác đã dùng con này. Em đang dùng DS1307 giao tiếp với mega88 để băm thời gian lên LED 7, không hiểu tại sao sau khi reset hoặc mất điện thì Giây nó lại nhảy về 0, giờ, phút... vẫn bình thương. Các khai báo biến cho h,m,s giống hệt nhau? Nhờ các bác giúp em. Thanks!
Chúc thành công !
NVT2Tín đồ AVR giáo.
Comment
-
Cách này đơn giản hơn bác này: Init một lần thôi, chạy xong xuôi rồi nạp lại phát nữa nhưng bỏ phần Init đi, thế là ok! Nhưng mà dạo này Hà Nội trời lạnh, hình như nó chạy nhanh hơn. bác NVT2 hình như trong Sài Gòn, trời nóng hơn có thấy nó chạy "chậm" hơn không bác? Hứt hứt??!!Nguyên văn bởi nvt2 Xem bài viếtNếu dùng CodeVision thì bạn xem lại vì mỗi lần restart con mega88 nó đều chạy đoạn chương trình init lại con ds1307, giây trở về 0 là đúng rồi !. Nếu mình đoán không lầm thì bạn chỉ cần thêm điều kiện hoặc chỉnh sửa một chút function init là OK ngay !
Chúc thành công !
NVT2Nỏ biết chữ mần răng ký được??!! Thôi nhé.
Comment
-
Mình cũng đang để cho con ds1307 chạy, được gần tuần rùi. Thấy nó chậm đi mấy phút. Hok bik do thạch anh hay nhiệt độ nữa. Thạch anh mình mua ngoài Nhật Tảo, hình trụ, nhỏ như cái nhang, hàng Trung Quốc, hok có số hiệu gì hết. Bác nào có kinh nghiệm làm cho con ds1307 chạy ổn định thì góp ý với. Thanks.
Comment
-
Chạy 1 tuần mà sai đến mấy phút thì không ổn rồi bác ạ, của em chạy cả tháng mới lệch gần phút ( Gần đây thôi). Bác xem lại linh kiện cơ bản xem thế nào: DS1307, thạch anh, mạch.... rồi cách đi dây trên mạch in nữa. Thạch anh như bác tả thì đúng rồi, không biết là có phải đồ "dởm" k???!!! Trên mạch in bác nên để thạch anh càng gần IC càng tốt cho đỡ bị nhiễu. Bác cũng nên xem lại chương trình, như em nói mấy bài trên đấy, không để ý thì khi reset second sẽ bị nhảy về "0" => Nhiều lần mất điện đồng hồ sẽ bị chậm.!! Còn nhiều vấn đề nữa, bác cố gắng tìm nguyên nhân nhé!Nguyên văn bởi gachoi Xem bài viếtMình cũng đang để cho con ds1307 chạy, được gần tuần rùi. Thấy nó chậm đi mấy phút. Hok bik do thạch anh hay nhiệt độ nữa. Thạch anh mình mua ngoài Nhật Tảo, hình trụ, nhỏ như cái nhang, hàng Trung Quốc, hok có số hiệu gì hết. Bác nào có kinh nghiệm làm cho con ds1307 chạy ổn định thì góp ý với. Thanks.Nỏ biết chữ mần răng ký được??!! Thôi nhé.
Comment
-
ôi hay quá, các bác cho em xin cái code để em ngâm cứu làm một cái đồng hồ cho riêng mình tý nhỉ,có nhiều tài liệu các bác cứ táng vào hòm thư cho em thi càng tốt (email : vdgiap_nh@yahoo.com) để em đọc cho nó to đầu ra thêm tý nữa hihii.Hiện tại em đang sở hữu mấy con ATMega8 để không ở đó thấy lãng phí quá. Cám ơn các bác nhiều nha. Hy vọng mong muốn của em được các bác giúp đỡ.
Comment
-
cac a ơi,e viet 1 đoạn ctrinh đơn giản để test con 1307, tuy nhien nó ko chạy dc. mong mọi ng chỉ giúp
#asm
.equ __i2c_port=0x18
.equ __sda_bit=0
.equ __scl_bit=1
#endasm
#include <mega16.h>
#include <ds1307.h>
#include <delay.h>
void main(void) {
unsigned char h,m,s;
DDRA=0xff;
i2c_init();
i2c_start();
i2c_write(0xd0);
i2c_write(0);
i2c_write(0x7f);
i2c_stop();
rtc_init(0,0,0);
rtc_set_time(0,0,0);
while (1)
{
rtc_get_time(&h,&m,&s);
PORTA=s;
delay_ms(200);
};
}
Comment
-
Tôi xem qua ct chưa thấy có gì sai, chỉ nghi là phần cứng của bác có vấn đề thôi. Bác lưu ý các R treo cho đường SDA và SCL nhé! Nếu bác post cả sch thì tốt hơn!Nguyên văn bởi phong25_2 Xem bài viếtbit CH e có xóa nó bằng cách ghi giá trị 0x7f hay 0x00 thì mạch vẫn im re luôn.Nỏ biết chữ mần răng ký được??!! Thôi nhé.
Comment
-
hehe, cai mach no chay tot roi, 2 điện trở kéo lên e cũng có mắc, nhưng nó sao sao ấy, giog như bị nhiễu, e gắn thêm 2 con 4k7 nữa là chạy ngon luôn, đây là ctrinh rất cơ bản, xin post lên cho các bạn muốn làm về 1307 tham khảo:
#asm
.equ __lcd_port=0x1B ;PORTA
.equ __i2c_port=0x18
.equ __sda_bit=0
.equ __scl_bit=1
#endasm
#include <mega16.h>
#include <ds1307.h>
#include <delay.h>
#include<lcd.h>
void main(void) {
unsigned char h,m,s,x,y;
i2c_init();
lcd_init(16);
rtc_init(0,0,0);
i2c_start();
i2c_write(0xd0);
i2c_write(0);
i2c_write(0);
i2c_stop();
rtc_set_time(0,0,0);
lcd_gotoxy(0,0);
lcd_putsf("REAL TIME CLOCK!");
while (1)
{
rtc_get_time(&h,&m,&s);
lcd_gotoxy(4,1);
x=h/10;
y=h%10;
lcd_putchar(x+0x30);
lcd_putchar(y+0x30);
lcd_putsf(":");
x=m/10;
y=m%10;
lcd_putchar(x+0x30);
lcd_putchar(y+0x30);
lcd_putsf(":");
x=s/10;
y=s%10;
lcd_putchar(x+0x30);
lcd_putchar(y+0x30);
delay_ms(200);
};
}
Comment
-
sao không tận dụng cái ram không mất nội dung của nó nhỉ? Lần đầu tiên chạy chương trình bạn khởi tạo cho nó và ghi một byte trong vùng nhớ này lên 0x01 chẳng hạn, từ sau nếu kiểm tra byte này mà thấy nó bằng 0x01 thì kô khởi tạo nữa, ngược lại thì đấy là lần đầu tiên bạn cho mạch chạy. ok không nhỉ?
Comment
-
bạn nói y như mình nghĩ luôn
,cai này mình viết chỉ để test con 1307,còn cái ghi vào eeprom thì để dùng cho cái reset vdk mà ko ảnh hưởng tới đồng hồ. à, cho mình hỏi cái này, sao mà con này dễ bị nhiễu wa, có cách nào khắc phục cái nhiễu này ko, chỉ cần lỡ tay chạm vào Xtal hay điện trở là nó hiện kí tự sai liền.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92GIỚI THIỆU CA KHÚC VỀ CHA MẸ:
Nặng Nghĩa Mẹ Cha
Sáng tác: Hoàng Đình Thường
Giọng hát: AI
Công cha cao tựa như Thái Sơn
Nghĩa mẹ sâu nước biếc xanh trong
Mong con khôn lớn đời hạnh phúc
Mẹ cha...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 16:22 -
-
bởi afrendlyCảm ơn bạn. Mình hỏi để thợ có thể tham khảo thôi chứ không đủ kiển thức để sửa, mà cũng không có đồ nghề, mua đồ nghề quá tiền máy. Gọi nhiều lần mà thợ hẹn mãi chưa có tới ấy bạn. Mình muốn sửa được chứ bỏ thì uống, nhưng sợ là được mỗi người thợ mà lại không sửa nổi....
-
Channel: Điện tử gia dụng
11-05-2026, 00:34 -
-
bởi mèomướpDạ nó bị tắc ẩm hoặc rò thiếu gas hoặc lốc yếu hoặc van tiết lưu có vấn đề hoặc tất cả những nguyên nhân trên ạ. Chú ko chuyên về mảng này thì bán đi, giành thời gian trồng rau sạch đem ra chợ bán lấy tiền mua tủ mới ạ. Còn...
-
Channel: Điện tử gia dụng
10-05-2026, 17:01 -
-
bởi afrendlyXin chào mọi người. Mình lại có vấn đề về đồ điện cần nhờ mọi người hỗ trợ giúp. Mình có tủ lạnh Sharp dùng cũng lâu rồi. Trước có bị kém lạnh, không đông đá thì có thợ họ mang về, sục đường ga gì đó hết 900k và đã dùng...
-
Channel: Điện tử gia dụng
10-05-2026, 16:53 -
-
bởi dinhthuong92Đấy, cái tôi thắc mắc là chỗ màu hồng ấy bạn, để áp vào cao chứ không bị sụt gần bằng áp pin thì rất cần cuộc cảm để làm điều đó. Tuy nhiên, trong công thức bác thớt dẫn không thấy mặt L, và một vài mạch MPPT tôi đã kiểm...
-
Channel: Nguồn!
09-05-2026, 10:01 -
-
bởi mèomướpDạ mạch sạc là 1 cục nguồn, nó sẽ điều chỉnh công suất đầu ra để có tổng trở bằng nội trở của pin ạ. Và cái cách nó chỉnh công suất đầu ra sẽ là dạng buck, boot. Đều cần đến cuộn cảm ạ. Tất nhiên chú thích thì có thể dùng dạng tuyến tính transistor để bù trừ nhưng mà nó đốt năng lượng vô ích ạ...
-
Channel: Nguồn!
08-05-2026, 16:26 -
-
bởi dinhthuong92Tng trở R của tải (gồm pin và mạch sạc) trong công thức đó rõ ràng khống có L xuất hiện. Nếu tính các dây dẫn thì rất nhỏ, bỏ qua. Vì nội trở pin là rất nhỏ, có thể nói luôn lớn hơn nội trở solar, nên mạch MPPT sẽ hầu như luôn tính...
-
Channel: Nguồn!
08-05-2026, 11:00 -
-
bởi dinhthuong92Chào bác. Đã là công thức phải tổng quát chứ, nó phải thể hiện cả quá trình, rối thì quá độ hay xác lập tính sau vì tùy điều kiện. Cũng như công thức tính diện tích chả hạn, phải là tích phân....
-
Channel: Nguồn!
08-05-2026, 10:49 -

Comment