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

正文內(nèi)容

溫室大棚溫濕度控制系統(tǒng)的設(shè)計(jì)畢業(yè)論文(參考版)

2025-06-28 02:37本頁面
  

【正文】 。 //讀取溫度濕度函數(shù) n=2。 } temp=1。send1=send0。 delayms(1)。 } else //否則發(fā)送01 { send0=0。send1=send0。 delayms(1)。x)//如果對(duì)應(yīng)位為1,則發(fā)送011 { send0=0。i8。 temp=0x80。 } temp=1。send1=send0。 delayms(1)。 // 校驗(yàn)位生成 } else //否則發(fā)送01 { send0=0。 delayms(2)。 send0=1。send1=send0。i++) { if(tempamp。 //temp用于取位 for(i=0。void Send(unsigned char x)// 發(fā)送數(shù)據(jù)函數(shù){ unsigned char i。unsigned char Adress=0x01。sbit send1=P1^1。 LCD_Write_Com(0x0C)。 /*顯示清屏*/ LCD_Write_Com(0x06)。 LCD_Write_Com(0x08)。 delayms(5)。 delayms(5)。 /*顯示模式設(shè)置*/ delayms(5)。 } LCD_Write_Data( Data)。 } }/* 寫入字符函數(shù)*/ void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) { if (y == 0) { LCD_Write_Com(0x80 + x)。 //表示第二行 } while (*s) { LCD_Write_Data( *s)。 }/* 寫入字符串函數(shù)*/ void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) { if (y == 0) { LCD_Write_Com(0x80 + x)。 }/* 清屏函數(shù)*/ void LCD_Clear(void) { LCD_Write_Com(0x01)。 _nop_()。 EN_SET。 //忙則等待 RS_SET。 EN_CLR。 DataPort= 。 RW_CLR。 }/* 寫入命令函數(shù)*/ void LCD_Write_Com(unsigned char ) { while(LCD_Check_Busy())。 return (bit)(DataPort amp。 _nop_()。 RW_SET。define RS_CLR RS=0 define RS_SET RS=1define RW_CLR RW=0 define RW_SET RW=1 define EN_CLR EN=0define EN_SET EN=1define DataPort P0/* 判忙函數(shù)*/ bit LCD_Check_Busy(void) { DataPort= 0xFF。 //定義端口 sbit RW = P2^5。 delay500ms()。 irpro_ok=0。 LCD_Write_Char(13,1,display[dat3])。 LCD_Write_Char(7,1,display[dat1])。 } if(irpro_ok) //如果處理好后進(jìn)行工作處理 { LCD_Write_Char(1,1,display[adres1])。//用于顯示溫度濕度單位 while(1)//主循環(huán) { if(irok) //如果接收好了進(jìn)行數(shù)據(jù)處理 { Ircordpro()。%39。)。//右上角點(diǎn) LCD_Write_Char(10,1,39。 //清屏 LCD_Write_String(5,0,RECEIVE)。 //初始化液晶 delayms(20)。 //初始化外部中斷 TIM0init()。} 顯示模塊 初始化LCD1602顯示模塊,設(shè)置8位格式,2行,5*7矩陣顯示,整體顯示,關(guān)光標(biāo),不閃爍設(shè)定輸入方式,增量不移位,清除屏幕顯示,延時(shí)等待,將采集到的溫濕度數(shù)據(jù)進(jìn)行轉(zhuǎn)換,十六進(jìn)制轉(zhuǎn)換成十進(jìn)制,輸入相應(yīng)的地址數(shù)據(jù),延時(shí)等待,輸入需要顯示的數(shù)據(jù)。 } } //x是溫度值 y是濕度值 wendu=(unsigned char) (TH_data )。 TL_data=TL_temp。 RL_data=RL_temp。 untemp=(RH_temp+RL_temp+TH_temp+TL_temp)。 CK_temp=receive()。 TH_temp=receive()。 //數(shù)據(jù)接收 RH_temp=receive()。amp。 respond=2。amp。 //判斷DHT11是否有低電平響應(yīng)信號(hào) 如不響應(yīng)則跳出,響應(yīng)則向下運(yùn)行 if(!TRH) { respond=2。 delay_us()。 delay_us()。 TRH=1。 //主機(jī)拉低18ms TRH=0。 void read(){ unsigned int respond。, Delay_5us()。 } return(_data)。 _data=1。respond++)。 while((TRH)amp。 if(TRH) { temp=1。 delay_us()。respond++)。 while((!TRH)amp。i=7。 unsigned char _data=0。}}}char receive(){ unsigned int i。n115。}void delayms(unsigned int x) // 根據(jù)給定值進(jìn)行延時(shí)子程序{unsigned char n。 i。 i。 i。程序如下:includeunsigned char wendu,shidu。這樣循環(huán)40次,共40位二進(jìn)制數(shù),每八位為一組,其中包括八位濕度整數(shù)位、八位濕度小數(shù)位、八位溫度整數(shù)位,八位溫度小數(shù)位、八位較檢位。然后將電平拉高,等待DHT11響應(yīng),DHT11將電平信號(hào)拉低以示響應(yīng)單片機(jī)信號(hào),而后將電平拉高準(zhǔn)備發(fā)送數(shù)據(jù)信息。 //使能外部中斷 EA = 1。 }/* 外部中斷0初始化*/void EX0init(void){ IT0 = 1。 //初始化值 ET0=1。//定時(shí)器0工作方式2,TH0是重裝值,TL0是初值 TH0=0x00。 初始化子程序 初始化程序主要完成以下功能:當(dāng)系統(tǒng)啟動(dòng)時(shí)確定電磁閥關(guān)閉、程序設(shè)置溫濕度的上下限值的初始值、用于定時(shí)器TTO的初始化、串口中斷的初始化。另外,改變單片機(jī)I/O口輸出電平的高低電平占空比,則可以控制蜂鳴器的聲音大小。因此,我們可以通過程序控制I/O口的電平來使蜂鳴器發(fā)出聲音和關(guān)閉。 圖12 電磁式蜂鳴器蜂鳴器發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅(qū)動(dòng)振動(dòng)膜發(fā)聲的,因此需要一定的電流才能驅(qū)動(dòng)它,單片機(jī)IO引腳輸出的電流較小,單片機(jī)輸出的TTL電平基本上驅(qū)動(dòng)不了蜂鳴器,因此需要增加一個(gè)電流放大的電路。電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動(dòng)膜片及外殼等組成。下圖為單片機(jī)的I/O口通過繼電器驅(qū)動(dòng)電磁閥噴水: 圖11 單片機(jī)通過繼電器驅(qū)動(dòng)電磁閥 當(dāng)濕度過高時(shí),單片機(jī)I/O口通過繼電器驅(qū)動(dòng)風(fēng)扇的電動(dòng)機(jī)使風(fēng)扇運(yùn)轉(zhuǎn)來降低濕度。而為了保護(hù)此三極管的正常工作,還應(yīng)在三極管的輸出端(集電極)加上一個(gè)二極管用來保護(hù)三極管不被過流擊穿。 考慮到單片機(jī)的引腳的驅(qū)動(dòng)能力有限,在本系統(tǒng)中采用了單片機(jī)的I/O口連接三極管的基集控制三極管的通斷,用三極管的集電極電流Ic來驅(qū)動(dòng)控制5V繼電器的吸合,從而控制12V電磁閥的開關(guān),實(shí)現(xiàn)對(duì)植物滴灌的控制,以調(diào)節(jié)濕度。若有按鍵壓下,則轉(zhuǎn)入逐行掃描,同時(shí)檢測列線狀態(tài)。 圖9 鍵盤接線電路RL[0..7]A[8..15]AD[0..7]SL0SL1SL2SL3DEFGDPABC1234658234567A15A8RL0RL1RL2RL311234DPGFEDCBA8279CLK3AD[0..7]A021RES9CS22RD10WR11BD23IRQ4OUT_A027OUT_A126OUT_A225OUT_A324OUT_B031OUT_B130OUT_B229OUT_B328RL[0..7]SL335SL234SL133SL032CTRL/STB37SHIFT36U28279XTAL218XTAL119RST91011121314171615AD[0..7]A[8..15]ALE30EA31PSEN2912345678U1805112A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U574LS13826A95148B07F3CDEABCD1243C110uR110k22pX1CRYSTAL22p 圖10 鍵盤電路按鍵識(shí)別有兩種方法:一是行掃描法,另一種是線反轉(zhuǎn)法。本文采用44式鍵盤陣列通過8各I/O口線識(shí)別16各按鍵。液晶顯示器LCD體積小,質(zhì)量輕,功耗極低。需注意的是當(dāng)模塊進(jìn)入設(shè)置狀態(tài)(SET腳為低),用戶只能發(fā)送一次設(shè)置命令 ,如發(fā)送設(shè)置命令出錯(cuò),或已經(jīng)完成設(shè)置,若需再次設(shè)置必須將SET腳置高,后重新進(jìn)入設(shè)置狀態(tài)。在線軟件設(shè)置是通過模塊的UART/TTL口完成的(4,5PIN)和SET腳完成的,模
點(diǎn)擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1