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 Đấu tắt điện cho máy tính bảngbởi bqvietBqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
-
Channel: Thiết bị điện tử cá nhân
Hôm qua, 17:17 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
05-12-2025, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -
-
Trả lời cho Làm thế nào để check IC LM358bởi thetungĐể check IC sống hay chết thì đơn giản : bạn lắp cái mạch ( khuếch đại hoặc dao động ) chạy bằng con IC đó ,nhưng vị trí IC thì lắp cái đế .... thế là cứ cắm rút thì biết . Còn không thì kiếm cái này : https://shopee.vn/Xu-M%C3%A1y-ki%E1%...di-%C4%91%E1%B...
-
Channel: Hướng dẫn tìm thông tin linh kiện
28-11-2025, 14:34 -
-
bởi ngochung90Tình hình là em có mua mạch 3s về để hàn vào khối pin 12v, hàn xong em đo tại các chân từ B-, B1, B2, B+ thì điện áp pin vẫn đủ 12,6v, nhưng tại 2 chân ra P- P+ thì đo chỉ được 6,3v là bị sao các bác, và chân P- P + này đồng thời là chân sạc xả thì mình cắm sạc xả cùng lúc được ko ạ
...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2025, 10:32 -
-
Trả lời cho Làm thế nào để check IC LM358bởi nguyendinhvanViệc đó tùy thuộc trình độ khoa học kỹ thuật công nghệ ứng dụng hiện tại thôi.
Trong datasheet,họ đưa ra nhiều thông số. Tùy theo khả năng , và những thông số họ cần, họ sẽ kiểm tra casc số đo có khớp với số liệu trong datasheet...-
Channel: Hướng dẫn tìm thông tin linh kiện
27-11-2025, 18:00 -
-
bởi kqbn9091Em có mạch AT89s8253 đang cần sửa số serial no của CHIP mà giờ lâu quá rồi không dùng keil nên không biết phải làm sao, trong khi chỉ còn file hex. Mạch nạp thì progris khi viết không sửa được số serial của IC. Rất cần bác nào còn làm về 89...
-
Channel: Vi điều khiển họ 8051
27-11-2025, 11:13 -

Comment