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

正文內(nèi)容

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

  

【正文】 ........................................26參考文獻(xiàn) ..................................................................................................27附錄 1.......................................................................................................28附錄 2.......................................................................................................37基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)I基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)摘 要本設(shè)計(jì)首先給出了基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測(cè)系統(tǒng)的總體方案,描述了溫度傳感器 DS18B20 和濕度傳感器 HS1101 的工作原理;其次,進(jìn)行了硬件電路的設(shè)計(jì),包括溫度測(cè)量電路、濕度測(cè)量電路、鍵盤與顯示電路以及報(bào)警電路;然后在硬件部分的基礎(chǔ)上又進(jìn)行了軟件部分的設(shè)計(jì),包括主程序流程圖、按鍵掃描子程序流程圖和溫濕度程序流程圖,最后運(yùn)用 C 語(yǔ)言對(duì)各個(gè)部分進(jìn)行了編程。溫度傳感器一般采用熱電阻、熱電偶等模擬器件,需要額外加補(bǔ)償電路,安裝復(fù)雜,成本較高。干濕球測(cè)濕法采用間接測(cè)量方法,通過(guò)測(cè)量干球、濕球的溫度經(jīng)過(guò)計(jì)算得到濕度值,因此對(duì)使用溫度沒有嚴(yán)格限制,在高溫環(huán)境下測(cè)濕不會(huì)對(duì)傳感器造成損壞。 系統(tǒng)完成后可以通過(guò)溫度傳感器 DB18B20 和濕度傳感器 HS1101 對(duì)大棚溫室內(nèi)的溫濕度進(jìn)行測(cè)量,通過(guò)單片機(jī) AT89S51 對(duì)采集到的數(shù)據(jù)進(jìn)行處理,用LED 顯示出當(dāng)前環(huán)境的溫濕度狀況,其中溫度可以有操作人員根據(jù)不同作物所需的最適宜溫度進(jìn)行調(diào)節(jié),當(dāng)環(huán)境溫度和設(shè)置的最適宜溫度之差大于 3℃時(shí),報(bào)警裝置即會(huì)啟動(dòng)。系統(tǒng)的數(shù)據(jù)采集部分是將溫濕度傳感器置于溫室內(nèi)部,測(cè)出室內(nèi)的溫濕度值之后送入 AT89S51 單片機(jī)中,然后 LED 顯示出溫濕度測(cè)量值。其主要的特點(diǎn)為精度高、測(cè)量范圍大、便于遠(yuǎn)距離測(cè)量。 方案二:采用DS18B20作為溫度傳感器 DS18B20是由Dallas半導(dǎo)體公司生產(chǎn)的“一線總線” 接口的溫度傳感器。 方案一:采用HOS201濕敏傳感器 HOS201濕敏傳感器為高濕度開關(guān)傳感器,它的工作電壓為交流1V 以下,頻率為50HZ ~1KHZ ,測(cè)量濕度范圍為 0~100%RH,工作溫度范圍為0~50℃,阻抗在75%RH(25℃)時(shí)為1MΩ。 綜合比較方案一與方案二,方案一雖然滿足精度及測(cè)量濕度范圍的要求,但其只限于一定范圍內(nèi)使用時(shí)具有良好的線性,可有效地利用其線性特性。 DS18B20的內(nèi)部結(jié)構(gòu)如圖21所示: 基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)9圖21 DS18B20 的內(nèi)部結(jié)構(gòu)溫度測(cè)量原理電路如圖22所示:低溫度系數(shù)振蕩器斜率累加器計(jì)數(shù)比較器預(yù)置減法計(jì)數(shù)器減至 0 溫度寄存器預(yù)置高溫度系數(shù)振蕩器 減法計(jì)數(shù)器 減至 0圖22 溫度測(cè)量原理電路DS18B20 主要有 4 部分組成:64 為 ROM、溫度傳感器、非易失性溫度報(bào)警觸發(fā)器 TH 和 TL、配置寄存器。 (4) 配置寄存器 該字節(jié)各位的意義如表22所示:表22 配置寄存器結(jié)構(gòu)TM R1 R0 1 1 1 1 1 低五位一直都是1,TM是測(cè)試模式位,用于設(shè)置DS18B20在工作模式還是在基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)11測(cè)試模式。 圖25 DS18B20寫0 圖26 DS18B20寫1(3) 讀時(shí)間隙 見圖27 ,主機(jī)總線t0時(shí)刻從高拉至低電平時(shí),總線只須保持低電平 t0一t1。圖29為濕度電容響應(yīng)曲線。如何將電容的變化量準(zhǔn)確地轉(zhuǎn)變?yōu)橛?jì)算機(jī)易于接受的信號(hào),常有兩種方法:一是將該濕敏電容置于運(yùn)放與阻容組成的橋式振蕩電路中,所產(chǎn)生的正弦波電壓信號(hào)經(jīng)整流、直流放大、再A/D 轉(zhuǎn)換為數(shù)字信號(hào);另一種是將該濕敏電容置于555振蕩電路中,將電容值的變化轉(zhuǎn)為與之成反比的電壓頻率信號(hào),可直接被計(jì)算機(jī)所采集。其電路結(jié)構(gòu)如圖 33 所示:基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)18圖 33 鍵盤連接 顯示部分 八位數(shù)碼管采用動(dòng)態(tài)顯示方式,動(dòng)態(tài)顯示可節(jié)省端口,方便連接,由于每個(gè)數(shù)碼管處于輪流導(dǎo)通狀態(tài),因此,每次只有一個(gè)數(shù)碼管點(diǎn)亮,比靜態(tài)數(shù)碼管可省電。 圖 336 為電路原理圖:圖 35 發(fā)光二級(jí)管報(bào)警電路圖 36 三極管驅(qū)動(dòng)的蜂鳴器報(bào)警電路 RS485 異步半雙工通信總線 RS485 異步半雙工通信總線是被廣泛使用的數(shù)據(jù)通信總線,往往應(yīng)用在集中控制樞紐與分散控制單元之間。 在應(yīng)用系統(tǒng)工程的現(xiàn)場(chǎng)施工中,由于通信載體是雙絞線,它的特性阻抗為120Ω 左右,所以電路設(shè)計(jì)時(shí),在 RS485 網(wǎng)絡(luò)傳輸線的始端和末端應(yīng)加一個(gè)120Ω 的電阻(如圖中 R35) ,以減少線路上傳輸信號(hào)的反射。其中引導(dǎo)碼是用于同步每一包數(shù)據(jù)的引導(dǎo)頭;長(zhǎng)度碼是這一包數(shù)據(jù)的總長(zhǎng)度;命令碼是主機(jī)對(duì)分機(jī)的控制命令;地址碼是分機(jī)的本機(jī)地址號(hào);內(nèi)容是這一包數(shù)據(jù)里的各種信息;校驗(yàn)碼是這一包數(shù)據(jù)的校驗(yàn)標(biāo)志,可以采用奇偶校驗(yàn)、和基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)21校驗(yàn)等不同方式。3℃時(shí),報(bào)警裝置發(fā)光二極管和蜂鳴器即會(huì)啟動(dòng),該系統(tǒng)基本實(shí)現(xiàn)了對(duì)溫濕度的測(cè)量與顯示,操作人員可以根據(jù)顯示指示,來(lái)判斷當(dāng)前溫濕度是否對(duì)作物生長(zhǎng)有利。 unsigned char num=0。 基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)30sbit key2=P2^1。 sbit S8=P0^7。//共陰LED 段碼表 0 1 2 3 4 5 6 7 8 9 uchar data temp_da ta[2]={0x00,0x00}。 } void delay(uint t) { for (。 } } if (key2==0) { del10ms()。 LED2=0。S3=1。S6=1。 delay(200)。S2=1。S5=1。 S8=1。 Disdata=dis_7[G]。S3=1。S6=1。 delay(200)。S2=1。_ nop_()。 } DQ=1。_nop_()。 //右移 1 位 } DQ=1。_nop_()。_nop_()。 } /****************讀出溫度函數(shù)* ***********************/ // read_temp() { ow_reset()。 write_byte(0xcc) 。 //讀溫度值的高字節(jié) temp=temp_data[1]。 // 存入小數(shù)部分顯示值 display[3] =tem4。uchar ecc = 0。 RI = 0。 break。 // 保存數(shù)據(jù) ecc = ecc^tmp。 // 函數(shù)成功返回 }/*該函數(shù)實(shí)現(xiàn)將溫度和濕度值以ASCII碼的形式通過(guò)485串口發(fā)送到PC機(jī)串口調(diào)試助手,格式為:設(shè)備號(hào)+T:溫度值 +M:濕度值+換行*/ void send_data_pc(void){send_byte(ASCii[dev])。 //發(fā)送空格send_byte(77)。uchar ecc = 0。 // 發(fā)送長(zhǎng)度ecc = ecc^len。 // 發(fā)送幀結(jié)束標(biāo)志 SBUF = 0xc0。 while(!TI) TI = 0。 break。 LED1=1。 //開 T0 TR1=1。 B1=number%1000/100。 //計(jì)數(shù) TL1=0x00。 // 發(fā)送應(yīng)答信息,這里buf的內(nèi)容并未用到 break。 //開中斷 EA=1。 TMOD=0x51。 //開機(jī)先轉(zhuǎn)換一次 write_byte(0xcc)。 //定時(shí) 50ms TL0=0xB0。 TI = 0。 while(!TI)。SBUF = 0xdb。 ecc = ecc^(*buf)。 // 發(fā)送本機(jī)地址ecc = dev。send_byte(ASCii[B3])。 //發(fā)送溫度數(shù)據(jù) send_byte(ASCii[display[1]])。 if(ecc != 0) // 校驗(yàn)錯(cuò)誤,返回 return 0。 break。 break。 /* 接收一幀數(shù)據(jù) */i = 0。 // 獲得設(shè)備狀態(tài)信息,并將其存入dbuf指向的存儲(chǔ)區(qū),數(shù)據(jù)最后一字節(jié)置0表示數(shù)據(jù)結(jié)束}/*該函數(shù)接收一幀數(shù)據(jù)并進(jìn)行檢測(cè),無(wú)論該幀是否錯(cuò)誤,函數(shù)均會(huì)返回* 函數(shù)參數(shù)type保存接收到的命令字* 當(dāng)接收到數(shù)據(jù)幀錯(cuò)誤或其地址位不為0時(shí)(非主機(jī)發(fā)送幀),函數(shù)回0,反之返回1*/bit recv_cmd(uchar *type){bit db = 0。 //返回溫度值}/****************溫度數(shù)據(jù)處理函數(shù)*** *********************/ //二進(jìn)制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié),這個(gè) //字節(jié)的二進(jìn)制轉(zhuǎn)換為十進(jìn)制后,就是溫度值的百、十、個(gè)位值,而剩 //下的低字節(jié)的低半字節(jié)轉(zhuǎn)化成十進(jìn)制后,就是溫度值的小數(shù)部分 /********************************************************/ work_temp(uint tem) { if(tem634 8) // 溫度值正負(fù)判斷 {tem=65536tem。 write_byte(0xcc) 。 write_byte(TH)。 //4 us if(DQ)value|=0x80。_nop_()。 for(i=8。 //5 us DQ=valamp。i) { DQ=1。 delay(6)。 Disdata=0x00。S6=1。S2=1。 delay(200)。S7=1。S4=1。S1=1。 Disdata=0x00。S6=1。S2=0。 delay(200)。S7=1。 LED2=1。 TL0=0xB0。a!=0。 uint temp。 sbit S4=P0^3。 //LED小數(shù)點(diǎn)控制 sbit LED1=P2^2。 // 該緩沖區(qū)用于保存設(shè)備狀態(tài)信息uchar dev=1。4 軟件設(shè)計(jì) 主程序流程圖主程序流程圖如圖 41 所示:基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)22開始初始化單片機(jī)初始化 DS18B20初始化 HS1101初始化 LED讀取溫度數(shù)據(jù)顯示讀取濕度數(shù)據(jù)返回圖41 系統(tǒng)主程序流程圖 按鍵掃描子程序流程圖按鍵掃描子程序如圖 42 所示:基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)23KEY0鍵按下KEY1鍵按下設(shè)定溫度值加1設(shè)定溫度值減1正常工作指示燈工作YYYNNN異常指示燈工作蜂鳴器報(bào)警檢測(cè)到溫度在正常范圍 圖42 按鍵掃描子程序流程圖 溫度程序流程圖溫度報(bào)警程序流程圖如圖43所示:基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)24開始總線復(fù)位跳過(guò) ROM設(shè)置匹配 ROM發(fā)送 ROM 編號(hào)報(bào)警開始溫度轉(zhuǎn)換延時(shí) 1 秒顯示溫度DS18B20 開始溫度轉(zhuǎn)換是否超限制溫度NY圖43 溫度報(bào)警流程圖基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)25 濕度程序流程圖濕度測(cè)量部分程序流程圖如圖44所示:濕度處理函數(shù)重新設(shè)置定時(shí)器,計(jì)數(shù)從頭來(lái)過(guò),等待 3s后下一次結(jié)果定時(shí)器 0、1 初始化讀取定時(shí)器計(jì)數(shù)值函數(shù)返回定時(shí)器設(shè)置 50ms 定時(shí),啟動(dòng)定時(shí)中斷對(duì)計(jì)數(shù)值求算法得濕度值,保存,以便顯示調(diào)用是否中斷 60次,即 3sYN圖44 濕度測(cè)量
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1