<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

利用DS18B20和LED數碼管實現單總線溫度測量系統

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

串行擴展應用

利用 DS18B20 和 LED 數碼管實現單總線溫度測量系統。DS18B20的測量范圍是-5℃~128℃。由于只接有兩個 LED數碼管,所以顯示的數值只能在 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

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

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

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

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

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

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

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

實驗結論及分析

1.程序的核心思想

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

2.實驗中遇到的問題

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


審核編輯:湯梓紅


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

    關注

    6007

    文章

    44037

    瀏覽量

    622355
  • DS18B20
    +關注

    關注

    10

    文章

    765

    瀏覽量

    80211
  • 溫度測量系統

    關注

    0

    文章

    25

    瀏覽量

    21086

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

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

收藏 人收藏

    評論

    相關推薦

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

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

    [分享]DS18B20基本知識

    。 4. 實驗任務 用一片DS18B20構成測溫系統,測量溫度精度達到0.1度,測量溫度的范
    發表于 03-10 23:54

    DS18B20數字溫度計使用

    采樣IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內就得釋放單總線。4.實驗任務   用一片DS18B20構成測溫系統
    發表于 10-24 21:12

    求at89c51,ds18b20,數碼管溫度控制

    求at89c51,ds18b20,數碼管溫度控制。實現溫度控制與報警
    發表于 05-09 00:42

    DS18B20溫度檢測系統中的應用

      摘要:該論文結合實際使用經驗,完成了DS18B20數字溫度傳感器在基于單片機的溫度檢測系統中的應用。本設計有效的提高了控制系統的實時性改
    發表于 11-06 15:09

    基于單總線數字溫度傳感器DS18B20的測溫系統方案

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

    基于DS18B20數字溫度傳感器的設計方案

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

    基于DS18B20的MOA溫度遠程監控系統設計

    溫度, 就可以判斷MOA 的當前工作狀態?! ≌撐脑O計的MOA溫度在線監測系統, 以DS18B20溫度傳感器, AT89S52單片機為控制
    發表于 12-04 15:57

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

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

    怎樣去設計一種基于DS18B20LED數碼管顯示數字溫度

    LED數碼管顯示數字溫度計有哪些功能?怎樣去設計一種基于DS18B20LED數碼管顯示數字
    發表于 09-23 07:46

    如何利用單總線DS18B20通信

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

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

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

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

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

    51單片機DS18B20溫度讀取

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

    51單片機溫度測量系統Proteus仿真

    利用 DS18B20LED 數碼管實現單總線溫度
    的頭像 發表于 11-07 14:11 ?2398次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>