em đang làm đề tài dùng cảm biến ds18b20 đo niệt độ hiẻn thị ra lcd,em làm xong rồi nhưng không biết sao chỉ đọc được nhiệt độ là 85,trong datasheet thì đây là nhiệt độ mặc định trong lần đọc đầu tiên,có ai giúp em với
Thông báo
Collapse
No announcement yet.
Sử dụng DS18B20 đo nhiệt độ
Collapse
X
-
Vậy có nghĩa là chưa đọc được bạn dùng chíp gì bạn hỏi mà không up code lên mọi người xem cho thì biết được sai chỗ nào.
Đây là chương trình mình làm bằng chíp 89 và hiển thị thông tin nhiệt độ lên máy tính + LCD
DS18S20.rarPhone No: 0989.437.312
Email:
Live in: Ha noi
-
em dùng chíp 89C52,hj phần đọc nhiệt độ em đã sửa được rồi anh ạ hj,em viết bằng ASM,do lúc đầu em để Tconvert có 200ms nên không được(trong mô phỏng thì được nhưng mạch thật thì tịt,trong datasheet của nó em cũng thấy 750ms cơ,hjx em thấy nhiều khi mô phỏng ảo thật),vì em dùng độ phân giải tận 12bit mà,Tconvert của nó tận 750ms,nó chưa convert xong em đã reset nên vận chỉ đọc được giá trị ban đầu,em đổi lại lên 800ms(thừa tí cho chắc hj) thì chạy ngon hj,giờ em đang làm phần giao tiếp máy tính,cũng dùng VB,,em cũng dùng max 232,em thấy trong datasheet có cỏng NOT giữa hai đầu,một số bài mô phỏng,như của anh có mắc qua một cổng NOT nữa,nhưng em hỏi một số đàn anh ở trường họ nói không cần,vậy trong phần mềm mình phải cho đảo lại dữ kiệu phải không anh hj,em đang chuẩn bị làm mạch thật mà hj(thử mạch thật cho thích hj) anh góp ý em với
Comment
-
hj em làm thử một bài truyền nhận thế này anh à,nhưng truyền nhận không đúng hj,anh xem em với(hj em chưa bít cách đính kèm file nên em gửi code thôi hj anh chỉ em cách gửi kèm file với ạ)
Code 89C52:
SEND EQU 50H ;BYTE TRUYEN
RECV EQU 51H ;BYTE NHAN
RS BIT P1.2 ;BIT GUI LENH HOAC DU LIEU
R_W BIT P1.1 ;BIT DOC HOAC GHI
E BIT P1.0 ;BIT CHO PHEP LCD
F_BUSY BIT P0.7 ;CO KIEM TRA LCD BAN
;=========================
ORG 0000H
LJMP MAIN
ORG 0023H
LJMP NHAN
;=========================
INIT_SERIAL: ;KHOI TAO TRUYEN THONG
MOV TMOD,#20H ;CHON TIMER 1 AUTORELOAD
MOV TH1,#(-3) ;TOC DO BAUD = 9600
MOV TL1,TH1
MOV SCON,#52H ;CHON CHE DO TRUYEN THONG 8 BIT DATA,1 BIT STOP,CHO PHEP NHAN DU LIEU
SETB EA ;CHO PHEP CAC NGAT
SETB IE.4 ;CHO PHEP NGAT TRUYEN THONG
SETB TR1 ;CHO PHEP TIMER 1
RET
;=========================
ORG 100
MAIN:
; MOV P1,#0FFH
LCALL INIT_SERIAL
LCALL INIT_LCD1
CLR TI
CLR RI
AGAIN: JB P1.7,AGAIN ;BAM NUT THI TRUYEN
; MOV A,#41H ;TRUYEN KI TU "A"
MOV A,#"A"
MOV SBUF,A
LAP: JNB TI,LAP ;CHO TRUYEN XONG KI TU
CLR TI ;XONG ROI THI XOA CO BAO TRUYEN
LOOP1: JNB P1.7,LOOP1 ;KIEM TRA NHA NUT BAM
LJMP AGAIN
;========================
NHAN:
JB TI,TRANS
CLR RI
MOV A,SBUF
LCALL DATA_DP
RETI
TRANS:
CLR TI
RETI
;========================================
BUSY: ;KIEM TRA CO BAN LCD
SETB F_BUSY
SETB R_W
CLR RS
LOOP:
CLR E
SETB E
JB F_BUSY,LOOP
RET
;========================================
COMMEND: ;GUI LENH DEN LCD
LCALL BUSY
MOV P0,A
CLR RS
CLR R_W
SETB E
CLR E
RET
;=======================================
DATA_DP: ;GUI DU LIEU HIEN THI LCD
LCALL BUSY
MOV P0,A
SETB RS
CLR R_W
SETB E
CLR E
RET
;======================================
INIT_LCD1: ;KHOI TAO LCD
MOV A,#38H
LCALL COMMEND
MOV A,#0EH
LCALL COMMEND
RET
;======================================
;========================
END
và code VB:
Dim TransBuf, RecvBuf As String
Dim TransByte, RecvByte As Byte
Dim t As Integer
Dim bien As Variant 'khai bao bien kieu Variant
Private Sub Command1_Click()
TransBuf = Text1.Text
MSComm1.Output = Trim(TransBuf)
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
If (MSComm1.PortOpen = False) Then
MSComm1.CommPort = 2
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputLen = 0
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeText
MSComm1.PortOpen = True
End If
End Sub
Private Sub MSComm1_OnComm()
RecvBuf = Trim(MSComm1.Input)
Text1.Text = RecvBuf
End Sub
Comment
-
Thạch anh bạn sử dụng là bao nhiêu M thường truyền thông thì người ta sử dụng thạch anh 11.0592. nếu là thạch anh 11.0592 thì giá trị của TH1 và TL1 là #F9H và bạn viết là MOV TL1,#LOW(-7). tốc độ Baud mà không đúng thì sẽ nhận sai ký tự.
Bạn post code lên cũng được nhưng bạn để vào viết như thế này "[Code]code của bạn viết ở đây["/Code]". nhớ bỏ 2 ngoặc kép đi nhé vì nếu mình không cho ngoặc kép vào thì nó sẽ ra kết quả.
Code:Kết quả là như này
Last edited by loveelectron; 11-04-2012, 23:11.Phone No: 0989.437.312
Email:
Live in: Ha noi
Comment
-
À anh ơi,em sử dụng DS18B20,nhưng em đọc 64 bit ROM xong em lưu lại,rồi em sửa lại trong code cho gửi theo code sau lệnh MATCH ROM hj,chứ em không biết dùng lệnh SEARCH ROM anh à,trong datasheet nó nói là lệnh SEARCH ROM biết được cả số con DS và cả mã ROM của từng con sau một chu trình dò tìm,hj em không hiểu chu trình này thực hiện kiểu gì,hjx anh chỉ em với,hj hiện giờ em đang dùng 2 con 89C52 hj,một con chuyên để đoc mã ROM hehe,đọc xong em ghi lại từng con một,rồi sửa trong code cho con 89 kia đọc nhiệt độ hj
Comment
-
Chính xác là dùng thạch anh 11.0592 và TH1=#0FDH. Mình test lại rồi Ok đó. tặng cho bạn phần mềm này.
Calc 8051.rarPhone No: 0989.437.312
Email:
Live in: Ha noi
Comment
Bài viết mới nhất
Collapse
-
bởi khoine9899
Em chào các anh và mọi người.
Hiện em đang có 1 con bơm màng trong thiết bị y tế đang gặp tình trạng yếu dần hoặc ngừng hoạt động sau thời gian sử dụng
Sau khi tìm hiểu về thông tin của bơm trên mạng thì em được biết...-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 11:22 -
-
Trả lời cho Cần mọi người giúp mạch tạo sóng siêu âm máy rửabởi bqviet
-
Channel: Điện tử công suất
Hôm qua, 20:26 -
-
bởi Minhdai95Em chào mọi người, e đang sửa mạch tạo sóng siêu âm cho máy rửa mà chưa có tài liệu để tham khảo sửa, mọi người cho e xin tài liệu ạ...
-
Channel: Điện tử công suất
Hôm qua, 11:37 -
-
bởi pia2k1Cùng câu hỏi và cần được giải đáp thêm ạ...
-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 11:28 -
-
Trả lời cho Công thức điện tửbởi mèomướpDạ thời thế giờ thay đổi theo hướng tích cực hơn rồi chú trung sĩ ạ. Kiến thức được chia sẻ ngày càng nhìu nên làm ăn gian dối ko còn dễ dàng như trước đâu ạ. Những thợ nhỏ rồi sẽ thành công nhân sản xuất đồ mới hết thay vì sửa chữa lặt vặt...
-
Channel: Tâm tình dân kỹ thuật
26-11-2024, 21:21 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi mèomướpDạ cùng chuẩn tín hiệu thì chắc chắn là nhận ạ. Vì bản chất oled hay lcd thì đều phải có mạch chuyển đổi trên thanh gỗ rồi chuyển sang những chip xử lý hàng nghìn chân gắn trên những tab mỏng dính rồi mới ra các điểm ảnh theo hàng...
-
Channel: Thiết bị điện tử cá nhân
26-11-2024, 20:31 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11Ok , thanks bác đã chỉ...
-
Channel: Thiết bị điện tử cá nhân
26-11-2024, 15:06 -
-
bởi nguyendinhvanSau bao năm nghiên cứu cái dtvn. Tôi phát hiện công thức này. Các anh em xem đúng bao nhiêu phần trăm nhé !
Chập thì thay. Cháy thì tháo
Làm thì láo. Báo thì hay
May thì khoe. Rủi thì bỏ
Thành tích nhỏ. Báo thành to
Làm cho có. Báo chi li
Sai cả li. Báo...-
Channel: Tâm tình dân kỹ thuật
26-11-2024, 00:35 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11có chắc ko b, màn lcd phải có cao áp mới sáng, màn led thì ko có, ko có cáp chuyển đổi thì lắp thế nào đc ??...
-
Channel: Thiết bị điện tử cá nhân
25-11-2024, 22:31 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi mèomướpDạ ý chú là màn oled ấy ạ. Cùng chuẩn lvds cùng độ phân giải thì cắm được ạ. Còn nó mà khác thì hơi khó vì oled các điểm ảnh nó tự phát sáng chứ ko dùng đèn nền như lcd. Cháu chỉ biết đến vậy thôi ạ. Chú muốn nghịch phải tự tìm hiểu kỹ trước khi mua thôi, khó mà ông thợ nào tư vấn vụ này...
-
Channel: Thiết bị điện tử cá nhân
25-11-2024, 22:14 -
Comment