Anh chị nào biết lập trình ngắt để cài đặt giờ phút giây cho DS1307 xin chỉ giúp em với, có code hay giải thuật như thế nào xin cho em vài ý kiến
Thông báo
Collapse
No announcement yet.
lập trình ngắt để cài đặt giờ cho DS1307
Collapse
X
-
àh em tính dùng ngắt ngoài để cài đặt giờ cho 1307 đó anh, 1 nút chọn chế độ(chọn cài đặt giờ, phút hay là giây) 2 nút :tăng và giảm, tại vì đâu phải gắn vô là con 1307 chạy đúng giờ như cái đồng hồ nhà mình đâu, nó chạy theo thời gian mà mình đã thiết lập cho nó mà phải ko ạ, nên phải chỉnh lại thời gian
Comment
-
Bạn tham khảo cái này, test thực tế chạy ok (nguồn tham khảo tại www.dientuvietnam.net có chỉnh sửa tí xíu) có mô phỏng = proteus 7.7, download proteus 7.7 tại chữ kíNguyên văn bởi ylotus Xem bài viếtAnh chị nào biết lập trình ngắt để cài đặt giờ phút giây cho DS1307 xin chỉ giúp em với, có code hay giải thuật như thế nào xin cho em vài ý kiến
http://www.mediafire.com/?1yqdq1rih5q6app
Chúc vuiMạch nạp Pickit 2 SE ---> 170k BH 1 năm
Pic 18F2550 PDIP Thailand bao test 60K/1c
Comment
-
em cám ơn anh đã giúp đỡ nhưng mà em đang lập trình bằng asm anh ơi, C thì em bó tay, mấy anh có biết đồng hồ mà chạy chậm quá thì nguyên nhân là do đâu ko, anh nào rảnh coi giúp em đoạn code này, em làm cho 1con led giây thôi mà sao nó chạy chậm lắm mà sai nữa, ai biết sửa giúp em
;KHAI BAO
GIAY DATA 60H
DONVI_GIAY DATA 63H
CHUC_GIAY DATA 64H
LED_GIAY BIT P2.0
LED_C_GIAY BIT P2.1
;--------I2C-------
SCL BIT P3.0
SDA BIT P3.1
LED_DATA EQU P0
BYTE_W EQU 11010000B
BYTE_R EQU 11010001B
ADD_REG EQU 20H
DATA_RTC EQU 21H
ORG 0000H
MAIN:
MOV GIAY,#0
MOV TMOD,#10H
MOV ADD_REG,#0
MOV DATA_RTC,#0
MOV A,#00H
MOV LED_DATA,#00H
;**********WRITE_CLOCK**********
WRITE_CLOCK:
SETB SCL ;KIEM TRA BUS ROI
SETB SDA
CALL START_CLOCK
MOV A,#BYTE_W
CALL TACH_BYTE
CLR SCL ;4 HANG KT ACK
SETB SCL
JB SDA,$
CLR SCL
MOV A,ADD_REG
CALL TACH_BYTE
CLR SCL ;4 HANG KT ACK
SETB SCL
JB SDA,$
CLR SCL
MOV A,DATA_RTC
CALL TACH_BYTE
CLR SCL ;4 HANG KT ACK
SETB SCL
JB SDA,$
CLR SCL
CALL STOP_CLOCK
;********CHUONG TRINH NHAN DU LIEU VA HIEN THI***********
RECEIVE_DATA:
;========READS SECONDS=============
READ_SEC:
MOV ADD_REG,#00H
LCALL READ_RTC
MOV GIAY,DATA_RTC
LCALL STOP_CLOCK
CALL HIENTHI_S
LJMP RECEIVE_DATA
;*****CHUONG TRINH DOC DU LIEU TU 1307*****
READ_RTC:
SETB SCL ;KIEM TRA BUS ROI
SETB SDA
CALL START_CLOCK
MOV A,#BYTE_W
CALL TACH_BYTE
CLR SCL ;4 HANG ACK
SETB SCL
JB SDA,$
CLR SCL
MOV A,ADD_REG
CALL TACH_BYTE
CLR SCL ;4 HANG ACK
SETB SCL
JB SDA,$
CLR SCL
CALL STOP_CLOCK
SETB SCL ;KIEM TRA BUS ROI
SETB SDA
CALL START_CLOCK
MOV A,#BYTE_R
CALL TACH_BYTE
CLR SCL ;4 HANG ACK
SETB SCL
JB SDA,$
CLR SCL
CALL SEND_DATA
SETB SCL ;NOT ACK
SETB SDA
CALL STOP_CLOCK
RET
;--------------HIENTHI_RTC---------------
;**********************************
HIENTHI_S:
CALL BINBCD_GIAY
MOV DPTR,#MALED
MOV A,DONVI_GIAY
MOVC A,@A+DPTR
MOV LED_DATA,A
SETB LED_GIAY
CLR LED_C_GIAY
CALL DELAY
CLR LED_GIAY
MOV DPTR,#MALED
MOV A,CHUC_GIAY
MOVC A,@A+DPTR
MOV LED_DATA,A
SETB LED_C_GIAY
CALL DELAY
CLR LED_C_GIAY
RET
;**********CHUONG TRINH TACH BYTE***********
TACH_BYTE:
MOV R7,#8
GG: RLC A
MOV SDA,C
SETB SCL
CLR SCL
DJNZ R7,GG
RET
;----------DUA DU LIEU RA MANG I2C--------------
SEND_DATA:
MOV R7,#8
CLR SCL
DG: MOV C,SDA
SETB SCL
CLR SCL
RLC A
DJNZ R7,DG
MOV DATA_RTC,A
RET
;---------START-------------
START_CLOCK:
SETB SCL ;trong khi SCL=1
NOP
SETB SDA ;SDA tu 1
NOP
CLR SDA ;xuong 0
NOP
CLR SCL
RET
;---------STOP-----------
STOP_CLOCK:
SETB SCL ;trong khi SCL=1
NOP
CLR SDA ;SDA tu 0
NOP
SETB SDA ; len 1
NOP
CLR SCL
RET
;**********CHUONG TRINH DOI SANG MA BCD************
BINBCD_GIAY:
MOV A,GIAY
MOV B,#10
DIV AB
MOV CHUC_GIAY,A
MOV DONVI_GIAY,B
RET
DELAY:
clr tr1
mov th1,#high(-500)
mov tl1,#low(-500)
setb tr1
jnb tf1,$
clr tf1
ret
MALED:
DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H
END
Comment
-
- Code bạn có vấn đề
- chạy nhanh hay châm thường là do Ds1307Last edited by vidieukhien1; 09-03-2011, 14:48.Mạch nạp Pickit 2 SE ---> 170k BH 1 năm
Pic 18F2550 PDIP Thailand bao test 60K/1c
Comment
-
Minh thì chưa từng làm con 1307 bao giờ cả, nên không giúp dc bạn.
Nếu bạn chịu khó bỏ thêm mấy chục ngàn mua con DS12C887 thì mình sẽ giúp bạn từ A -> Z
Con 12C887 mình mua 60k, chạy rất tốt, không cần nguồn nuôi, bản thân nó có nguồn nuôi bên trong.
Mình làm 4 cái rồi, cũng mới hơn 1 năm thôi, chưa thấy vấn đề gì xảy ra cả.
Nếu bạn cần thì email cho mình qua: long.nguyenvansc@gmail.com nhé!
Chúc bạn vui!Không biết ngày mai sẽ ra sao?
Mà có ra sao cũng chẳng sao.
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