RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

利用DS18B20和LED數(shù)碼管實現(xiàn)單總線溫度測量系統(tǒng)

我快閉嘴 ? 來源:電路一點通 ? 作者:電路一點通 ? 2022-09-26 15:08 ? 次閱讀

串行擴展應用

利用 DS18B20 和 LED 數(shù)碼管實現(xiàn)單總線溫度測量系統(tǒng)。DS18B20的測量范圍是-5℃~128℃。由于只接有兩個 LED數(shù)碼管,所以顯示的數(shù)值只能在 00~~99 之間。

(1)硬件

Proteus仿真圖:

bb1d114e-3b39-11ed-9e49-dac502259ad0.png

(2)軟件設計

#include
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
#define out P0
sbit smg1=out^4;
sbit smg2=out^5;
sbit DQ=P3^7;
void delay5(uchar);
void init_ds18b20(void);
uchar readbyte(void);
void writebyte(uchar);
uchar retemp(void);

void main(){
uchar i,temp;
delay5(1000);
while(1){
temp=retemp();
for(i=0;i<10;i++){
out=(temp/10)&0x0f;
smg1=0;
smg2=1;
delay5(1000);
out=(temp%10)&0x0f;
smg1=1;
smg2=0;
delay5(1000);
}
}
}

void delay5(uchar n){
do{
nop();
nop();
nop();
n–;
}while(n);
}

void init_ds18b20(void){
uchar x=0;
DQ=0;
delay5(120);
DQ=1;
delay5(16);
delay5(80);
}

uchar readbyte(void){
uchar i=0;
uchar date=0;
for(i=8;i>0;i–){
DQ=0;
delay5(1);
DQ=1;
date>>=1;
if(DQ)date|=0x80;
delay5(11);
}
return(date);
}

void writebyte(uchar dat){
uchar i=0;
for(i=8;i>0;i–){
DQ=0;
DQ=dat&0x01;
delay5(12);
DQ=1;
dat>>=1;
delay5(5);
}
}

uchar retemp(void){
uchar a,b,tt;
uint t;
init_ds18b20();
writebyte(0xcc);
writebyte(0x44);
init_ds18b20();
writebyte(0xcc);
writebyte(0xbe);
a=readbyte();
b=readbyte();
t=b;
t<<=8;
t=t|a;
tt=t*0.0625;
return(tt);
}

(3)效果圖

bba061ac-3b39-11ed-9e49-dac502259ad0.png

仿真運行狀態(tài)①(未操作溫度)

bbcce808-3b39-11ed-9e49-dac502259ad0.png

仿真運行狀態(tài)②(未操作溫度)

bc0198e6-3b39-11ed-9e49-dac502259ad0.png

仿真運行狀態(tài)③(ds18b20按鈕按下,溫度增加)

bca91670-3b39-11ed-9e49-dac502259ad0.png

仿真運行狀態(tài)④(ds18b20按鈕按下,溫度增加)

實驗結(jié)論及分析

1.程序的核心思想

①DS18B20與傳統(tǒng)的熱敏電阻不同,DS18B20 可直接將被測溫度轉(zhuǎn)換為串行數(shù)字信號,供單片機處理。通過對 DS18B20 編程可以實現(xiàn) 9~12 位的溫度讀數(shù),并可分別在 93.75ms 和 750ms 內(nèi)完成 9 位和 12 位的數(shù)字量。其測溫范圍-55℃~+125℃,最大分辨率為 0.0625℃,在一10℃~+85℃范圍內(nèi)其測溫準確度為±0.5℃。
②DS18B20也可以看作一個小的單片機系統(tǒng),它將溫度信息采集到自己的內(nèi)存中,然后通過一定的節(jié)拍將溫度信息一位一位地傳入at89c51單片機中進行二位數(shù)碼管的顯數(shù)。

2.實驗中遇到的問題

①lcd1602輸入信息時要記得初始化,否則不會顯數(shù)。
②注意DS18B20的溫度信息一位一位地傳入at89c51單片機中時嚴格把控節(jié)拍,節(jié)拍不正確將影響數(shù)據(jù)傳輸。
③at89c51單片機的時鐘頻率要設置成11.0592mhz。


審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6035

    文章

    44554

    瀏覽量

    634614
  • DS18B20
    +關注

    關注

    10

    文章

    779

    瀏覽量

    80822
  • 溫度測量系統(tǒng)

    關注

    0

    文章

    25

    瀏覽量

    21154

原文標題:單片機控制溫度傳感器控制電路圖

文章出處:【微信號:電路一點通,微信公眾號:電路一點通】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于單總線器件DS18B20溫度測量

    ,測溫范圍寬,完全可以取代水銀溫度計和熱敏電阻測量。利用單總線具有很強的擴展性,還可以組建多點的溫度檢測網(wǎng)絡。因此,基于Mega8單片機和
    發(fā)表于 09-24 16:28

    [分享]DS18B20基本知識

    。 4. 實驗任務 用一片DS18B20構(gòu)成測溫系統(tǒng)測量溫度精度達到0.1度,測量溫度的范
    發(fā)表于 03-10 23:54

    基于單總線數(shù)字溫度傳感器DS18B20的測溫系統(tǒng)方案

    ),DS18B20以16位、符號擴展的二進制補碼形式發(fā)送到數(shù)據(jù)總線,低位在前,高位在后。   2 測溫系統(tǒng)硬件設計  系統(tǒng)硬件主要由單片機最小系統(tǒng)
    發(fā)表于 11-06 15:18

    基于DS18B20數(shù)字溫度傳感器的設計方案

    數(shù)字溫度傳感器的軟件設計采用C51編寫程序,主要完成DS18B20測量溫度值計算及溫度值的顯示功能。其采用模塊化設計,程序設計包括
    發(fā)表于 11-12 16:30

    基于DS18B20的MOA溫度遠程監(jiān)控系統(tǒng)設計

    溫度, 就可以判斷MOA 的當前工作狀態(tài)。  論文設計的MOA溫度在線監(jiān)測系統(tǒng), 以DS18B20溫度傳感器, AT89S52單片機為控制
    發(fā)表于 12-04 15:57

    51單片機DS18B20溫度傳感器及數(shù)碼管顯示溫度 精選資料下載

    介紹51單片機DS18B20溫度傳感器及數(shù)碼管顯示溫度DS18B20作用怎么讀取DS18B20
    發(fā)表于 07-14 07:17

    如何利用單總線DS18B20通信

    本文是武漢市海聯(lián)天下物聯(lián)網(wǎng)有限公司技術團隊內(nèi)部學習筆記,將詳細講解DS18B20溫度顯示以及51單片機如何利用單總線DS18B20通信,
    發(fā)表于 11-19 06:09

    溫度模塊DS18B20的相關資料推薦

    的接口方式 與微處理器連接時 僅需要一條口線即可實現(xiàn)微處理器與 DS18B20 的雙向通訊。 單總線具有經(jīng)濟性好,抗干擾能力強,適合于惡劣環(huán)境的現(xiàn)場溫度
    發(fā)表于 01-10 07:09

    STM8S003F3P6使用單總線方式和DS18B20建立簡單的通訊

    功能介紹:STM8S003F3P6使用單總線方式和DS18B20建立簡單的通訊、DS18B20反饋溫度值,數(shù)碼管顯示
    發(fā)表于 01-24 06:46

    基于單總線器件DS18B20溫度測量

    針對目前采用的熱敏電阻測量方法,提出了采用單總線數(shù)字式溫度傳感器DS18B20和單片機組成的新型溫度測量
    發(fā)表于 12-13 17:44 ?113次下載

    基于8051的Proteus仿真-數(shù)碼管DS18B20設計溫度

    基于8051的Proteus仿真-數(shù)碼管DS18B20設計溫度報警器
    發(fā)表于 09-01 23:37 ?71次下載

    數(shù)碼管顯示51單片機DS18B20溫度測量源程序及仿真

    數(shù)碼管顯示51單片機DS18B20溫度測量源程序及仿真
    發(fā)表于 12-15 22:16 ?200次下載

    DS18B20溫控系統(tǒng)的合集包括:芯片介紹,設計資料,原理圖和程序的概述

    基于DS18B20的溫控系統(tǒng)的設計采用了DS18B20芯片和四位共陽極LED數(shù)碼管,還有主控芯片AT89C51。通過
    發(fā)表于 06-19 08:00 ?30次下載
    <b class='flag-5'>DS18B20</b>溫控<b class='flag-5'>系統(tǒng)</b>的合集包括:芯片介紹,設計資料,原理圖和程序的概述

    51單片機DS18B20溫度讀取

    本文是武漢市海聯(lián)天下物聯(lián)網(wǎng)有限公司技術團隊內(nèi)部學習筆記,將詳細講解DS18B20溫度顯示以及51單片機如何利用單總線DS18B20通信,
    發(fā)表于 11-12 14:21 ?25次下載
    51單片機<b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>讀取

    51單片機溫度測量系統(tǒng)Proteus仿真

    利用 DS18B20LED 數(shù)碼管實現(xiàn)單總線溫度
    的頭像 發(fā)表于 11-07 14:11 ?3094次閱讀
    RM新时代网站-首页