freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的溫濕度檢測(cè)控制系統(tǒng)設(shè)計(jì)49953(編輯修改稿)

2024-07-22 14:33 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 晶初始化及工作方式。 系統(tǒng)進(jìn)入正常工作狀態(tài)。溫濕度檢測(cè)模塊是本系統(tǒng)中的核心模塊之一,它負(fù)責(zé)完成溫度和濕度的測(cè)量及模擬量轉(zhuǎn)換為數(shù)字量的全過(guò)程,這也是它為什么重要的原因。數(shù)字式溫濕度傳感器AM2301直接把檢測(cè)到的模擬量轉(zhuǎn)化為數(shù)字量送給單片機(jī),在經(jīng)過(guò)單片機(jī)的處理,把溫濕度值顯示在1602液晶上。溫濕度傳感器的精確度值直接影響到整個(gè)系統(tǒng)的檢測(cè)與控制,所以本系統(tǒng)采用數(shù)字式溫濕度傳感器AM2301采集溫室內(nèi)的溫濕度[10]。 溫濕度判斷控制模塊溫濕度判斷控制模塊也是系統(tǒng)的核心模塊之一,所謂判斷控制模塊,就是對(duì)當(dāng)前溫室內(nèi)的實(shí)際溫濕度與給定的溫濕度范圍進(jìn)行比較,先進(jìn)行判斷,然后再進(jìn)行控制,控制模塊是決定系統(tǒng)將要進(jìn)行什么工作的。如溫度高于上限時(shí)需要降溫,低于下限時(shí)需要升溫,如濕度高于上限時(shí)需要降濕,低于下限時(shí)需要増濕,同時(shí)還要啟動(dòng)警報(bào)等等。溫濕度判斷控制部分的程序整體思路如圖18圖18 溫濕度判斷控制程序整體思路 1602液晶顯示模塊本系統(tǒng)采用1602液晶顯示溫濕度值,當(dāng)系統(tǒng)剛開始上電時(shí)1602液晶不顯示任何數(shù)據(jù),等待AM2301的監(jiān)測(cè)數(shù)據(jù),雙行顯示在1602液晶上。第一行顯示:Temperature:。C,第二行顯示:Humidity: %報(bào)警模塊具備兩項(xiàng)功能,即為報(bào)警燈和聲音報(bào)警。報(bào)警燈模塊是完成LED有規(guī)律的轉(zhuǎn)換,以便從視覺上提醒用戶。LED是由單片機(jī)控制2個(gè)雙色LED燈組成的,其轉(zhuǎn)換規(guī)律為:1 系統(tǒng)溫濕度值在給定的范圍時(shí),綠色LED亮。2 系統(tǒng)溫濕度值超出給定的范圍時(shí),紅色LED亮。在LED燈轉(zhuǎn)換的同時(shí),聲音報(bào)警也會(huì)同時(shí)啟動(dòng),可采用延時(shí)的方式來(lái)延長(zhǎng)聲音報(bào)警的聲音。警報(bào)燈由2個(gè)雙色的LED燈組成,一共需要2根數(shù)據(jù)線,使用單片機(jī)控制。要實(shí)現(xiàn)的功能是使2個(gè)雙色LED燈有規(guī)律的轉(zhuǎn)換,當(dāng)系統(tǒng)上電后,系統(tǒng)進(jìn)行實(shí)時(shí)的采樣,并判斷出當(dāng)前溫濕度與給定溫濕度之間的差異,如果當(dāng)前溫濕度低于用戶給定的下限溫濕度值,則說(shuō)明當(dāng)前溫濕度過(guò)低,系統(tǒng)自動(dòng)啟動(dòng)紅色警報(bào)燈,同時(shí)開始加溫増濕,直至加到所需溫濕度值時(shí)警報(bào)燈熄滅。反之,如果當(dāng)前溫濕度高于用戶設(shè)定的上限溫濕度值,則說(shuō)明當(dāng)前溫濕度過(guò)高,系統(tǒng)也會(huì)自動(dòng)啟動(dòng)警報(bào)燈,同時(shí)開始降溫減濕,直至降到所需溫濕度值時(shí)警報(bào)燈熄滅。 系統(tǒng)整體軟件程序本系統(tǒng)采用C語(yǔ)言編程,使用單片機(jī)編程軟件:Keil軟件。/*******************************************||**********名稱:溫濕度檢測(cè)控制系統(tǒng)**********||**********單片機(jī):STC89C52RC****************||**********晶振:12MHz***********************||**********作者:上海宏嵌電子****************||**********網(wǎng)址:***||*******************************************/include include define uchar unsigned chardefine uint unsigned int void arm() //報(bào)警控制函數(shù){ if(RH_ValueSys_RH) { RH_Relay=0。 } else { RH_Relay=1。 } if(Temp_ValueSys_Temp) { Temp_Relay=0。 } else { Temp_Relay=1。 } if((Temp_ValueSys_Temp)||(RH_ValueSys_RH)) Beep=0。 else Beep=1。}void dispMain(){ Disp_string(0,0,Humidity:)。 Disp_char(9,0,RH_Value/100+48)。 Disp_char(10,0,RH_Value%100/10+48)。 Disp_char(11,0,39。.39。)。 Disp_char(12,0,RH_Value%10+48)。 Disp_char(13,0,39。%39。)。 Disp_string(0,1,Temper :)。 Disp_char(9,1,Temp_Value/100+48)。 Disp_char(10,1,Temp_Value%100/10+48)。 Disp_char(11,1,39。.39。)。 Disp_char(12,1,Temp_Value%10+48)。 Disp_char(13,1,0xdf)。//176。 Disp_char(14,1,39。C39。)。 if(flagtemp) Disp_char(8,1,39。39。)。 else Disp_char(8,1,39。+39。)。 arm()。}void main(){ initLCD()。 Sys_Temp=IapReaduchar(0x2002)*256+IapReaduchar(0x2003)。 //讀取掉電前溫度上限 Sys_RH=IapReaduchar(0x2004)*256+IapReaduchar(0x2005)。//讀取掉電前溫度下限 while(1) //循環(huán) { Read_AM2301()。//調(diào)用溫濕度讀取子程序 dispMain()。 //送入液晶顯示當(dāng)前溫濕度 SYS_Set(65000)。//讀取模塊數(shù)據(jù)周期不應(yīng)小于 2S }}/*************************************************************** 名 稱 :AM2301溫濕度監(jiān)測(cè) 功 能 :1602顯示采集到的溫濕度 (波特率 9600) 說(shuō) 明 : 無(wú) 修 改 :無(wú) 日 期 :2013418****************************************************************/ //頭文件include //宏定義typedef unsigned char U8。 /* 無(wú)符號(hào)8位整型變量 */typedef unsigned int U16。 /* 無(wú)符號(hào)16位整型變量 */define uchar unsigned chardefine uint unsigned int//IO口定義//sbit DHT = P3^7 。 //AM2301端口定義//全局變量//bit flagtemp。//溫度正負(fù)標(biāo)志位,k U8count, U8 U8FLAG。U8 U8temp。U8 U8data。U16 RH_Value,Temp_Value。/*********************************************************函數(shù)名稱 : 延時(shí)子程序功 能 : 延時(shí)說(shuō) 明 : 無(wú)*********************************************************/void Delay(U16 j){ U8 i。 for(。j0。j) { for(i=0。i27。i++)。 }}void Delay_10us(void)//延時(shí)10uS{ U8 i。 i。 i。 i。 i。 i。 i。}/*********************************************************函數(shù)名稱 : 讀溫濕度字節(jié)函數(shù) 功 能 : 讀取溫濕度每個(gè)字節(jié)說(shuō) 明 : 無(wú)*********************************************************/ void COM(void)//讀字節(jié) { U8 i。 for(i=0。i8。i++) { U8FLAG=2。 while((!DHT)amp。amp。U8FLAG++)。 Delay_10us()。 Delay_10us()。 Delay_10us()。 U8temp=0。 if(DHT)U8temp=1。 U8FLAG=2。 while((DHT)amp。amp。U8FLAG++)。 //超時(shí)則跳出for循環(huán) if(U8FLAG==1)break。 //判斷數(shù)據(jù)位是0還是1 // 如果高電平高過(guò)預(yù)定0高電平值則數(shù)據(jù)位為 1 U8data=1。 U8data|=U8temp。 //0 }//end i }// // //濕度讀取子程序 // //以下變量均為全局變量 //溫度高8位== U8T_data_H //溫度低8位== U8T_data_L //濕度高8位== U8RH_data_H //濕度低8位== U8RH_data_L //校驗(yàn) 8位 == U8checkdata //調(diào)用相關(guān)子程序如下 // Delay()。, Delay_10us()。,COM()。 ///*********************************************************函數(shù)名稱 : 溫濕度讀取函數(shù)功 能 : 讀取溫濕度數(shù)據(jù)說(shuō) 明 : 無(wú)*********************************************************/ void Read_AM2301(void)//讀取溫濕度 { U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata。U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp。 //主機(jī)拉低 15ms DHT=0。 Delay(5)。 DHT=1。 //總線由上拉電阻拉高 主機(jī)延時(shí)40us
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1