基於51微控制器的溫度探測

2021-10-06 09:48:44 字數 1588 閱讀 9769

這次的專案姑且算作舊瓶裝新酒吧,以前做過stm32和dht11的溫度探測,這一次是較為低價版的c51和ds18b20溫度探測。

ds18b20是常用的數字溫度感測器,其輸出的是數碼訊號,具有體積小,硬體開銷低,抗干擾能力強,精度高的特點。 個人感覺主要特點就是**低,這對於很多精度要求不高的量產產品來說很重要。

這個設計實現了:溫度探測功能。ds18b20模組採用排針和杜邦線與微控制器連線。同時還設定了臨界溫度(溫度上限),超過該溫度使用蜂鳴器鳴響報警。臨界溫度可以採用兩個按鍵調整。

proteus裡有專門的乙個ds18b20模組用來**,也可以按動上下箭頭來模擬感測器輸出的溫度變化情況。模組上直接顯示溫度資料,比一些模擬感測器要好用一些。

在pcb設計裡還是採用排針+杜邦線的形式,把感測器做成了乙個外接模組(j1)。整體設計還是中規中矩,沒有很大難度,亮點在於我這一次沒使用通孔[/xk][/xk]。

**主要則集中在ds18b20感測器的處理方面,大致有六個函式來實現資料傳輸功能。

部分**如下:

//主函式

void

main()

else

digdisplay

(temp)

; ts=temp/

100;

if(ts>s)

} beep=1;

for(y=

2;y>

0;y--)}}}}

//按鍵函式

int

keyscan

(int t)

for(y=

10;y>

0;y--)}

return m;}if

(low==0)

for(y=

10;y>

0;y--)}

return m;

}return m;

}

//溫度顯示函式

void

digdisplay

(int temp)

if(i==1)

if(i==2)

if(i==3)

j=10;

while

(j--);

duanxuan=

0xff;}

}

//上調臨界值顯示函式

void

display_h

(int t)

if(a==1)

if(a==2)

if(a==3)

b=10;

while

(b--);

duanxuan=

0xff;}

}

資源包含:proteus**+原理圖;keil編寫的c語言程式;ad原理圖+pcb;產品說明書。

基於51微控制器的溫度採集系統

下面是一張原理圖 源 如下 include define uint unsigned int define uchar unsigned char include typedef bit bool sbit io p1 1 口線定義 sbit bee p1 0 sbit rs p2 5 sbit r...

基於51微控制器的溫度濕度監控系統

今天筆者給大家介紹一種利用51微控制器的溫度模組製作乙個小空間的溫度濕度檢測系統,溫度檢測使用的是dht11,如果想將此專案移植到開發板上,需要自行修改管腳。原理截圖 源 如下 include include intrins.h typedef unsigned char uint8 typedef...

51微控制器

數碼管顯示幾乎是每次藍橋杯微控制器設計與開發組競賽的必考部分,相對於使用lcd1602作為顯示裝置,使用數碼管來顯示能夠更好的考察參賽選手的微控制器基本功,因為ct107d開發平台的設計使得數碼管的顯示不僅牽扯到數碼管顯示的 基本內容,還涉及到74hc573鎖存器,74hc02異或門,74hc138...