Đâ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
-
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
-
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
-
Nguyê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
-
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
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 12:55 -
-
Trả lời cho Hỏi về test hipot cao ápbởi nguyendinhvanCách nghĩ của bạn là theo duy tâm thôi. Còn trong công việc thì phải theo duy lý.
Bạn vào goggle và gõ từ : tiêu chuẩn an toàn cách điện.
Bạn sẽ thấy vô vàn các quy định, VN cũng có , quốc tế cũng có. Mỗi vùng , mỗi khu vực,...-
Channel: Điện tử dành cho người mới bắt đầu
02-11-2024, 20:04 -
-
bởi lamvu0677Chào mọi người, ai làm về điện, đặc biệt biến áp xung, mâý con nho nhỏ gắn vào mạch nguồn, cho e hỏi tí ą, e cũng làm trong ty về biển áp thì đo kiểm thành phẩm sẽ kiểm cao áp, tức là kiểm xem có phóng điện giữa các cuộn dây với...
-
Channel: Điện tử dành cho người mới bắt đầu
01-11-2024, 21:05 -
Comment