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

正文內(nèi)容

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

2025-02-05 15:21 上一頁面

下一頁面
 

【正文】 3030 6976 90 616840 6853 100 603350 6728本系統(tǒng)采用的是將HS1101接入555定時器組成的震蕩電路中,輸出一定頻率的方波信號,這種方法結(jié)構(gòu)簡單,使用方便,因此被廣泛采用,具體結(jié)構(gòu)圖如211 下: 基于單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計15圖211 HS1101和NE556 構(gòu)成的濕度采集電路集成定時器NE555一方面可以形成單穩(wěn)態(tài)電路,另一方面可以形成多諧振蕩電路,本系統(tǒng)選用的是NE556,它內(nèi)部含有兩個NE555定時器,其中R1,R2,C1,C2和NE556 構(gòu)成多諧振蕩器,外接電阻R1,R2和濕敏電容C1構(gòu)成了對濕敏電容C1的充電回路,7端通過芯片內(nèi)部的晶體管對地短路又構(gòu)成了對C1的放電回路,并將2,6端相連引入到片內(nèi)比較器。 硬件電路設(shè)計 溫度測量電路 溫度測量采用DS18B20,它是單線傳輸器件,不需校正溫宿,接口接的是,具體的溫度測量電路如圖31所示: 基于單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計17 圖 31 溫度測量電路 濕度測量電路 濕度測量用的是HS1101電容式濕度傳感器,他與NE556組成一方波發(fā)生電路,濕度改變對應(yīng)頻率的變化,用單片機采集頻率值進行轉(zhuǎn)化得出濕度值,具體的濕度測量電路如圖32所示:圖32 濕度測量電路3 人機接口電路 鍵盤部分根據(jù)該系統(tǒng)的實際情況,我選用了獨立式鍵盤。數(shù)碼管顯示電路如圖 34 所示:圖 34 顯示電路 報警電路設(shè)計在微型計算機控制系統(tǒng)中,為了安全生產(chǎn),對于一些重要的參數(shù)或系統(tǒng)部位,都設(shè)有緊急狀態(tài)報警系統(tǒng),以便提醒操作人員注意,或采取緊急措施。蜂鳴器報警電路的設(shè)計只需購買市售的壓電式蜂鳴器,然后通過 AT89S51 的 1基于單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計19根口線經(jīng)驅(qū)動器驅(qū)動蜂鳴器發(fā)聲。在本系統(tǒng)中,使用 RS485 異步半雙工通信總線,能夠多點測量大棚溫濕度,并與上位機連接,實現(xiàn)遠程控制。 485 總線輸出電路的設(shè)計要考慮到線路上的各種干擾及線路特性阻抗的匹配。 由于 RS485 芯片的特性,接收器的檢測靈敏度為177。 485 芯片的軟件編程對產(chǎn)品的可靠性也有很大影響。 在 485 通信的芯片中,尤其要注意對 485 控制端 DE 的軟件編程。單片機采用 C 語言程序,建立模塊化結(jié)構(gòu),各模塊互相獨立,有較高的可靠性和擴展性。 該系統(tǒng)的不足之處在于沒能夠?qū)崿F(xiàn)溫濕度的自動調(diào)節(jié),可以進一步加入溫濕度自動調(diào)節(jié)電路,在當前溫濕度超出作物所需的最適宜條件時,啟動溫濕度調(diào)節(jié)裝置,就可以真正的實現(xiàn)溫濕度的自動控制。 // 該字節(jié)用于保存本機設(shè)備號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。 //定時 50ms num++。 if(key2==0) { 基于單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計32TH。 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 個字節(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ā)命令 write_byte(0x44)。 //發(fā)命令 write_byte(0xbe)。 temp=8。} // 負溫度求補碼,標志位置 1 display[3]=temamp。 // 取中間八位,即整數(shù)部分的值 display[2]=display[3]%100/10。 // 當接收到的上一個字節(jié)為0xdb時,該位置位bit c0 = 0。uchar i。while(!c0) // 循環(huán)直至幀接收完畢{ RI = 0。 if(db == 1) // 接收到的上一個字節(jié)為0xdb { switch(tmp) { case 0xdd: data_buf[i] = 0xdb。 case 0xdc: data_buf[i] = 0xc0。 default return 0。 case 0xdb: // 檢測到轉(zhuǎn)義字符 db = 1。 // 計算校驗字節(jié) i++。 if(data_buf[0] != dev) // 非訪問本機命令,錯誤,返回 return 0。 //設(shè)備號send_byte(84)。 send_byte(46)。 //發(fā)送M:send_byte(58)。send_byte(0x0d)。 // 該字節(jié)用于保存校驗字節(jié)M_DE = 1。send_byte(type)。for(i=0。 buf++。 while(!TI)。 while(!TI)。 break。 TI = 0。 default: // 普通數(shù)據(jù)則直接發(fā)送 TI = 0。 } } /****************主函數(shù)************************/ main() { Disdata=0x00。 LED2=1。 TH1=0x00。 //開 T1 ET0=1。 //Skip ROM write_byte(0x44)。 //百位 B2=number%100/10。 //T0 記時 T1 計數(shù) TH0=0x3c。 TR0=1。 //打開總中斷 { if(recv_cmd(amp。 case __GETDATA_: len = strlen(dbuf)。 switch(type) { case __ACTIVE_: // 主機詢問從機是否存在 send_data(__OK_, 0, dbuf)。 //開 T1 ET0=1。 TH1=0x00。 //個位 num=0。 基于單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計43number=25000/(number500)。 //打開總中斷 ow_reset()。 TR0=1。 //T0 記時 T1 計數(shù) TH0=0x3c。 BEEP=1。 while(!TI)。 while(!TI) TI = 0。 SBUF = 0xdb。 SBUF = 0xdd。 }/* 該函數(shù)發(fā)送一個數(shù)據(jù)字節(jié),若該字節(jié)為0xdb,則發(fā)送0xdbdd,若該字節(jié)為0xc0則,發(fā)送0xdbdc */void send_byte(uchar da){switch(da){ case 0xdb: // 字節(jié)為0xdb,發(fā)送0xdbdd TI = 0。 // 發(fā)送校驗字節(jié)基于單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計41 TI = 0。 i++) // 發(fā)送數(shù)據(jù){ send_byte(*buf)。send_byte(len)。send_byte(dev)。} /* 該函數(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ù)send_byte(ASCii[B2])。基于單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計40send_byte(32)。 send_byte(ASCii[display[2]])。 // 獲得命令字 return 1。 } /* 判斷幀是否錯誤 */ if(i4) // 幀過短,錯誤,返回 return 0。基于單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計39 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。 }基于單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計37///////////////////////////////////////////////////////////////////////////////////void READSTATUS() interrupt 0 using 1 // 產(chǎn)生外部中斷 0時表示設(shè)備狀態(tài)發(fā)生改變,該函數(shù)使用寄存器組1{get_status()。 // 取小數(shù)部分的值 display[0]=ditab[display[3]]。 // 兩字節(jié)合成一個整型變量 return temp。 //讀溫度值的第字節(jié) temp_data[1]=read_byte()。 ow_reset()。 基于單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計36 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。 //延時 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_
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1