本項目為設計一個可以報警的智能溫度顯示系統,該系統由單片機最小系統、oled顯示屏電路、復位電路、 功能按鍵電路等組成。系統上電后開始工作,可通過功能按鍵設置好運行模式,啟動運行后數字溫度傳感 器DS18B20不斷采集溫度數據,并送給單片機處理,單片機將系統設置數據與當前溫度傳感器DS18B20 采集的溫度傳感器數據進行對比,決定是否報警。
本項目采用STC89C52RC單片機作為主控制器,由oled屏顯示,使用8550和SS8050三極管驅動, LED燈作為報警裝置,溫度傳感器采用數字輸出形式的DS18B20,通過溫度檢測和設定溫度比較, 三種工作方式:風扇停止,風扇轉動,風扇全速轉動。
#include
#include
#include "ds18b20.h"
#include "oled.h"
#include "key.h"
sbit fengsan=P2^3;//控制風扇
unsigned char time=0;
void Timer0Init(void) //5毫秒@11.0592MHz
{
TMOD = 0x01; //設置定時器模式
TL0 = 0xCD; //設置定時初值
TL0 = 0x00; //設置定時初值
TH0 = 0x28; //設置定時初值
TR0 = 1; //定時器0開始計時
ET0 = 1;
EA=1;
}
void main()
{
fengsan=0;
shang=3000;
xia=2000; //初始上下限值
OLED_Init();
OLED_Clear();//清屏
init_ds18b20();
Timer0Init(); //30微秒@11.0592MHz
OLED_ShowCHinese(0,0,0);//當
OLED_ShowCHinese(18,0,1);//前
OLED_ShowCHinese(36,0,2);//溫
OLED_ShowCHinese(54,0,3);//度
while(1)
{
if(time==1)
{
duquwendu=DS_OneWire()*100;
gaodiwensheji();//高低溫檢測值
zhidowenkong();//自動控制風扇
}
}
}
void InterruptTimer0() interrupt 1
{
time=1;
}
?審核編輯:湯梓紅
-
溫度傳感器
+關注
關注
48文章
2974瀏覽量
156346 -
51單片機
+關注
關注
274文章
5705瀏覽量
124220 -
智能風扇
+關注
關注
1文章
46瀏覽量
18347
發布評論請先 登錄
相關推薦
評論