一.系統(tǒng)概述
系統(tǒng)內(nèi)使用STM32單片機(jī)進(jìn)行主控,系統(tǒng)內(nèi)可以檢測(cè)糧倉(cāng)的溫濕度,另外通過(guò)EEPROM進(jìn)行溫濕度閾值的保存,當(dāng)溫度和濕度超過(guò)或者低于設(shè)定的閾值后就會(huì)進(jìn)行相應(yīng)的控制和調(diào)節(jié)。
二.仿真概述
1. 當(dāng)檢測(cè)濕度低于閾值就會(huì)控制加熱并進(jìn)行報(bào)警,當(dāng)濕度高于設(shè)定閾值就會(huì)除濕并報(bào)警(閃爍)
2. 當(dāng)檢測(cè)到溫度超過(guò)設(shè)定閾值就會(huì)控制報(bào)警并啟動(dòng)風(fēng)扇(閃爍報(bào)警)
3. 當(dāng)檢測(cè)溫度低于閾值就會(huì)控制報(bào)警并進(jìn)行加熱(閃爍報(bào)警),設(shè)定的溫濕度閾值通過(guò)EEPROM進(jìn)行保存,即使重新關(guān)閉和啟動(dòng)仿真后設(shè)定的閾值不會(huì)改變。
三.程序設(shè)計(jì)
#include#include #include #include "dht11.h" #include #include "PCF8591.h" #include "24cxx.h" int main(void) { u8 t,h,m=0,tmax=28,tmin=26,hmax=80,hmin=78; Lcd1602_Init();//pa0-7 pb8-10 DHT11_Init();//pa12 Led_Init();//pc0-4 Key_Init();//pb12-15 PCF8591_Init(); AT24CXX_Init(); while(AT24CXX_Check()); Lcd1602_Write_String(0x80,2,(u8*)"T:"); Lcd1602_Write_String(0x80+4,1,(u8*)"c"); Lcd1602_Write_String(0x86+2,1,(u8*)"-"); Lcd1602_Write_String(0xc0,2,(u8*)"H:"); Lcd1602_Write_String(0xc0+4,1,(u8*)"%"); Lcd1602_Write_String(0xc6+2,1,(u8*)"-"); tmin=AT24CXX_ReadOneByte(0);//讀取 tmax=AT24CXX_ReadOneByte(1);//讀取 hmin=AT24CXX_ReadOneByte(2);//讀取 hmax=AT24CXX_ReadOneByte(3);//讀取 Led1_Low;Led3_Low;Led4_Low;Led5_Low; while(1) { DHT11_Read_Data(&t,&h); Lcd1602_Write_Num8(0x82,t); Lcd1602_Write_Num8(0xc2,h); Lcd1602_Write_Num8(0x86,tmin); Lcd1602_Write_Num8(0xc6,hmin); Lcd1602_Write_Num8(0x89,tmax); Lcd1602_Write_Num8(0xc9,hmax); delay_ms(500); if(Key2==0) { m++; if(m==5) m=0; } if(Key3==0) m=0; if(m==0) { AT24CXX_WriteOneByte(0,tmin);//保存 AT24CXX_WriteOneByte(1,tmax);//保存 AT24CXX_WriteOneByte(2,hmin);//保存 AT24CXX_WriteOneByte(3,hmax);//保存 } else if(m==1) { Lcd1602_Write_String(0x86,2,(u8*)" "); if(Key0==0) tmin++; else if(Key1==0) tmin--; } else if(m==2) { Lcd1602_Write_String(0x89,2,(u8*)" "); if(Key0==0) tmax++; else if(Key1==0) tmax--; } else if(m==3) { Lcd1602_Write_String(0xc6,2,(u8*)" "); if(Key0==0) hmin++; else if(Key1==0) hmin--; } } }
-
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44558瀏覽量
635285 -
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6620瀏覽量
110608 -
STM32
+關(guān)注
關(guān)注
2270文章
10900瀏覽量
356003
原文標(biāo)題:Proteus仿真實(shí)例_基于STM32單片機(jī)的糧倉(cāng)溫濕度控制系統(tǒng)(仿真文件+程序)
文章出處:【微信號(hào):小常硬件,微信公眾號(hào):小常硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論