![]() |
|
Tài trợ cho PIC Vietnam |
PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
|
![]() |
#1 | |
Nhập môn đệ tử
Tham gia ngày: Jan 2007
Bài gửi: 1
: |
Trích:
|
|
![]() |
![]() |
![]() |
#2 | |
Làm quen với PIC
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: Hcm
Bài gửi: 160
: |
Trích:
![]() chào bạn . |
|
![]() |
![]() |
![]() |
#3 |
Trưởng lão PIC bang
|
Bạn đã xin ý kiến những ai đã từng làm với DS1307, nhưng những người góp ý lại không được bạn hoan nghênh. Tôi đã viết tutorial cho dsPIC sử dụng DS1307, cũng đã viết tutorial cho dsPIC sử LCD, nghĩa là tôi không lạ lẫm gì với những thứ này.
Lời khuyên của tôi là bạn đọc kỹ datasheet, chỗ nào không hiểu thì hãy hỏi, như vậy bạn sẽ nắm được nó rõ hơn. Bạn chưa hiểu rõ về số BCD thì làm sao phân biệt được nó với số hex, như vậy làm sao có thể khẳng định là nạp số BCD và số hex đều được (tôi giả sử bạn ngụ ý là đều cho giá trị đúng). BCD là binary-coded decimal, nghĩa là số thập phân mã hóa bằng nhị phân, mỗi chữ số nhị phân sẽ dùng 4 bit để mã hóa, như vậy các tổ hợp cho các giá trị A, B, C, D, E, và F sẽ không được dùng. Số thập phân 10 có mã hex là 0x0A, và mã BCD là 0x10. Bạn thử nạp 0x0A và 0x10 xem có ghi được cùng kết quả vào một thanh ghi nào đó của DS1307 hay không? Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
![]() |
![]() |
![]() |
#4 | |
Làm quen với PIC
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: Hcm
Bài gửi: 160
: |
Trích:
Còn về các tên gọi của hệ thống số đếm . có thể mình đã nắm không rõ . nhưng chắc chắn mình đã nạp cho con DS1307 , phần giờ những loại số sau : ví dụ , nạp số 10 - tương ứng là 10 giờ $10 - hex %00010000 - Binary 16 - decimal thì con DS khi đọc ra vẫn là 10 h . với điều kiện phải chuyển con số vừa đọc từ DS sang Hex rồi mới xuất ra LCD . Để tương thích với lcd . nếu không thì LCD sẽ hiển thị 1 con số khác ( chuyện này mình cũng đã từng nói ). Việc này mình đã thử đi , thử lại nhiều lần . Và như mình ĐÃ nói . mọi vấn đề mấy hôm nay mình hỏi đều đã được giải quyết xong , bởi vậy , chúng ta không nên bàn cãi thêm về các con số , tên gọi của chúng nữa mà làm gì .. Mình cũng đã đưa đề tài đó lên để anh em , những người mới chưa biết gì về pic và RTC có thêm thông tin để tham khảo . bài thực hành này mình đã làm với ngôn ngữ PICBASIC PRO . . |
|
![]() |
![]() |
![]() |
#5 |
Đệ tử 2 túi
Tham gia ngày: Dec 2006
Nơi Cư Ngụ: La Jolla, San Diego. Heaven on earth
Bài gửi: 26
: |
anh HaTuan,
Co' the anh lam du'ng nhung ca'ch goi cua anh bi. lan lo^.n. Ta ca nhung gi anh chuyen de nap co con DS1300 va doc no ra the hien thi, la theo chuan BCD het. May ban trong nay chi? mong anh hieu ro va dung co' lan lon giua HEX/DEC and BCD.... chuc mung anh da lam duoc. VNBTECH |
![]() |
![]() |
![]() |
#6 | |
Đệ tử 4 túi
Tham gia ngày: Feb 2006
Bài gửi: 66
: |
Trích:
Bạn đã từng tiếp xúc với RTC DS12887 cũng của Dallas chưa? trong thanh ghi chức năng của nó có một bit cho phép ta chọn dạng số nhập vào và đọc ra là BCD hay HEX đấy! phần hiển thị của bạn là LCD thì không thể có chuyện để nguyên con số đọc được đem xuất. CPU của LCD không giải mã bảng mã nào khác ngoài ASCII. Lấy ví dụ khi muốn xuất số 1 ra LCD, bạn phải đẩy số 31Hexa (số Hexa theo quan điểm của Vi điều khiển) lên LCD (số 31-ASCII theo quan điểm của LCD). Các số từ số 00Hexa đến số 99hexa (mã BCD - DS1307) được VĐK đọc (VĐK không nghĩ đó là BCD đâu nhé, đối với nó chỉ là HEXA), rồi xuất lên LCD (đối với LCD cũng vậy,chỉ có ASCII thôi). Bạn hiểu rồi chứ? thay đổi nội dung bởi: newuser, 02-02-2007 lúc 11:20 AM. |
|
![]() |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|
![]() |
||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
Làm ơn giúp đỡ lập trình PIC với DS1307, EEPROM | enti | PIC - Thiết kế và Ứng dụng | 1 | 20-11-2006 06:19 PM |