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 vi van phamCa sĩ AI cũng có vài loại, có ca sĩ chuyên và không chuyên.Ca sỉ chuyên thì là Synthesizer V, còn không chuyên thì là Suno. Ca sĩ chuyên thì mệt với nó lắm, phải biết nhạc và biết cả ngôn ngữ của nó để điều khiển, còn ca sĩ không chuyên thì...
-
Channel: Tâm tình dân kỹ thuật
04-05-2026, 21:33 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Chúc mừng bác có ca khúc hay tặng bà xã nhé! Nếu muốn hát đúng ý mình thì bác chịu khó... thuê ca sĩ nha!!!!😁😁😁...
-
Channel: Tâm tình dân kỹ thuật
04-05-2026, 15:43 -
-
bởi dinhthuong92Trong các công thức không có mặt L bạn. Trước mình nghĩ cứ phải có L cơ....
-
Channel: Nguồn!
04-05-2026, 15:35 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamCháu nghe thử trên youtube xem sao? : https://www.youtube.com/watch?v=Opm0BszTmFQ...
-
Channel: Tâm tình dân kỹ thuật
02-05-2026, 21:23 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Cháu không vào được để nghe thử. Mời bác nghe thử bản phối điệu Techno này xem thế nào nhé! Chúc bác vui.
( Cháu nhìn lyrics và cứ thế một mmạch hát demo rồi đưa vào suno. nó hát đạt 80% melody!)...-
Channel: Tâm tình dân kỹ thuật
27-04-2026, 17:00 -

Comment