① 求一份基於51系列單片機的數字式溫濕度計的單片機課程設計報告,要求如下
數字式溫濕度感測器可以選擇sht20,直接輸出數字信號,與單片機通過io口通訊,單片機驅動數碼管顯示溫濕度數據,可以選擇兩組數碼管分別顯示溫度和濕度,也可以使用一組數碼管交替顯示溫度和濕度。
② 51單片機c語言編程的溫濕度檢測控製程序
/********************************************************************
*
文件名
:
溫度採集DS18B20.c
*
描述
:
該文件實現了用溫度感測器件DS18B20對溫度的採集,並在數碼管上顯示出來。
*
創建人
:
東流,2009年4月10日
*
版本號
:
2.0
***********************************************************************/
#include<reg52.h>
#define
uchar
unsigned
char
#define
uint
unsigned
int
#define
jump_ROM
0xCC
#define
start
0x44
#define
read_EEROM
0xBE
sbit
DQ
=
P2^3;
//DS18B20數據口
unsigned
char
TMPH,TMPL;
uchar
code
table[10]
=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/********************************************************************
*
名稱
:
delay()
*
功能
:
延時,延時時間大概為140US。
*
輸入
:
無
*
輸出
:
無
***********************************************************************/
void
delay_1()
{
int
i,j;
for(i=0;
i<=10;
i++)
for(j=0;
j<=2;
j++)
;
}
/********************************************************************
*
名稱
:
delay()
*
功能
:
延時函數
*
輸入
:
無
*
輸出
:
無
***********************************************************************/
void
delay(uint
N)
{
int
i;
for(i=0;
i<N;
i++)
;
}
/********************************************************************
*
名稱
:
Delay_1ms()
*
功能
:
延時子程序,延時時間為
1ms
*
x
*
輸入
:
x
(延時一毫秒的個數)
*
輸出
:
無
***********************************************************************/
void
Delay_1ms(uint
i)//1ms延時
{
uchar
x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}
/********************************************************************
*
名稱
:
Reset()
*
功能
:
復位DS18B20
*
輸入
:
無
*
輸出
:
無
***********************************************************************/
uchar
Reset(void)
{
uchar
deceive_ready;
DQ
=
0;
delay(29);
DQ
=
1;
delay(3);
deceive_ready
=
DQ;
delay(25);
return(deceive_ready);
}
/********************************************************************
*
名稱
:
read_bit()
*
功能
:
從DS18B20讀一個位值
*
輸入
:
無
*
輸出
:
從DS18B20讀出的一個位值
***********************************************************************/
uchar
read_bit(void)
{
uchar
i;
DQ
=
0;
DQ
=
1;
for(i=0;
i<3;
i++);
return(DQ);
}
/********************************************************************
*
名稱
:
write_bit()
*
功能
:
向DS18B20寫一位
*
輸入
:
bitval(要對DS18B20寫入的位值)
*
輸出
:
無
***********************************************************************/
void
write_bit(uchar
bitval)
{
DQ=0;if(bitval==1)
DQ=1;
delay(5);
DQ=1;
}
/********************************************************************
*
名稱
:
read_byte()
*
功能
:
從DS18B20讀一個位元組
*
輸入
:
無
*
輸出
:
從DS18B20讀到的值
***********************************************************************/
uchar
read_byte(void)
{
uchar
i,m,receive_data;
m
=
1;
receive_data
=
0;
for(i=0;
i<8;
i++)
{
if(read_bit())
{
receive_data
=
receive_data
+
(m
<<
i);
}
delay(6);
}
return(receive_data);
}
/********************************************************************
*
名稱
:
write_byte()
*
功能
:
向DS18B20寫一個位元組
*
輸入
:
val(要對DS18B20寫入的命令值)
*
輸出
:
無
***********************************************************************/
void
write_byte(uchar
val)
{
uchar
i,temp;
for(i=0;
i<8;
i++)
{
temp
=
val
>>
i;
temp
=
temp
&
0x01;
write_bit(temp);
delay(5);
}
}
/********************************************************************
*
名稱
:
Main()
*
功能
:
主函數
*
輸入
:
無
*
輸出
:
無
***********************************************************************/
void
main()
{
float
tt;
uint
temp;
P2
=
0x00;
while(1)
{
Reset();
write_byte(jump_ROM);
write_byte(start);
Reset();
write_byte(jump_ROM);
write_byte(read_EEROM);
TMPL
=
read_byte();
TMPH
=
read_byte();
temp
=
TMPL
/
16
+
TMPH
*
16;
P0
=
table[temp/10%10];
P2
=
6;
Delay_1ms(5);
P0
=
table[temp%10];
P2
=
7;
Delay_1ms(5);
}
}
③ 基於51單片機,溫濕度無線檢測系統設計
單片機溫度控制系統的設計
http://www.tabobo.cn/soft/20/233/2007/233428910074.html
摘 要
隨著電子技術的發展,特別是隨著大規模集成電路的產生,給人們的生活帶來了根本性的變化,如果說微型計算機的出現使現代的科學研究得到了質的飛躍,那麼可編程式控制制器的出現則是給現代工業控制測控領域帶來了一次新的革命。在現代社會中,溫度控制不僅應用在工廠生產方面,其作用也體現到了各個方面。
隨著人們生活質量的提高,酒店廠房及家庭生活中都會見到溫度控制的影子,溫度控制將更好的服務於社會目前,單片機控制器在從生活工具到工業應用的各個領域,例如生活工具的電梯、工業生產中的現場控制儀表、數控機床等。尤其是用單片機控制器改造落後的設備具有性價比高、提高設備的使用壽命、提高設備的自動化程度的特點。
現代工業設計、工程建設及日常生活中常常需要用到溫度控制,早期溫度控制主要應用於工廠中,例如鋼鐵的水溶溫度,不同等級的鋼鐵要通過不同溫度的鐵水來實現,這樣就可能有效的利用溫度控制來掌握所需要的產品了。
隨著社會的發展,人們對食品溫度的控制要求也越來越高,對於低溫冷藏車的溫度控制也就相應的不斷提高,而我設計的低溫冷藏車就是為了達到這樣的溫度控制要求而進行設計的。我所採用的控制晶元為AT89C51,此晶元功能強大,能夠滿足設計要求。通過對電路的設計,對晶元的外圍擴展,來達到對冷藏車溫度的控制和調節功能。
關鍵字:AT89C51單片機、溫度 、軟體設計
目 錄
摘 要………………………………………………………………………………6
目 錄………………………………………………………………………………7
第一章 緒 論
1-1概述………………………………………………………………………………9
1-2溫度控制的總體設計和思路……………………………………………………9
1-3溫度控制方框圖…………………………………………………………………10
1-4溫度巡迴測量控制儀基本要求…………………………………………………10
1-5發揮部分…………………………………………………………………………10
第二章 單片機AT89C51的結構和原理
2-1 AT89C51單片機的結構…………………………………………………………11
2-2 AT89C51單片機主要特性………………………………………………………11
2-3 AT89C51單片機引腳功能說明…………………………………………………11
2-4復位電路…………………………………………………………………………12
2-5時鍾電路…………………………………………………………………………13
第三章 溫度控制的硬體設備
3-1采樣系統及溫度感測器的選擇
3-1-1采樣系統…………………………………………………………………15
3-1-2溫度感測器的選擇………………………………………………………15
3-2集成運放的選擇
3-2-1放大系統. ………………………………………………………………16
3-2-2集成運放的選擇…………………………………………………………16
3-3控制系統及光電耦合器的選擇
3-3-1控制系統…………………………………………………………………17
3-3-2光電耦合器的選擇………………………………………………………17
3-4 A/D轉換器的選擇及介紹………………………………………………………18
3-5 顯示系統及顯示器的選擇
3-5-1顯示系統…………………………………………………………………18
3-5-2顯示器的選擇……………………………………………………………19
3-6電源電路…………………………………………………………………………20
第四章 溫度控制的軟體設計
4-1程序模塊化處理………………………………………………………………22
4-2內RAM資源配置………………………………………………………………22
4-3程序清單
4-3-1程序入口地址……………………………………………………………22
4-3-2主程序……………………………………………………………………22
4-3-3顯示程序…………………………………………………………………23
4-3-4定時器中斷子程序………………………………………………………26
4-3-5溫度檢測子程序…………………………………………………………27
4-3-6溫度控制子程序…………………………………………………………28
4-3-7報警子程序………………………………………………………………29
4-3-8鍵盤子程序用於調節設定值……………………………………………29
第五章 調試及小結
5-1單片機溫度控制系統的工作原理……………………………………………32
5-2溫度檢測和A/D轉換電路圖……………………………………………………32
5-3測試報告………………………………………………………………………32
小 結………………………………………………………………………………34
致 謝………………………………………………………………………………35
參考文獻……………………………………………………………………………36
是否可以解決您的問題?