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

正文內(nèi)容

畢業(yè)設(shè)計-基于單片機的智能溫室溫濕度控制系統(tǒng)的(編輯修改稿)

2025-01-08 19:06 本頁面
 

【文章內(nèi)容簡介】 ***************************************** void nRF24L01_TxPacket(unsigned char * tx_buf) { CE=0; StandBy I 模式 SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); 裝載接收端地址 SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH); 裝載數(shù)據(jù) SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e); IRQ 收發(fā)完成中斷響應(yīng), 16位 CRC,主發(fā)送 CE=1; 置高 CE,激發(fā)數(shù)據(jù)發(fā)送 inerDelay_us(10); } *************************主函數(shù) *************************** void main(void) { uchar temp =0; init_NRF24L01(); nRF24L01_TxPacket(TxBuf); Transmit Tx buffer data Delay(6000); while(1) { read_TRH(); nRF24L01_TxPacket(TxBuf); Transmit Tx buffer data Delay(10000); 可變 SPI_RW_Reg(WRITE_REG+STATUS,0XFF); flag=0; } } char receive() { unsigned char i; ST=0; _data=0; for(i=0; i=7; i++) { respond=2; while((!TRH)amp。amp。respond++); delay_us(); delay_us(); delay_us(); if(TRH) { temp=1; respond=2; while((TRH)amp。amp。respond++); } else temp=0; _data=1; _data|=temp; } return(_data); } ****************************************************** ****************************************************** 濕度讀取子程序 溫度高 8 位 == TL_data 溫度低 8 位 == TH_data 濕度高 8 位 == RH_data 濕度低 8 位 == RH_data 校驗 8 位 == CK_data 調(diào)用的程序有 delay(); , Delay_5us(); ,RECEIVE(); **************************************************** void read_TRH() { 主機拉低 18ms TRH=0; delay_ms(18); TRH=1; DATA總線由上拉電阻拉高 主機延時 20us delay_us(); delay_us(); delay_us(); delay_us(); delay_us(); delay_us(); delay_us(); delay_us(); delay_us(); 主機設(shè)為輸入 判斷從機響應(yīng)信號 TRH=1; 判斷 DHT11 是否有低電平響應(yīng)信號 如不響應(yīng)則跳出,響應(yīng)則向下運行 if(!TRH) { respond=2; 判斷 DHT11 發(fā)出 80us 的低電平響應(yīng)信號是否結(jié)束 while((!TRH)amp。amp。 respond++); respond=2; 判斷從機是否發(fā)出 80us 的高電平,如發(fā)出則進(jìn)入數(shù)據(jù)接收狀態(tài) while(TRH amp。amp。 respond++); 數(shù)據(jù)接收狀態(tài) RH_temp = receive(); RL_temp = receive(); TH_temp = receive(); TL_temp = receive(); CK_temp = receive(); TRH=1; ST=1; 數(shù)據(jù)校驗 untemp=(RH_temp+RL_temp+TH_temp+TL_temp); if(untemp==CK_temp) { RH_data = RH_temp; RL_data = RL_temp; TH_data = TH_temp; TL_data = TL_temp; CK_data = CK_temp; } } 濕度整數(shù)部分 TxBuf[0] = (char)(0X30+RH_data10); TxBuf[1] = (char)(0X30+RH_data%10); TxBuf[2] = 0x2e; 小數(shù)點 濕度小數(shù)部分 TxBuf[3] = (char)(0X30+RL_data10); TxBuf[4] = 0X25; % TxBuf[5] = 0X52; R TxBuf[6] = 0X48; H 溫度 整數(shù)部分 TxBuf[7] = (char)(0X30+TH_data10); TxBuf[8] = (char)(0X30+TH_data%10); TxBuf[9] = 0x2e;小數(shù)點 溫度小數(shù)部分 TxBuf[10] = (char)(0X30+TL_data10); TxBuf[11] = 0X27; 39。 TxBuf[12] = 0X43; C } 接收 部分程序 include reg52.();記憶按鍵狀態(tài) void da_in();將按鍵值轉(zhuǎn)化并送入到 DA 中 void dianliu_to_lcd();將按鍵狀態(tài)值送入 LCD void dianya_to_lcd();將按鍵狀態(tài)值送入 LCD void ad();得到 AD采樣的值 void send(unsigned char );向 LCD 發(fā)命令 void senddata(unsigned char dat);向 LCD 發(fā)數(shù)據(jù) void lcd_init(); LCD 初始化 void T_init();定時器初始化 void autosaodianliu(); int od_data,op_data,oz_data; void change(int dat); unsigned char code dianliu1[]={設(shè)置電流: mA}; unsigned char code dianliu2[]={實際電流: mA; sbit sid=P3^6; LCD 串行數(shù)據(jù)輸入端 sbit clk=P3^4; LCD 時鐘輸入端 sbit cs=P3^5; LCD 片選 unsigned char key_button=0; unsigned char key[3],j=0,i=0; KEY 數(shù)組用來存放按鍵按下的值 unsigned int ad1,ad2,advalue;用于取 AD 采樣值 bit flag=0; int d_data,pf_data,t_data; unsigned char z1_data,z2_data; int knum,aa=0,p_data,z_data,t_on; **************************************************** define TX_ADR_WIDTH 5 5 uints TX address width define RX_ADR_WIDTH 5 5 uints RX address width define TX_PLOAD_WIDTH 32 20 uints TX payload define RX_PLOAD_WIDTH 32 20 uints TX payload uint const TX_ADDRESS[TX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}; 本地地址 uint const RX_ADDRESS[RX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}; 接收地址 *******************NRF24L01 寄存器指令 ******************* define READ_REG 0x00 讀寄存器指令 define WRITE_REG 0x20 寫寄存器指令 define RD_RX_PLOAD 0x61 讀取接收數(shù)據(jù)指令 define WR_TX_PLOAD 0xA0 寫待發(fā)數(shù)據(jù)指令 define FLUSH_TX 0xE1 沖洗發(fā)送 FIFO指令 define FLUSH_RX 0xE2 沖洗接收 FIFO 指令 define REUSE_TX_PL 0xE3 定義重復(fù)裝載數(shù)據(jù)指令 define NOP 0xFF 保留 ******************SPI(nRF24L01)寄存器地址 ***************** define CONFIG 0x00 配置收發(fā)狀態(tài), CRC 校驗?zāi)J揭约笆瞻l(fā)狀態(tài)響應(yīng)方式 define EN_AA 0x01 自動應(yīng)答功能設(shè)置 define EN_RXADDR 0x02 可用信道設(shè)置 define SETUP_AW 0x03 收發(fā)地址寬度設(shè)置 define SETUP_RETR 0x04 自動重發(fā)功能設(shè)置 define RF_CH 0x05 工作頻率設(shè)置 define RF_SETUP 0x06 發(fā)射速率、功耗功能設(shè)置 define STATUS 0x07 狀態(tài)寄存器 define OBSERVE_TX 0x08 發(fā)送監(jiān)測功能 define CD 0x09 地址檢測 define RX_ADDR_P0 0x0A 頻道 0 接收數(shù)據(jù)地址 define RX_ADDR_P1 0x0B 頻道 1 接收數(shù)據(jù)地址 define RX_ADDR_P2 0x0C 頻道 2 接收數(shù)據(jù)地址 define RX_ADDR_P3 0x0D 頻道 3 接收數(shù)據(jù)地址 define RX_ADDR_P4 0x0E 頻道 4 接收數(shù)據(jù)地址 define RX_ADDR_P5 0x0F 頻道 5 接收數(shù)據(jù)地址 define TX_ADDR 0x10 發(fā)送地址寄 存器 define RX_PW_P0 0x11 接收頻道 0 接收數(shù)據(jù)長度 define RX_PW_P1
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1