![]() |
Cần giúp đỡ về giao tiếp 1-wire với ds1820
1 Attachment(s)
Em đang viết 1 đoạn chương trình để hiển thị nhiệt độ lên LCD dùng cảm biến ds1820 và pic6f877a. Em đang gặp rắc rối trong việc giao tiếp với ds1820. Cụ thể là không hiện được nhiệt độ. Mấy anh xem giúp,có gì góp ý thì em cảm ơn rất nhiều.
Đây là code CCS, có mượn đoạn code phần LCD của bác nhh (hy vọng bác ko phản đối :) ) Code:
#include <16F877A.h> |
bạn phải xem mình đã thực hiện đc qua trình gì trong DS1820?
Bạn init được chưa? quá trình ghi 1byte ok chưa? quá trình đọc 1 byte ok? Thân! |
[QUOTE=notbadday;23330]Em đang viết 1 đoạn chương trình để hiển thị nhiệt độ lên LCD dùng cảm biến ds1820 và pic6f877a. Em đang gặp rắc rối trong việc giao tiếp với ds1820. Cụ thể là không hiện được nhiệt độ. Mấy anh xem giúp,có gì góp ý thì em cảm ơn rất nhiều.
Đây là code CCS, có mượn đoạn code phần LCD của bác nhh (hy vọng bác ko phản đối :) ) Đúng như bạn Quocloc.pham nói, bạn cần xác định lại xem đã đọc được nhiệt độ ĐÚNG từ DS1820 chưa? Nếu chưa được, bạn thử Include file DS1820.c và file Temperature.c vao nhé (file đính kèm). Sau đó bạn,khai báo 1 biến: float temperature và chép doạn chương trình này vào dầu chuong trình cùa bạn xem nó có đọc dúng nhiệt độ chua nhé. temperature = ds1820_read(); printf("TEMP: %3.1f ", temperature); |
Minh chua biet gui file len:
Ban copy lai nhé: DS1820.c: Code:
//************* Reset ******************* |
Gửi bạn longtu,
Bạn xem hướng dẫn upload tập tin lên diễn đàn ở đây: http://www.picvietnam.com/forum/showthread.php?t=3289 Thân, |
Trích:
Thân chào anh. |
1 Attachment(s)
To Notbadday: gui ban File mình da upload len duoc roi.
Than, |
Cảm ơn mọi người rất nhiều đã quan tâm vấn đề này.
to quocloc.pham: đoạn code mình đưa ra thực sự chưa làm gì đc, nhiệt độ hiển thị là 1 con số nào đó. to longtu: đoạn code của bạn giúp ích mình rất nhiều. Mình đã build và mô phỏng thành công. |
[QUOTE=longtu;23373]Cám ơn anh Nam.
Gửi anh Nam, Anh cho em hỏi, làm sao de mình có thể tạo 1 chủ đề mới dể mọi người cùng thao luận vậy anh? Ý em là: ngay khi vào Trang chủ của PICVietNam sẽ thấy tựa đề của mình mà muốn mọi người cùng trao đổi? Cám ơn anh. Thân chào anh. |
Trích:
Chỉ ở trong một box cụ thể, bạn mới có thể tạo ra một luồng mới. Sau khi đã đến được box cần thiết, bạn sẽ thấy ngay bên dưới trang danh sách các bài viết của box là một nút mang tên "New Thread", đây là nút để các thành viên tạo ra luồng mới trong box. Bài viết mới của bạn cần có một chủ đề và nội dung nhất định. Thân, |
Trích:
Thân chào anh. |
Có code và file hướng dẫn trong đó, bạn vào mà lấy nhé
http://www.dientuvietnam.net/forums/...404#post263404 |
1 Attachment(s)
Các bạn cho mình hỏi mình định nghĩa ONE_WIRE_PIN một chân bất kì nào đó được không, tai sao khi mô phỏng, định nghỉa chân REx lại không được nhỉ. Mình phải định nghĩa chân khác ngoài Porte, nhưng kết quả không như mong muốn(hiển thị âm -0.5). Các bạn xem file đính kèm rối góp ý cho mình với nhé. Mình cám ơn nhiều.(thư viện DS1820.c,Temperature.c mình lấy nguyên của bạn longtu, chỉ sửa lại định nghĩa ONE_WIRE_PIN này thôi a`)
|
@longtu,notbadday: các bác cho em hỏi là mô phỏng ds18b20 trên proteus có vấn đề gì ko vì em dùng code ở trên và rất nhiều code khác mô phỏng đều ko được >.<
|
cam on ban longtu rat nhieu code cua ban rat huu ich doi voi nguoi moi tap tanh choi voi pic nhu minh.cho minh hoi them la che do onewrite nay truyen duoc bao xa nhi ? va hay bi loi khong nhi ? thank's moi nguoi truoc nha !
|
Múi giờ GMT. Hiện tại là 12:53 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam