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

正文內(nèi)容

養(yǎng)雞場的智能監(jiān)控系統(tǒng)設(shè)計(jì)-資料下載頁

2024-10-08 04:36本頁面

【導(dǎo)讀】外界四季變化和惡劣氣候?qū)ζ溆绊懙那疤?。主要?nèi)容有:通過數(shù)字溫濕度傳感器DHT11采集實(shí)時溫、濕度。通過光敏電阻采集實(shí)時光照度。通過氣體傳感器MQ-2檢測室內(nèi)。是否有某種氣體濃度過量。了實(shí)時地、連續(xù)地檢測、直觀地顯示??朔藗鹘y(tǒng)的人工測量方法不能進(jìn)。單片機(jī);溫濕度傳感器;光敏電阻;氣體傳感器;LCD。

  

【正文】 /************************************** 發(fā)送應(yīng)答信號 入口參數(shù) :ack (0:ACK 1:NAK) **************************************/ void BH1750_SendACK(bit ack) { SDA = ack。 //寫應(yīng)答信號 24 SCL = 1。 //拉高時鐘線 Delay5us()。 //延時 SCL = 0。 //拉低時鐘線 Delay5us()。 //延時 } /************************************** 接收應(yīng)答信號 **************************************/ bit BH1750_RecvACK() { SCL = 1。 //拉高時鐘線 Delay5us()。 //延時 CY = SDA。 //讀應(yīng)答信號 SCL = 0。 //拉低時鐘線 Delay5us()。 //延時 return CY。 } /************************************** 向 IIC 總線發(fā)送一個字節(jié)數(shù)據(jù) **************************************/ void BH1750_SendByte(BYTE dat) { BYTE i。 for (i=0。 i8。 i++) //8 位計(jì)數(shù)器 { dat = 1。 //移出數(shù)據(jù)的最高位 SDA = CY。 //送數(shù)據(jù)口 SCL = 1。 //拉高時鐘線 Delay5us()。 //延時 SCL = 0。 //拉低時 鐘線 Delay5us()。 //延時 } BH1750_RecvACK()。 } /************************************** 從 IIC 總線接收一個字節(jié)數(shù)據(jù) **************************************/ BYTE BH1750_RecvByte() { BYTE i。 BYTE dat = 0。 SDA = 1。 //使能內(nèi)部上拉 ,準(zhǔn)備讀取數(shù)據(jù) , for (i=0。 i8。 i++) //8 位計(jì)數(shù)器 { dat = 1。 SCL = 1。 //拉高時鐘線 Delay5us()。 //延時 dat |= SDA。 //讀數(shù)據(jù) SCL = 0。 //拉低時鐘線 25 Delay5us()。 //延時 } return dat。 } //********************************* void Single_Write_BH1750(uchar REG_Address) { BH1750_Start()。 //起始信號 BH1750_SendByte(SlaveAddress)。 //發(fā)送設(shè)備地址 +寫信號 BH1750_SendByte(REG_Address)。 //內(nèi)部寄存器地址,請參考中文 pdf22 頁 // BH1750_SendByte(REG_data)。 //內(nèi)部寄存器數(shù)據(jù),請參考中文 pdf22 頁 BH1750_Stop()。 //發(fā)送停止信號 } //********************************************************* // //連續(xù)讀出 BH1750 內(nèi)部數(shù)據(jù) // //********************************************************* void Multiple_read_BH1750(void) { uchar i。 BH1750_Start()。 //起始信號 BH1750_SendByte(SlaveAddress+1)。 //發(fā)送設(shè)備地址 +讀信號 for (i=0。 i3。 i++) //連續(xù)讀取 6 個地址數(shù)據(jù),存儲中 BUF { BUF[i] = BH1750_RecvByte()。 //BUF[0]存儲 0x32 地址中的數(shù)據(jù) if (i == 3) { BH1750_SendACK(1)。 //最后一個數(shù)據(jù)需要回 NOACK } else { BH1750_SendACK(0)。 //回應(yīng) ACK } } BH1750_Stop()。 //停止信號 Delay5ms()。 } //初始化 BH1750,根據(jù)需要請參考 pdf 進(jìn)行修改**** void Init_BH1750() { Single_Write_BH1750(0x01)。 26 } endif ifndef _DHT11_H define _DHT11_H void Delay(U16 z) { U8 x,y。 for(x=z。x0。x) for(y=110。y0。y)。 } void delay_10us() { U8 i。 i。 i。 i。 i。 i。 i。 } void COM(void) //數(shù)據(jù) 0 1 確認(rèn) { U8 i。 for(i=0。i8。i++) { U8FLAG=2。 while((!P1_0)amp。amp。U8FLAG++)。 //1bit 是否結(jié)束 delay_10us()。 delay_10us()。 delay_10us()。 U8temp=0。// 26us~28us 表示為 0 if(P1_0)U8temp=1。 // 超過 28us依然為高電平 表示為 1 U8FLAG=2。 while((P1_0)amp。amp。U8FLAG++)。 if(U8FLAG==1)break。//U8FLAG 溢出超時則跳出 for 循環(huán) //判斷數(shù)據(jù)位是 0 還是 1 // 如果高電平高過預(yù)定 0 高電平值則數(shù)據(jù)位為 1 U8data=1。 U8data|=U8temp。 } } void RH(void) //濕溫度讀取 子程序 { P1_0=0。 Delay(34)。 //主機(jī)拉低高于 18ms P1_0=1。 //總線由上拉電阻 拉高 主機(jī)延時 20us delay_10us()。 27 delay_10us()。 delay_10us()。 delay_10us()。 P1_0=1。//主機(jī)設(shè)為輸入 判斷從機(jī)響應(yīng)信號 if(!P1_0)//判斷從機(jī)是否有低電平響應(yīng)信號 如不響應(yīng)則跳出,響應(yīng)則向下運(yùn)行 { U8FLAG=2。 while((!P1_0)amp。amp。U8FLAG++)。// 判斷從機(jī)是否發(fā)出 80us 的低電平響應(yīng)信號是否結(jié)束 U8FLAG=2。 while((P1_0)amp。amp。U8FLAG++)。//判斷從機(jī)是否發(fā)出 80us 的高電平, 如發(fā)出則進(jìn)入數(shù)據(jù)接收狀態(tài) COM()。//數(shù)據(jù)接收狀態(tài) U8RH_data_H_temp=U8data。 //濕度整數(shù) 8 位 COM()。 U8RH_data_L_temp=U8data。 //濕度小數(shù) 8 位 COM()。 U8T_data_H_temp=U8data。 //溫度整數(shù) 8 位 COM()。 U8T_data_L_temp=U8data。 //溫度小數(shù) 8 位 COM()。 U8checkdata_temp=U8data。 //校驗(yàn)位 P1_0=1。 U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp)。 if(U8temp==U8checkdata_temp)//數(shù)據(jù)校驗(yàn) 正確執(zhí)行 { U8RH_data_H=U8RH_data_H_temp。 U8RH_data_L=U8RH_data_L_temp。 U8T_data_H=U8T_data_H_temp。 U8T_data_L=U8T_data_L_temp。 U8checkdata=U8checkdata_temp。 } } } endif ifndef _MAIN_H define _MAIN_H typedef unsigned char U8。 typedef unsigned int U16。 U8 code table2[]= TEM HUM 。 U8 code table3[]= . . 。 sbit P1_0 = P2^1 。 sbit RS=P1^0。 sbit RW=P1^1。 sbit E=P1^2。 28 U8 U8FLAG,k。 U8 U8temp。 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。 U8 U8data。 endif
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1