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
-
Trả lời cho Tìm bạn thân quen cũ.bởi mèomướpDạ cháu đọc 1 số bài viết của bác vi... thì nhớ đc bác là 1 cụ già gần 80 tuổi, sức khỏe yếu. Đam mê và làm vc về kỹ thuật điện. Thích thơ ca. Có nhìu bài chia sẻ quý báu cho thế hệ sau. Tuy nhiên già rồi nên khái tính, bảo thủ, nhưng vẫn đáng kính ạ... còn lão nhathung... thì kiểu bố đời
-
Channel: Tâm tình dân kỹ thuật
31-07-2026, 12:52 -
-
bởi lvhnHãng nào tùy thích thôi bác! bây giờ các hãng đều hỗ trợ xem qua máy tính hay điện thoại đều được. Gắn Trước tiên mua về cắm nguồn set ip hết xong hãy lắp lên, cam poe chỉ cần 4 lõi là hoạt động bình thường nên 1 dây kéo cho 2 cam vẫn ok
-
Channel: Tâm tình dân kỹ thuật
30-07-2026, 15:49 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi lvhnNhớ không nhầm thì lúc còn đi học có gặp chú 1 lần cf bãi xe Nguyễn Kim, giờ quán cf đó nghỉ bán rồi
-
Channel: Tâm tình dân kỹ thuật
30-07-2026, 15:44 -
-
Trả lời cho Thắc mắc pin 21v ?bởi lvhnCon số đấy biểu thị gần đúng thôi, cái đồng hồ đó có đảm bảo chính xác hay không? pin có cục lên 4v4 vẫn bình thường. Cái gì cũng có sai số trong phạm vi không quá lớn thì không ảnh hưởng gì đâu, bàn ngay ngón ngắn ngón dài mà
-
Channel: Điện tử dành cho người mới bắt đầu
30-07-2026, 15:32 -
-
Trả lời cho Amply bị rò DC 22 voltbởi lvhnThay mấy con transisto nhỏ đầu vào, thường vi sai lỗi hay bị. Khám tổng quát chân các linh kiện xem có bị rỉ sét nhiều không?
-
Channel: Điện thanh
30-07-2026, 15:24 -
-
bởi dinhthuong92Mạch này hiệu suất ra led đạt khoảng 90.7% tại 12V in, 40W out.
-
Channel: Nguồn!
27-07-2026, 10:15 -
-
bởi dinhthuong92Có lẽ nguồn viết bài này chỉ mang tính định tính để nói rằng cần thay đổi tổng trở tải để có Pmax chứ trình bày chưa chi tiết và thấu đáo một cách định lượng. Công thức tổng quát phải có mặt L mới được, và nói là "tổng...
-
Channel: Nguồn!
27-07-2026, 10:09 -
-
Trả lời cho [Chia sẻ] Tổng hợp các công ty AI Việt Nam đang làm gì thật sự — Từ voicebot, computer vision đến AI agentsbởi nguyendinhvanCàng ngày, CNTT càng trở nên lôi thôi , rách việc.
Cái AI và Ge... trên trình duyệt chỉ tổ làm vướng mắt, mất thì gian.
Tôi toàm phải mất cộng tắt nó đi.-
Channel: Xu hướng, nhu cầu và thị trường
25-07-2026, 14:59 -

Comment