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

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文-基于nrf24l01無(wú)線數(shù)據(jù)采集-資料下載頁(yè)

2025-11-01 10:06本頁(yè)面

【導(dǎo)讀】摘要為了解決在對(duì)外界環(huán)境數(shù)據(jù)采集時(shí)精度較低和移動(dòng)性較差等問(wèn)題,方便人們對(duì)外界環(huán)境的監(jiān)測(cè),降低對(duì)外界環(huán)境的監(jiān)測(cè)成本。于無(wú)線傳輸模塊NRF24L01為核心的一種無(wú)線數(shù)據(jù)采集系統(tǒng)。重點(diǎn)介紹了各個(gè)模塊軟件和硬。件的設(shè)計(jì)和實(shí)現(xiàn)方式。

  

【正文】 度,踏實(shí)的學(xué)習(xí)作風(fēng),并認(rèn)真的學(xué)習(xí)了單片機(jī)的 C 語(yǔ)言編程 、 Visual Basic 環(huán)境下的串口編程等知識(shí),為 我后續(xù)階段論文的設(shè)計(jì)提供了扎實(shí)的理論基礎(chǔ)。 李老師 不但 用其嚴(yán)謹(jǐn) 的治學(xué)態(tài)度、深邃的 思考問(wèn)題 的 方法和恰當(dāng)?shù)臑?人處事方式深深地感染了我,而且在學(xué)習(xí)和生活方面也都給予我耐心 的指導(dǎo)和無(wú)微不至的關(guān)懷。 感謝在此期間幫助過(guò)我、關(guān)心過(guò)我、賦予我知識(shí)的老師和同學(xué)。 衷心 感謝 實(shí)踐創(chuàng)新基地的 朋友 們 以及我的室友楊金澎、邱南柱和 董飛飛在論文設(shè)計(jì)期間對(duì)我的關(guān)心和幫助。 最后 請(qǐng)讓我 深深感謝 在 百忙之中抽 出 時(shí)間參加論文評(píng)審和答辯的領(lǐng)導(dǎo)和老師們。 30 附 錄 課題研究用到的主要程序: /************************************************************* **************************LCD 模塊相關(guān)函數(shù) *********************/ void write_cmd(uchar cmd)// 寫(xiě)指令 { while(lcd_bz()) 。 rs = 0 。 rw = 0 。 en= 0 。 P1 = cmd 。 en = 1 。 en = 0 。 } void write_addr(uchar addr)//寫(xiě)地址 { write_cmd(addr|0x80) 。 } void write_byte(uchar dat)//寫(xiě)數(shù)據(jù) { while(lcd_bz()) 。 rs = 1 。 rw = 0 。 en = 0 。 P1 = dat 。 en = 1 。 en = 0 。 } void lcd_init()// lcd 初始化 { delay(15)。 //延時(shí) 15ms write_cmd(0x38)。 delay(5)。 //延時(shí) 5ms write_cmd(0x38)。 delay(10)。 write_cmd(0x38) 。 //顯示模式設(shè)置 delay(1)。 write_cmd(0x08) 。 //顯示關(guān)閉 delay(1)。 write_cmd(0x01) 。 //顯示清屏 delay(1)。 write_cmd(0x06) 。 //顯示光標(biāo)移動(dòng)設(shè)置 delay(1)。 31 write_cmd(0x0c) 。 //顯示及光標(biāo)設(shè)置 delay(1)。 } /***************************lcd 相關(guān)函數(shù)書(shū)寫(xiě)完畢 ******************/ /*******************************DHT11 相關(guān)函數(shù)實(shí)現(xiàn) *****************/ void start()//開(kāi)始信號(hào) { DHT11_dat=1。 delay1()。 DHT11_dat=0。 delay(20)。//一般要大于 18ms DHT11_dat=1。 delay1()。//在 2040us 之間 delay1()。 delay1()。 delay1()。 delay1()。 } uchar receive_byte()//采集一個(gè)字節(jié)數(shù)據(jù) { uchar i,temp,count。 for(i=0。i8。i++) { count=2。 while((!DHT11_dat)amp。amp。count++)//等待 50us 低電平結(jié)束 temp=0。 delay1()。 delay1()。 delay1()。 delay1()。 if(DHT11_dat==1)temp=1。 count=2。 while((DHT11_dat)amp。amp。count++)。 if(count==1)break。 //超時(shí)則跳出 for 循環(huán) //判斷數(shù)據(jù)位是 0 還是 1 // 如果高電平高過(guò)預(yù)定 0 高電平值則數(shù)據(jù)位為 1 data_byte=1。 data_byte|=temp。 //0 } return data_byte。 } void receive()//接收溫濕度數(shù)據(jù)函數(shù)子程序 { uchar T_H,T_L,R_H,R_L,check,num_check。 uchar count。 32 start()。//開(kāi)始信號(hào) DHT11_dat=1。 if(!DHT11_dat)//讀取 DHT11 響應(yīng)信號(hào) { count=2。 while((!DHT11_dat)amp。amp。count++)。//DHT11 高電平 80us 是否結(jié)束 count=2。 while((DHT11_dat)amp。amp。count++)。 R_H=receive_byte()。 ///濕度 ; R_L=receive_byte()。 T_H=receive_byte()。 ///溫度; T_L=receive_byte()。 check=receive_byte()。 ///讀取校驗(yàn); DHT11_dat=0。//拉低延時(shí) 50us delay1()。 delay1()。 delay1()。 delay1()。 delay1()。 DHT11_dat=1。 num_check=R_H+R_L+T_H+T_L。 //和校驗(yàn) if(num_check=check) { RH=R_H。 RL=R_L。 TH=T_H。 TL=T_L。 check=num_check。 } } } /************************DHT11 相關(guān)函數(shù)實(shí)現(xiàn)完畢 ***************/ /********************串 口相關(guān)函數(shù) ************************/ //發(fā)送一個(gè)字符 void send_char( uchar cha) { SBUF=cha。 P0=cha。 delay(2020)。 while (TI== 0)。 TI= 0 。 ES=1。 } /*************************串口相關(guān)函數(shù)書(shū)寫(xiě)完畢 ***************/ /******************************主函數(shù) ***************************/ 33 void main() { uchar i=0。 P0=0xff。 init_serial()。 lcd_init()。 if(flag==1) //等于 1 說(shuō)明,已經(jīng)收到數(shù)據(jù) { flag= 0 。 //取數(shù)標(biāo)志清 0 while(1) { temp[0]=RH。 temp[1]=TH+60。 //數(shù)據(jù)分離 receive()。 delay(100)。 display(0x00,39。R39。) 。 display(0x01,39。:39。)。 display(0x02,RH/10+0x30)。 display(0x03,RH%10+0x30)。 display(0x04,39。%39。)。 display(0x40,39。T39。) 。 display(0x41,39。:39。)。 display(0x42,TH/10+0x30)。 display(0x43,TH%10+0x30)。 display(0x44,39。.39。)。 display(0x45,TL+0x30)。 display(0x46,0xdf)。 display(0x47,0x43)。 for(i=0。i2。i++) { ES=0。 send_char(temp[i])。 } } } } void serial() interrupt 4 { dat=SBUF。 RI=0。 //如果不置 0,那就退不 出中斷了,因?yàn)榻邮胀曜詈笠晃缓?RI 就由硬件置 1; flag=1。 //標(biāo)志位 }
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1