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

正文內(nèi)容

倉庫多點無線采集系統(tǒng)的設(shè)計-資料下載頁

2025-08-02 14:03本頁面

【導讀】制好倉庫環(huán)境的溫濕度是極其必要的。本設(shè)計研究如何對煙草倉庫進行無線多點。該系統(tǒng)分為主機和從機模塊,從機可以把溫濕度、的熱釋電信號進行防盜報警。

  

【正文】 ******************************************************************/ /**************延時 x毫秒 ******************/ void delayms(uint x) { uchar y。 for(。x0。x) for(y=111。y0。y)。 } //延時 void DelayDH(uint j) { uint a,b。 for(b=j。b0。b) for(a=47。a0。a)。 } //延時 void Delay_10usDH(void) { uchar a,b。 for(b=1。b0。b) for(a=2。a0。a)。 } void write_(uchar ) //向液晶寫指令函數(shù) { 24 lcdrs=0。 P0=。 delayms(1)。 lcden=1。 delayms(1)。 lcden=0。 } void write_data(uchar date) //向液晶寫數(shù)據(jù)函數(shù) { lcdrs=1。 P0=date。 delayms(1)。 lcden=1。 delayms(1)。 lcden=0。 } void init() //液晶初始化函數(shù) { lcdrw=0。 lcden=0。 write_(0x38)。 write_(0x0c)。 write_(0x06)。 write_(0x01)。 } void display(uchar TH,uchar TL,uchar RH,uchar RL) { write_(0x80+0x00)。 write_data(39。B39。)。 write_(0x80+0x02)。 write_data(table[TH/10])。//顯示溫度整數(shù) write_data(table[TH%10])。 write_data(39。.39。)。 write_data(table[TL/10])。//顯示溫度小數(shù) write_(0x80+0x07)。 write_data(table[RH/10])。//顯示溫度整數(shù) write_data(table[RH%10])。 write_data(39。.39。)。 write_data(table[RL/10])。//顯示溫度小數(shù) write_data(39。%39。)。 } //初始化 void COM(void) { uchar i。 for(i=0。i8。i++) { U8FLAG=2。 while((!DATADH)amp。amp。U8FLAG++)。 Delay_10usDH()。 Delay_10usDH()。 U8temp=0。 if(DATADH)U8temp=1。 U8FLAG=2。 while((DATADH)amp。amp。U8FLAG++)。 //超時則跳出 for循環(huán) 25 if(U8FLAG==1)break。 //判斷數(shù)據(jù)位是 0還是 1 // 如果高電平高過預(yù)定 0高電平值則數(shù)據(jù)位為 1 U8data=1。 U8data|=U8temp。 //0 }//rof } //濕度讀取子程序 void Du(void) { //主機拉低 18ms DATADH=0。 DelayDH(180)。 DATADH=1。 //總線由上拉電阻拉高 主機延時 20us Delay_10usDH()。 Delay_10usDH()。 Delay_10usDH()。 Delay_10usDH()。 //主機設(shè)為輸入 判斷從機響應(yīng)信號 DATADH=1。 //判斷從機是否有低電平響應(yīng)信號 如不響應(yīng)則跳出,響應(yīng)則向下運行 if(!DATADH) //T ! { U8FLAG=2。 //判斷從機是否發(fā)出 80us 的低電平響應(yīng)信號是否結(jié)束 while((!DATADH)amp。amp。U8FLAG++)。 U8FLAG=2。 //判斷從機是否發(fā)出 80us 的高電平,如發(fā)出則進入數(shù)據(jù)接收狀態(tài) while((DATADH)amp。amp。U8FLAG++)。 //數(shù)據(jù)接收狀態(tài) COM()。 U8RH_data_H_temp=U8data。 COM()。 U8RH_data_L_temp=U8data。 COM()。 U8T_data_H_temp=U8data。 COM()。 U8T_data_L_temp=U8data。 COM()。 U8checkdata_temp=U8data。 DATADH=1。 //數(shù)據(jù)校驗 U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp)。 if(U8temp==U8checkdata_temp) { 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。 } } } /****************************************************************************** 26 ********************** /*函數(shù): uint SPI_RW(uint uchar) /*功能: NRF24L01的 SPI讀寫時序 /****************************************************************************************************/ uchar SPI_RW(uchar date) { uint bit_ctr。 for(bit_ctr=0。bit_ctr8。bit_ctr++) // output 8bit { MOSI = (date amp。 0x80)。 // output 39。date39。, MSB to MOSI date = (date 1)。 // shift next bit into MSB.. SCK = 1。 // Set SCK high..上升沿給出數(shù)據(jù) date |= MISO。 // capture current MISO bit SCK = 0。 // ..then set SCK low again 下降沿讀回數(shù)據(jù) } return(date)。 // return read date } /**************************************************************************************************** /*函數(shù): uchar SPI_Read(uchar reg) /*功能: NRF24L01的 SPI讀時序 reg為寄存器地址 /****************************************************************************************************/ uchar SPI_Read(uchar reg) { uchar reg_val。 CSN = 0。 // CSN low, initialize SPI munication... SPI_RW(reg)。 // Select register to read from.. reg_val = SPI_RW(0)。 // ..then read registervalue CSN = 1。 // CSN high, terminate SPI munication return(reg_val)。 // return register value } /****************************************************************************************************/ /*功能: NRF24L01寫寄存器函數(shù) /****************************************************************************************************/ void SPI_RW_Reg(uchar reg, uchar value) { CSN = 0。 // CSN low, init SPI transaction SPI_RW(reg)。 // select register SPI_RW(value)。 // ..and write value to it.. CSN = 1。 // CSN high again } /****************************************************************************************************/ /*函數(shù): uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars) /*功能 : 用于讀數(shù)據(jù), reg:為寄存器地址, pBuf:為待讀出數(shù)據(jù)地址, uchars:讀出數(shù)據(jù)的個數(shù) /****************************************************************************************************/ uchar SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars) { uchar status,uchar_ctr。 27 CSN = 0。 // Set CSN low, init SPI tranaction status = SPI_RW(reg)。 // Select register to write to and read status uchar for(uchar_ctr=0。uchar_ctruchars。uchar_ctr++) pBuf[uchar_ctr] = SPI_RW(0)。 // CSN = 1。 return(status)。 // return nRF24L01 status uchar } /********************************************************************************************************* /*函數(shù): uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars) /*功能 : 用于寫數(shù)據(jù):為寄存器地址, pBuf:為待寫入數(shù)據(jù)地址, uchars:寫入數(shù)據(jù)的個數(shù) /*********************************************************************************************************/ void SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars) { uint uchar_ctr。 CSN = 0。 //SPI使能 SPI_R
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1