Đây là hình nguyên lý lúc còn đi học tôi đã làm chơi 1 cái như vậy. Chạy cho tới giờ không có vấn đề gì hết. Ai cần thì lấy dùng, nếu thấy hay thì nhấn cám ơn.
Thông báo
Collapse
No announcement yet.
Hỏi Về Cách Giao Tiếp Giữa Vdk Với Ic Thời Gian Thực
Collapse
X
-
addata equ p0
cs bit p2.7
as bit p2.6
rewr bit p2.5
dss bit p2.4
;**********************MAIN*********************** *****
setb cs
lcall kd_rtc
nop
lcall nap
sjmp $
;**********************KHOI DONG RTC************************
kd_rtc:
mov a,#0ah; địa chỉ thanh ghi a cua rtc
lcall wr_add
mov a,#20h; nạp 20h vào A của RTC để khởi động
lcall write_byte
mov a,#0bh; thanh ghi B
lcall wr_add
mov a,#06h ;binary ,24h; nap 06h vao B
;mov a,#2h;bcd,24h
lcall write_byte
ret
cho hỏi chương trình trên nạp dữ liệu vào A,B của RTC để khởi động còn thanh ghi C,D ko cần khai báo nên ko nạp
mình nghĩ như vậy có đúng ko? , xin chỉ giáo giúp
muốn truy suất dữ liệu ngày thàng năm giờ phút giây chỉ cần khai báo cho thanh ghi A,B như vậy thôi hả?
mình chỉ trích một chút trong ctrinh thui, nhưng xem sẽ hiểu mong Pro chæ giuùp duøm , thank alot
Comment
-
còn vấn đề chỉnh giờ thì sao nhỉ
có phải khởi tạo các giá trị cho phép ngắt, chờ chân ngắt ngoài sẻ nhảy đến chương trình chỉnh giờ, sau đó chỉnh xong quay lại như thế có đúng ko?
nhưng vấn đề là mình ko biết làm cách nào mà mình nhấn tăng Giờ or phút, rùi sao đó quay lại cttinh2 chính mà nó vẫn nhớ giờ mình đã chỉnh?
Comment
-
Khi các bạn làm việc với DS12887 thì lưu ý 2bit này
1.The Update In Progress (UIP) bit trong thanh ghi A
2.The Daylight Savings Enable (DSE) bit trong thanh ghi B
- Cần phải kiểm tra bit UIP trước khi cập nhật lại ngày/giờ cho DS12887, nếu không có thể có rủi ro sảy ra: các rủi ro có thể sảy ra là không cập nhật đúng giờ chúng ta yêu cầu, có thể hiển thị giờ >24 ví dụ: từ 25 giờ đến 255 giờ mới quay 0 giờ như bình thường, tương tự với phút, giây, ngày, tháng, ...
- Nếu bạn ở Bắc Mỹ hoặc viết chương trình để sử dụng ở Bắc Mỹ thì hãy bật bit DSE này lên, còn ngược lại hãy tắt nó đi, nếu không một ngày đẹp trời nào đó bạn thấy mạch của mình chạy nhanh 1 giờ hoặc trễ một giờ mà không biết lý do tại sao ??? Nếu dùng DS12887 làm Alarm giờ hẹn đi chơi với người yêu mà trễ 1 giờ thì hỏng bét rồi, hihi. Tuy nó đơn giản thế nhưng thỉnh thoảng các bảng Quang báo lớn tại TP.HCM và HN ở các ngõ ra vào TP vẫn có sai sót này. mình đã chứng kiến rồi. Chúc các bạn vui vẻ.
Comment
-
Ct real time clock mình viết ko cần dùng đến 1 timer nào hay 1 ngắt nào cả nhưng vẫn đầy đủ chức năng xem giờ, phút, giây, ngày, tháng, năm, chỉnh giờ, chỉnh giờ hẹn. Việc dò các phím bấm ko cần phải dùng đến ngắt mà hãy dùng pp thăm dò (dùng các lệnh JNB nut,rel chèn vào ct Main). Khi chỉnh thì tăng các giá trị xong rùi hãy thiết lập thêm 1 nút có chức năng cập nhật. Chỉnh xong, bấm nút cập nhật thì các giá trị ta chỉnh sẽ được ghi vào thanh ghi trong RTC.Nguyên văn bởi TrucQuanTu Xem bài viếtcòn vấn đề chỉnh giờ thì sao nhỉ
có phải khởi tạo các giá trị cho phép ngắt, chờ chân ngắt ngoài sẻ nhảy đến chương trình chỉnh giờ, sau đó chỉnh xong quay lại như thế có đúng ko?
nhưng vấn đề là mình ko biết làm cách nào mà mình nhấn tăng Giờ or phút, rùi sao đó quay lại cttinh2 chính mà nó vẫn nhớ giờ mình đã chỉnh?
CT Main của ta thực chất chỉ có vài dòng trong đó có các lệnh chính như Đọc gt từ RTC, hiển thị led, dò các nút, Sjmp Main.
Comment
-
Trong RTC 12C887 ko có chân nào dùng cho việc chỉnh giờ cả bạn à. Việc chỉnh giờ ta phải dùng phần mềm bằng cách lập trình cho VXL. Khi ta bấm các nút để chỉnh giờ, các giá trị giờ phút sẽ tăng dần, tới giá trị nào ta cần thì ta sẽ làm thêm 1 nút nữa, nút này có tác dụng là ghi toàn bộ giá trị ta vừa chỉnh vào các thanh ghi giờ phút trong RTC (bằng mấy cái lệnh Movx ấy). Cụ thể hơn thì mình gửi cho bạn sơ đồ, ct của đồng hồ mình làm. Dùng 89V51RB2 + DS12C887, chức năng: xem giờ, phút, giây, ngày, tháng, năm, chỉnh giờ, hẹn giờ báo thức (loa nối với p1.7, tới giờ hẹn thì loa sẽ kêu trong 15s, giá trị này tùy chỉnh được). CT này mình ko dùng 1 ngắt hay 1 timer nào của 89V51 cả nên rất đơn giản, dễ hiểu.Nguyên văn bởi TrucQuanTu Xem bài viếtbạn có thể nói rõ hơn chân nào có chức năng chỉnh giờ trong RTC dc ko? cách khai báo làm sao? thank bạn rất nhiều
Link Down RTC_12C887.rar
Comment
-
REG_CAPNHAT: ;CHUYEN 2GT GIOCHINH VA PHUTCHINH - > BCD NENNguyên văn bởi vodangks Xem bài viếtTrong RTC 12C887 ko có chân nào dùng cho việc chỉnh giờ cả bạn à. Việc chỉnh giờ ta phải dùng phần mềm bằng cách lập trình cho VXL. Khi ta bấm các nút để chỉnh giờ, các giá trị giờ phút sẽ tăng dần, tới giá trị nào ta cần thì ta sẽ làm thêm 1 nút nữa, nút này có tác dụng là ghi toàn bộ giá trị ta vừa chỉnh vào các thanh ghi giờ phút trong RTC (bằng mấy cái lệnh Movx ấy). Cụ thể hơn thì mình gửi cho bạn sơ đồ, ct của đồng hồ mình làm. Dùng 89V51RB2 + DS12C887, chức năng: xem giờ, phút, giây, ngày, tháng, năm, chỉnh giờ, hẹn giờ báo thức (loa nối với p1.7, tới giờ hẹn thì loa sẽ kêu trong 15s, giá trị này tùy chỉnh được). CT này mình ko dùng 1 ngắt hay 1 timer nào của 89V51 cả nên rất đơn giản, dễ hiểu.
Link Down RTC_12C887.rar
PUSH ACC
PUSH 00H
MOV A,CHPHUT_CHINH ;A = 0000 CHPHUT
SWAP A ;A = CHPHUT 0000
MOV R0,#DVPHUT_CHINH
XCHD A,@R0 ;A = CHPHUT DVPHUT
MOV 56H,A ;(56H) = CHPHUT DVPHUT
MOV A,CHGIO_CHINH
SWAP A
MOV R0,#DVGIO_CHINH
XCHD A,@R0
MOV 57H,A
POP 00H
POP ACC
RET
cho mình hỏi trườc khi cập nhật thì cần gì phải lưu acc và 00h vào stack point? nó có tác dụng gì? nói chung mình cũng hiểu sơ sơ nhưng còn vài điềulấn cấn, cam on ban
Comment
-
Phải lưu lại vì thanh ghi ACC và thanh ghi R0 là những thanh ghi trung gian của các quá trình tính toán (có những phép toán chỉ sử dụng được trên ACC mà thôi), chính vì nó quan trọng như vậy cho nên ta cần lưu các gt hiện tại của nó, rùi sau đó mới dùng nó cho ct con, hết ct con thì trả lại giá trị đang có của nó, làm như vậy cốt là để tránh xung đột khi các chương trình con cùng dùng thanh ghi ACC, R0. Và khi dùng như vậy thì ta cũng đỡ phải mắc công suy nghĩ về các thanh ghi ACC, R0... trước đó đã dùng cho việc gì mà ta có thể dùng chúng 1 cách dễ dàng mà ko sợ xung đột.Nguyên văn bởi TrucQuanTu Xem bài viếtREG_CAPNHAT: ;CHUYEN 2GT GIOCHINH VA PHUTCHINH - > BCD NEN
PUSH ACC
PUSH 00H
MOV A,CHPHUT_CHINH ;A = 0000 CHPHUT
SWAP A ;A = CHPHUT 0000
MOV R0,#DVPHUT_CHINH
XCHD A,@R0 ;A = CHPHUT DVPHUT
MOV 56H,A ;(56H) = CHPHUT DVPHUT
MOV A,CHGIO_CHINH
SWAP A
MOV R0,#DVGIO_CHINH
XCHD A,@R0
MOV 57H,A
POP 00H
POP ACC
RET
cho mình hỏi trườc khi cập nhật thì cần gì phải lưu acc và 00h vào stack point? nó có tác dụng gì? nói chung mình cũng hiểu sơ sơ nhưng còn vài điềulấn cấn, cam on ban
Lưu ý: ko phải lúc nào cũng cần dùng những lệnh cất giữ thanh ghi như trên, nhưng khi dùng thì ta yên tâm hơn và đảm bảo ct chạy ổn định, nhất là những ct có quá nhiều ct con chằng chịt. Trong ct mình viết bạn thấy mình dùng rất nhiều lệnh trên, đôi chỗ thực sự ko cần thiết nhưng nó sẽ cần thiết khi bạn viết thêm các ct con vào chẳng hạn.Last edited by vodangks; 26-08-2008, 22:53.
Comment
Bài viết mới nhất
Collapse
-
bởi mèomướpDạ chú rủ cô ấy đi ăn uống, cà phê, xem phim...nhớ nắm tay, rồi thì ôm hôn,...trong vòng 1 tuần mà ko nắm tay được, 1 tháng mà ko ôm đc thì dẹp ngay và luôn ạ. Nhắn tin, gọi điện ít thôi ạ, trả lời quá lâu hoặc ko trả lời cũng dẹp ngay ạ. Nên thể hiện chú là người có điều kiện nữa ạ...
-
Channel: Tâm tình dân kỹ thuật
08-02-2026, 18:50 -
-
bởi songchodep76Cảm ơn bác đã nhiệt thành chia sẻ kinh nghiệm bản thân mình cho mọi người.
Tuy nhiên, theo tiếp xúc hạn hẹp của em với mosfet thì vấn đề bác đo vôn ở cực D và thấy đỉnh nó 70V/55V Vds max, như thí nghiệm và trong hình của bác...-
Channel: Hướng dẫn sử dụng diễn đàn
07-02-2026, 09:46 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Cho tới thời điểm này, quả thật Đình Thường đây quá thất vọng, không hào hứng với Suno-AI lắm bởi ra lệnh Creat mấy chục lần với các thay đổi thì mới chọn được 2 bản hát đúng giai điệu tầm 80% để cắt ghép tạo thành bài hát...
-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 17:01 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Kính chào cả nhà, nhân dịp Tết đang về, sắp 23 tháng chạp rồi, xin gởi lời chúc xuân qua bài hát sau ạ:
Bao nhiêu hân hoan
Chúc Mừng Năm Mới, xuân sang!
Nơi nơi hát vang
nâng chén vui chúc câu An Lành.
Vạn Sự đều Hanh Thông,
Rạng...-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 16:46 -
-
bởi ittcChán quá các bác, em nhạt nhẽo quá nên tán em nào cũng tạch, tuyệt vọng vô cùng, nay lại được mấy anh đồng nghiệp cty đối tác mách cho em gái kia sinh năm 2K đầu, em chả biết nhóm đối tượng này phải tán ra sao bây giờ ?
Tính ra em...-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 00:18 -
-
bởi bqvietCó thể, ví dụ phần phản hồi gồm vi mạch cách ly quang, zener thứ cấp, transistor và điện trở phản hồi dòng ... Bất kỳ linh kiện nào nhóm đó hỏng dẫn tới mất đường phản hồi. TNY chính hãng phát hiện được chuyện đó nhưng linh kiện...
-
Channel: Điện tử công suất
05-02-2026, 18:36 -
-
bởi Nexus 6Pcho e hỏi, khi mạch có linh kiện nào đó hư thì có làm hỏng led đắt tiền (osram) không?
-
Channel: Điện tử công suất
05-02-2026, 10:42 -
-
bởi chinhnguyen9· Thí nghiệm 1 (Mạch boost, Vcc=12V, kích bằng dao động PƯM, duty 10%):
* Không có snubber + không tải: Xuất hiện hiện tượng dao động tắt dần tại cực D Mosfet (ringing). Hình 1 cho thấy trong chu kỳ đầu, điện áp spike lên tới hàng trăm V, điện...-
Channel: Hướng dẫn sử dụng diễn đàn
04-02-2026, 09:16 -
-
bởi Nexus 6Pe dùng KiCad 9.0 và đã xuất được file PDF mạch in gòi bác...
-
Channel: Điện tử công suất
03-02-2026, 16:25 -
-
bởi bqvietBấm chuột vào các tệp sẽ bật ra chương trình tương ứng. Nên dùng bản KiCAD sau
https://kicad-downloads.s3.cern.ch/a...ll_version.exe-
Channel: Điện tử công suất
03-02-2026, 14:57 -

Comment