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

正文內(nèi)容

基于nrf905的無線測溫系統(tǒng)畢業(yè)論文(文件)

2025-07-15 18:01 上一頁面

下一頁面
 

【正文】 8B20發(fā)送控制字啟動采集,又可以發(fā)送控制字讀取數(shù)據(jù)。原理圖如圖6。 第4章 無線測溫軟件系統(tǒng)設(shè)計 編程時采用模塊化的設(shè)計思想,系統(tǒng)中各主要的模塊均編寫成獨立的函數(shù),在主函數(shù)中加以調(diào)用,程序主要由以下幾個功能模塊構(gòu)成:上電初始化程序、溫度采集程序、數(shù)據(jù)發(fā)送接受程序、數(shù)碼顯示程序。這些程序編寫的質(zhì)量直接關(guān)系到整個系統(tǒng)的性能,也對整個系統(tǒng)的軟件上層各部分的設(shè)計的便利性也有很大的影響。 應用層 應用層主要完成具體功能的實現(xiàn),對無線測溫模塊而言,應用層就是實現(xiàn)溫度測量及無線傳輸?shù)木唧w功能。 無線發(fā)送程序流程圖如下圖所示:將工作模式設(shè)為standby和SPI模式 開 始寫TX有效數(shù)據(jù) DR=1?數(shù)據(jù)發(fā)送完畢并進入standby模式 結(jié) 束 NO YES 數(shù)據(jù)發(fā)送流程圖 LED驅(qū)動子程序設(shè)計 在無線測溫系統(tǒng)中,采用了4位數(shù)碼管動態(tài)掃描,它將4為數(shù)碼管的段線相應地并接到一起,并接到STC89C52RC的P0口,由P0口控制段選的輸出,這樣對于一組數(shù)碼管動態(tài)掃描顯示需要兩組信號控制:一組是字段輸出口輸出的字形代碼,用來控制顯示的字形,稱為段碼;另一組是由位選輸出口輸出的控制信號,用來選擇第幾位數(shù)碼管工作,稱為位選。 程序的具體過程如下: (1) DS18B20的初始化 (2) 獲得溫度數(shù)據(jù)子程序GetTemp發(fā)出溫度轉(zhuǎn)換命令,然后延時一段時間,再發(fā)出讀溫度命令,再調(diào)用讀程序,讀出兩字節(jié)。完整程序見光盤。本系統(tǒng)是通過單片機控制無線傳輸來實現(xiàn)對周圍環(huán)境的溫度進行測量和傳輸,它是以STC89C52RC單片機為控制單元,以溫度傳感器DS18B20為檢測器件,以無線收發(fā)模塊NRF905完成數(shù)據(jù)的無線傳輸,用數(shù)碼管進行顯示,實現(xiàn)溫度的測量、無線傳輸、顯示。由于本人水平有限,同時又由于時間的限制,本系統(tǒng)有很多細節(jié)方面不能夠做到非常完善。 走的最快的總是時間,來不及感嘆,大學生活已近尾聲,四年多的努力與付出,隨著本次論文的完成,將要劃下完美的句號。各位任課老師認真負責,在他們的悉心幫助和支持下,我能夠很好的掌握和運用專業(yè)知識,并在設(shè)計中得以體現(xiàn),順利完成畢業(yè)論文。在畢業(yè)設(shè)計的這段時間里,他們給了我很多的啟發(fā),提出了很多寶貴的意見,對于他們幫助和支持,在此我表示深深地感謝!感謝崔興華同學,在我陷入格式修改的困境中給予我很及時的幫助,感謝他。[M].北京:高等教育出版社,2006.[3][5]楊路明.C語言程序設(shè)計教程(第2版)[7]白駒珩,雷曉平.單片計算機及其應用.[M].成都:電子科技大學出版社,1997.[13]陳小鐘,黃寧,[M].北京:人民郵電出版社,2005[18]周月霞,孫傳友.DS18B20硬件連接及軟件編程,傳感器世界,2001:13~21Haykin,MachaelMalley,BobMultiChannelLaboratorySingleTransceiveruchar dispaly[7]。BYTE_BIT0) != 0)sbit flag =DATA_BUF^7。 //0~~9段碼uchar seg1[10]={0x40,0x4F,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}。//sbit MISO=P1^6。//sbit AM=P1^4。//數(shù)碼管位選sbit led3=P2^0。//函數(shù)申明void delay1(uint i)。void read_temp()。//延時static void delay(uchar n){ uint i。}//SPI寫函數(shù)void SpiWrite(unsigned char send){ unsigned char i。i++) { if (DATA7) //總是發(fā)送最高位 { MOSI=1。 SCK=0。 // Init DR for input AM=0。 // Set nRF905 in standby mode TXEN=0。 // Write config mand寫放配置命令 for (i=0。 // Disable Spi}//打包待發(fā)送的數(shù)據(jù)void TxPacket(void){ uchar i。 // Write payload mand for (i=0。 delay(1)。i4。 // Set TRX_CE high,start Tx data transmission delay(1)。 TXEN=1。 }}//數(shù)據(jù)發(fā)送void TX(void){ SetTxMode()。i0。_nop_()。 DQ=1。 temp=~DQ。i0。 DQ=0。_nop_()。 delay1(9)。}//DS1820讀函數(shù)uchar read_byte(void){ uchar i。i){ DQ=1。 DQ=0。_nop_()。_nop_()。} DQ=1。 write_byte(0xbe)。 write_byte(0xcc)。 //負值 temp_data[0]=(256temp_data[0])。0x0f)4)。 //十位 dispaly[1]=dispaly[4]%10。 case 0x0e:dispaly[0]=9。 case 0x0c:dispaly[0]=8。 case 0x0a:dispaly[0]=6。 case 0x08:dispaly[0]=5。 case 0x06:dispaly[0]=4。 case 0x04:dispaly[0]=3。 case 0x02:dispaly[0]=1。 case 0x00:dispaly[0]=1。 // }else dispaly[3]=0x22。i++) { P0=0xC6。 P0=seg[dispaly[0]]。 P0=seg1 [dispaly[1]]。 P0=seg[ dispaly[2]]。 } }}void main(void){ nRF905Init()。 write_byte(0xcc)。 delay1(500)。define DATA7 ((DATA_BUFamp。//define TxRxBuf_Len 4unsigned char TxRxBuffer[TxRxBuf_Len]。BYTE_BIT0) != 0)sbit flag =DATA_BUF^7。 TX()。 while(1) { read_temp()。 delay1(500)。 delay1(40)。 delay1(40)。 delay1(40)。 delay1(40)。// if(temp[0]) { for(i=0。 default:break。 case 0x01:dispaly[0]=1。 case 0x03:dispaly[0]=2。 case 0x05:dispaly[0]=3。 case 0x07:dispaly[0]=4。 case 0x09:dispaly[0]=6。 case 0x0b:dispaly[0]=7。 case 0x0d:dispaly[0]=8。0x0f) //小數(shù)位 { case 0x0f:dispaly[0]=9。 //百位 dispaly[4]=dispaly[6]%100。 } dispaly[6]=((temp_data[0]amp。}//溫度換算處理void work_temp(){ uchar n=0。 temp_data[1]=read_byte()。}//讀取溫度void read_temp(){ ds_reset()。 if(DQ) value1|=0x80。 _nop_()。_nop_()。_nop_()。for(i=8。} DQ=1。 DQ=valueamp。_nop_()。_nop_()。 }////DS1820寫函數(shù)void write_byte(uchar value){ uchar i。 temp=DQ。 DQ=0。 }//DS1820復位函數(shù)void ds_reset(void){ char temp=1。// Send data by nRF905 CheckCD()。 // delay1 for mode change(=650us)}//unsigned char CheckCD(void) //Pin檢查是否已存在 同頻率載波{ if (CD==1) { return 1。 TRX_CE=0。 } CSN=1。 // Spi enable for write a spi mand SpiWrite(WTA)。i++) { SpiWrite(dispaly[i])。 CSN=0。i++)
點擊復制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1