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

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

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

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

STM32嵌入式開發(fā) ? 來源:CSDN技術社區(qū) ? 作者: axu_990707 ? 2022-11-07 14:11 ? 次閱讀

串行擴展應用:

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

硬件
Proteus仿真圖:
d761ec36-5ce9-11ed-a3b6-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);
}

效果圖

d7929e9e-5ce9-11ed-a3b6-dac502259ad0.png ????
上圖,仿真運行狀態(tài)①(未操作溫度)。
d7c4c022-5ce9-11ed-a3b6-dac502259ad0.png ????
上圖,仿真運行狀態(tài)②(未操作溫度)。
d7edb1d0-5ce9-11ed-a3b6-dac502259ad0.png ????
上圖,仿真運行狀態(tài)③(ds18b20按鈕按下,溫度增加)。
d8212330-5ce9-11ed-a3b6-dac502259ad0.png ????

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

實驗結論及分析

1.程序的核心思想

①DS18B20與傳統(tǒng)的熱敏電阻不同,DS18B20 可直接將被測溫度轉換為串行數(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)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Proteus
    +關注

    關注

    79

    文章

    1692

    瀏覽量

    106288
  • 測量系統(tǒng)

    關注

    2

    文章

    531

    瀏覽量

    41332
  • 51單片機
    +關注

    關注

    273

    文章

    5697

    瀏覽量

    122997

原文標題:51單片機溫度測量系統(tǒng)Proteus仿真

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    使用C51單片機Proteus仿真進行多點溫度采集系統(tǒng)的應用實例資料合集

    本文檔的主要內(nèi)容詳細介紹的是使用C51單片機Proteus仿真進行多點溫度采集系統(tǒng)的應用實例資
    發(fā)表于 05-20 08:00 ?14次下載

    基于51單片機6264擴展內(nèi)存仿真設計(proteus仿真+程序)

    基于51單片機6264擴展內(nèi)存仿真設計(proteus仿真+程序)(單片機原理及應用)-基于
    發(fā)表于 07-22 11:45 ?82次下載
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>6264擴展內(nèi)存<b class='flag-5'>仿真</b>設計(<b class='flag-5'>proteus</b><b class='flag-5'>仿真</b>+程序)

    基于51單片機的RLC電阻電容電感測量Proteus仿真設計資料

    基于51單片機的RLC電阻電容電感測量Proteus仿真設計資料
    發(fā)表于 10-25 10:18 ?40次下載

    基于51單片機的多點溫度采集系統(tǒng)仿真設計

    基于51單片機的多點溫度采集系統(tǒng)仿真設計
    發(fā)表于 10-25 10:29 ?5次下載

    51單片機 Proteus仿真 基于單片機的風扇轉速采集系統(tǒng) 電機轉速采集

    電子發(fā)燒友網(wǎng)站提供《51單片機 Proteus仿真 基于單片機的風扇轉速采集系統(tǒng) 電機轉速采集.
    發(fā)表于 11-12 19:06 ?41次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b> <b class='flag-5'>Proteus</b><b class='flag-5'>仿真</b> 基于<b class='flag-5'>單片機</b>的風扇轉速采集<b class='flag-5'>系統(tǒng)</b> 電機轉速采集

    基于51單片機的點滴輸液報警系統(tǒng)Proteus仿真

    基于51單片機的點滴輸液報警系統(tǒng)Proteus仿真
    發(fā)表于 12-23 18:08 ?81次下載

    基于51單片機的嬰兒看護系統(tǒng)設計Proteus仿真

    基于51單片機的嬰兒看護系統(tǒng)設計Proteus仿真
    發(fā)表于 12-27 09:43 ?66次下載

    基于51單片機的熱電偶溫度檢測串口上傳Proteus仿真

    基于51單片機的熱電偶溫度檢測串口上傳Proteus仿真
    發(fā)表于 12-27 09:46 ?37次下載

    基于51單片機的甲烷監(jiān)測系統(tǒng)Proteus仿真

    基于51單片機的甲烷監(jiān)測系統(tǒng)Proteus仿真
    發(fā)表于 12-27 09:47 ?21次下載

    基于51單片機的智能寵物喂食器Proteus仿真

    基于51單片機的智能寵物喂食器Proteus仿真
    發(fā)表于 12-28 09:58 ?87次下載

    基于51單片機proteus仿真綜合實驗150例

    基于51單片機proteus仿真綜合實驗150例
    發(fā)表于 03-21 14:45 ?55次下載

    51單片機230個Proteus仿真案例

    51單片機230個Proteus仿真案例
    發(fā)表于 09-29 09:44 ?121次下載

    基于51單片機脈搏測量proteus仿真設計

    基于51單片機脈搏測量proteus仿真設計,資料包含仿真及源程序文件
    發(fā)表于 04-20 16:25 ?19次下載

    基于51單片機酒精檢測系統(tǒng)proteus仿真設計

    基于51單片機酒精檢測系統(tǒng)proteus仿真設計(包含仿真及源程序)
    發(fā)表于 04-20 15:51 ?18次下載

    基于51單片機的射擊游戲Proteus仿真源碼

    基于51單片機的射擊游戲Proteus仿真設計
    發(fā)表于 05-22 15:59 ?15次下載