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

正文內(nèi)容

優(yōu)秀畢業(yè)論文(設(shè)計(jì)):基于單片機(jī)(mcu)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計(jì)(文件)

2025-06-05 07:47 上一頁面

下一頁面
 

【正文】 圖 29 濕度 電容響應(yīng)曲線 相對濕度在 1%100%RH范圍內(nèi);電容量由 16pF變到 200pF,其誤差不大于177。可以應(yīng)用于辦公自動(dòng)化,車廂內(nèi)空氣質(zhì)量控制,家電,工業(yè)控制系統(tǒng)等。 空氣濕度與電壓頻率的典型值如表 24所示: 表 24 空氣濕度與電壓頻率的典型值 濕度 頻率 濕度 頻率 %RH HZ %RH HZ 0 7351 60 6600 10 7224 70 6468 20 7100 80 6330 30 6976 90 6168 40 6853 100 6033 50 6728 本系統(tǒng)采用的是將 HS1101接入 555定時(shí)器組成的震蕩電路中,輸出一定頻率的方波信號(hào),這種方法結(jié)構(gòu)簡單,使用方便,因此被廣泛采用,具體結(jié)構(gòu)圖如 211下: 圖 211 HS1101和 NE556構(gòu)成的濕度采集電路 基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計(jì) 15 集成定時(shí)器 NE555一方面可以形成單穩(wěn)態(tài)電路,另一方面可以形成多諧振蕩電路,本系統(tǒng)選用的是 NE556,它內(nèi)部含有兩個(gè) NE555定時(shí)器,其中 R1, R2,C1,C2和 NE556構(gòu)成多諧振蕩器,外接電阻 R1,R2和濕敏電容 C1構(gòu)成了對濕敏電容 C1的充電回路, 7端通過芯片內(nèi)部的晶體管對地短路又構(gòu)成了對 C1的放電回路,并將2, 6端相連引入到片內(nèi)比較器。 硬件電路設(shè)計(jì) 溫度測量電路 溫度測量采用 DS18B20,它是單線傳輸器件,不需校正溫宿,接口接的是 ,具體的溫度測量電路如圖 31所示: 圖 31 溫度測量電路 濕度測量電路 濕度測量用的是 HS1101電容式 濕度傳感器 ,他與 NE556組成一方波發(fā)生電路,濕度改變對應(yīng)頻率的變化,用單片機(jī)采集頻率值進(jìn)行轉(zhuǎn)化得出濕度值,具體的濕度測量電路如圖 32所示: 基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計(jì) 17 圖 32 濕度測量電 路 3 人機(jī)接口電路 鍵盤部分 根據(jù)該系統(tǒng)的實(shí)際情況,我選用了獨(dú)立式鍵盤。數(shù)碼管顯示電路如圖 34 所示: 基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計(jì) 18 圖 34 顯示電路 報(bào)警電路設(shè)計(jì) 在微型計(jì)算機(jī)控制系統(tǒng)中,為了安全生產(chǎn),對于一些重要的參數(shù)或系統(tǒng)部位,都設(shè)有緊急狀態(tài)報(bào)警系統(tǒng),以便提醒操作人員注意,或采取緊急措施。 蜂 鳴器報(bào)警電路的設(shè)計(jì)只需購買市售的壓電式蜂鳴器,然后通過 AT89S51 的 1 根口線經(jīng)驅(qū)動(dòng)器驅(qū)動(dòng)蜂鳴 器 發(fā)聲。 在本系統(tǒng)中,使用 RS485 異步半雙工通信總線,能夠多點(diǎn)測量大棚溫濕度,并與上位機(jī)連接,實(shí)現(xiàn)遠(yuǎn)程控制。 485 總線輸出電路的設(shè) 計(jì)要考慮到線路上的各種干擾及線路特性阻抗的匹配。 由于 RS485 芯片的特性,接收器的檢測靈敏度為 177。 485 芯片的軟件編程對產(chǎn)品的可靠性也有很大影響。 在 485 通信的芯片中,尤其要注意對 485 控制端 DE 的軟件編程。單片機(jī)采用 C 語言程序,建立模塊化結(jié)構(gòu),各模塊互相獨(dú)立,有較高的可靠性和擴(kuò)展性。 該系統(tǒng)的不足之處在于沒能夠?qū)崿F(xiàn)溫濕度的自動(dòng)調(diào)節(jié),可以進(jìn)一步加入溫濕度自動(dòng)調(diào)節(jié)電路,在當(dāng)前溫濕度超出作物所需的最適宜條件時(shí),啟動(dòng)溫濕度調(diào)節(jié)裝置,就可以真正的實(shí)現(xiàn)溫濕度的自動(dòng)控制。 // 該字節(jié)用于保存本機(jī)設(shè)備號(hào) unsigned int S,G,TH,RS。 sbit DQ=P3^6。 sbit LED2=P2^3。 sbit S1=P0^0。 sbit S5=P0^4。 sbit M_RE=P2^6。 uchar coad ASCii[]={48,49,50,51,52,53,54,55,56,57}。 //讀出溫度暫放 uchar data display[4 ]={0x00,0x00,0x00,0x00}。a) for(b=248。t0。 //定時(shí) 50ms num++。 if(key2==0) { TH。 BEEP=1。 } } /****************顯示掃描函數(shù) ***************************/ scan() { S=TH/10。S6=1。S2=1。 Disdata=0x00。S5=1。S1=1。 Disdata=0x00。S5=1。S1=1。 S8=1。S4=0。 Disdata=dis_7[S]。S7=1。S3=1。 delay(200)。S6=0。S2=1。 Disdata=0x00。S5=1。S1=1。 Disdata=0x00。S5=1。S1=1。 } /****************DS18B20復(fù)位函數(shù) ************************/ ow_reset(void) { char presence=1。//從高拉倒低 DQ=0。 //66 us presence=DQ。 //拉高電平 } /****************DS18B20 寫命令函數(shù) ****************** ******/ //向 1WIRE 總線上寫 1 個(gè)字節(jié) void write_byte(uchar val) { uchar i。_nop_()。_nop_()。0x01。 delay(1)。i0。 value=1。_nop_()。_nop_()。 delay(6)。 //總線復(fù)位 delay(200)。 //發(fā)命令 write_byte(RS)。 //發(fā)命令 基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計(jì) 35 write_byte(0x44)。 //發(fā)命令 write_byte(0xbe)。 temp=8。} // 負(fù)溫度求補(bǔ)碼 ,標(biāo)志位置 1 display[3]=temamp。 // 取中間八位 ,即整數(shù)部分的值 display[2]=display[3]%100/10。 // 當(dāng)接收到的上一個(gè)字節(jié)為 0xdb時(shí),該位置位 bit c0 = 0。 uchar i。 while(!c0) // 循環(huán)直至幀接收完畢 { RI = 0。 if(db == 1) // 接收到的上一個(gè)字節(jié)為 0xdb 基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計(jì) 37 { switch(tmp) { case 0xdd: data_buf[i] = 0xdb。 case 0xdc: data_buf[i] = 0xc0。 default return 0。 case 0xdb: // 檢測到轉(zhuǎn)義字符 db = 1。 // 計(jì)算校驗(yàn)字節(jié) i++。 if(data_buf[0] != dev) // 非訪問本機(jī)命令,錯(cuò)誤,返回 return 0。 //設(shè)備號(hào) send_byte(84)。 send_byte(46)。 //發(fā)送 M: send_byte(58)。 send_byte(0x0d)。 。 } /* 該函數(shù)發(fā)送一幀數(shù)據(jù)幀,參數(shù) type為命令字、 len為數(shù)據(jù)長 度、 buf為要發(fā)送的數(shù)據(jù)內(nèi)容 */ void send_data(uchar type, uchar len, uchar *buf) { uchar i。 //發(fā)送濕度數(shù)據(jù) 基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計(jì) 39 send_byte(ASCii[B2])。 send_byte(32)。 send_byte(ASCii[display[2]])。 // 獲得命令字 return 1。 } /* 判斷幀是否錯(cuò)誤 */ if(i4) // 幀過短,錯(cuò)誤,返回 return 0。 default: // 普通數(shù)據(jù) data_buf[i] = tmp。 } switch(tmp) // 正常情況 { case 0xc0: // 幀結(jié)束 c0 = 1。 db = 0。 db = 0。 tmp = SBUF。 // 置發(fā) 送禁止,接收允許 M_RE = 0。 // 保存接收到的幀 uchar tmp。 } /////////////////////////////////////////////////////////////////////////////////// void READSTATUS() interrupt 0 using 1 // 產(chǎn)生外部中斷 0時(shí)表示設(shè)備狀基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計(jì) 36 態(tài)發(fā)生改變,該函數(shù)使用寄存器組 1 { get_status()。 // 取小數(shù)部分的值 display[0]=ditab[display[3]]。 // 兩字節(jié)合成一個(gè)整型變量 return temp。 //讀溫度值的第字節(jié) temp_data[1]=read_byte()。 ow_reset()。 ow_reset()。 //發(fā)命令 write_byte(0x4e)。 return(value)。_nop_()。 //4 us DQ=1。_nop_()。_nop_()。 uchar value=0。 //66 us val=val/2。_nop_()。 //從高拉倒低 DQ=0。i0。 //延時(shí) 500 us presence=~DQ。 //550 us DQ=1。_nop_()。 delay(200)。S3=1。S7=1。 DIN=1。S3=1。S7=0。 Disdata=dis_7[B1]。S4=1。 S8=1。S1=1。S5=0。 Disdata=0x00。S2=1。S6=1。 delay(200)。S3=0。S7=1。 DIN=1。S3=1。S7=1。 Disdata=dis_7[display[2]]。S4=1。 S8=1。 LED1=1。 if ((TH3)T(TH+3)) {LED1=0。 if(key1==0) { TH++。 } /*******************************************************/ void timer0()interrupt 1 { TH0=0x3C。b)。 for(a=40。 // uchar code dis_7={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 //驅(qū)動(dòng)器使能, 1有效 uint h,T。 sbit S7=P0^6。 sbit S3=P0^2。 //蜂鳴器輸出口 sbit key1=P2^0。 //濕度輸入口 sbit DIN=P1^7。//定義數(shù)的各位數(shù),分別為百,十,個(gè)位 uint number。延時(shí)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1