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

正文內(nèi)容

實驗室溫濕度監(jiān)控系統(tǒng)設(shè)計-畢業(yè)論文-文庫吧

2025-09-04 09:20 本頁面


【正文】 NOS20RXD4TXD3U1CH340TCH340TVCC5GNDVCC1D2D+3NC4GND5USBVCC5GND103 C21 2Y112MHz22pC322pC4GND104 C1300R1D11 23 4U2CON2X2TXDRXD 圖 28 USB 轉(zhuǎn)串口 模塊原理圖 四、 系統(tǒng)軟件設(shè)計 (一)程序設(shè) 計 總體 思路 軟件部分的設(shè)計思路是將整個程序劃分 3 個 部分, 溫濕度采集及數(shù)據(jù) 無線發(fā)射部分, 數(shù)據(jù) 接收部分, 上位機顯示數(shù)據(jù)部 分。 第 9 頁 軟件流程如圖 41 所示,開始先是系統(tǒng)的初始化,初始化完成之后 接收模塊會一直處于待命狀態(tài)一直循環(huán)等待無線端接收的數(shù)據(jù), 數(shù)據(jù)采集節(jié)點 實時監(jiān)測溫濕 度,并把溫 濕 度發(fā)射給 數(shù)據(jù)接收端 ,接收到溫 濕 度數(shù)據(jù)后,進行 校驗, 處理后并通過 串口發(fā)送給上位機, 顯示實時溫 濕 度 數(shù)據(jù) 。 圖 41 軟件整體流程 各個系 統(tǒng)初始化 接收模塊接收數(shù)據(jù) 校驗數(shù)據(jù) 分析數(shù)據(jù) 上位機顯示數(shù)據(jù) 是否收到數(shù)據(jù) 是 否 第 10 頁 (二)溫 濕 度傳感器軟件設(shè)計 DHT11 的內(nèi)部 存儲器有一個高速暫存 RAM。高速暫存 RAM 的結(jié)構(gòu)為 8字節(jié)的存儲器。第 1字節(jié)和第 2字節(jié)為測得的溫度的低位和高位,第 3 字節(jié)和第 4 字節(jié)是 TH 和 TL 的拷貝,是易失的,每次上電復(fù)位時被刷新。第 5 字節(jié)為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,它的第 7位 TM 是測試模式位,用于設(shè)置 DHT11 在工作模式還是在測試模式;第 6 位 R1和第 5位 R0 決定溫度轉(zhuǎn)換的精度,即用來設(shè)置分辨率,分辨率越高,轉(zhuǎn)換時間就越長。 當符號位 S=0 時,表示測得的溫度為正值,可直接將二進制轉(zhuǎn)換為十進制;當符號位 S=1 時,表示測得的溫度為負值 ,要先將補碼變成原碼,再計算十進制。 在采用 12位轉(zhuǎn)換精度時,溫度寄存器里的值是以 為步進的,即把把溫度寄存器里的二進制值乘以 ,就是實際的溫度值,例如 0550H =1360 ℃ /LSB =85℃。 的通信協(xié)議 該通信協(xié)議定義了幾種信號類型:復(fù)位脈沖、應(yīng)答脈沖時隙;寫“ 0”、寫“ 1”時隙;讀“ 0”,讀“ 1”時隙;。與 DHT11 的通信,是通過操作時隙完成單總線上的數(shù)據(jù)傳輸。發(fā)送所有的命令和數(shù)據(jù)時都是字節(jié)的低位在前,高位在后。 1)初始化序列: 復(fù)位和應(yīng)答脈沖 單總線上的所有通信都是以初始化序列開始,包括:主機發(fā)出的復(fù)位脈沖及從機的應(yīng)答脈沖,如圖 5所示。當從機發(fā)出響應(yīng)主機的應(yīng)答脈沖時,即向主機表 第 11 頁 圖 42 復(fù)位 /應(yīng)答 時隙的示意圖 明它處于總線上,且工作準備就緒。在主機初始化過程,主機通過拉低單總線至少 480us,以產(chǎn)生( Tx) 復(fù)位脈沖。接著,主機釋放總線,并進入接收模式( Rx)。 當總線被釋放后, 5k上拉電阻將單總線拉高。在單總線器件檢測到上升 沿后,延時 1560 us,接著通過拉低總線 60240us,以產(chǎn)生應(yīng)答脈沖。 2)寫時隙 存在兩種寫時隙:寫“ 1”和寫“ 0”。 主機采用寫 1 時隙向從機寫入 1, 而 圖 43主機讀 /寫時隙的示意圖 采用寫 0 時隙向從機寫入 0。 所有寫時隙至少需要 60us,且在兩次獨立的寫時隙之間至少需要 1u s的恢復(fù)時間。兩種寫時隙均起始于主機拉低總線(圖 6所示)。 第 12 頁 產(chǎn)生寫 1 時隙的方式:主機在拉低總線后接著必須在 15 us之內(nèi)釋放總線,由 5k 上拉電阻將總線拉至高電平;而產(chǎn)生寫 0 時隙的方式:在主機拉低總線后,只需 在整個時隙期間保持低電平即可(至少 60us)。 在寫時隙起始后 1560us期間 ,單總線器件采樣總線電平狀態(tài)。如果在此期間采樣為高電平,則邏輯 1被寫入該器件;如果為 0, 則寫入邏輯 0。 3)讀時隙 單總線器件僅在主機發(fā)出讀時隙時,才向主機傳輸數(shù)據(jù),所以,在主機發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時隙,以便從機能夠傳輸數(shù)據(jù),所有讀時隙至少需要 60u s,且在兩次獨立的讀時隙之間至少需要 1us的恢復(fù)時間。每個讀時隙都由主機發(fā)起,至少拉低總線 1us(圖 6 所示)。在主機發(fā)起讀時隙 之后單總線器件才開始在總線上發(fā)送 0 或 1。 通過上述原理,可通過其 onewire總線對其進行配置和數(shù)據(jù)通信,設(shè)計的讀出溫度子程序主要功能是讀出 RAM中的 9字節(jié),在讀出時需進行 CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。 其軟件流程如圖 44所示。 圖 44 讀出溫 濕 度子程序軟件流程圖 DHT11 初始化 啟動溫濕度轉(zhuǎn)換 等待轉(zhuǎn)換完成 發(fā)送讀取指令 獲取對應(yīng)數(shù)據(jù) 第 13 頁 DHT11的各個命令對時序的要求特別嚴格,所以在軟件設(shè)計時必須按照所要求的時序才能達到預(yù)期的目的,同時,要注意讀進來的是高位在后低位在前,共有 12位數(shù),小數(shù) 4位,整數(shù) 7位,還有一位符號位。 第 14 頁 ( 三 )無線通信模塊 RF24L01 軟件設(shè)計 初 始 化 配 置 為發(fā) 送 模 式裝 載 接 收 端 地 址裝 載 接 收 端 數(shù) 據(jù)配 置 發(fā) 送 設(shè) 置 寄 存器CE置 高 , 激 發(fā) 數(shù) 據(jù)發(fā) 送 圖 45 NRF24L01 發(fā)送程序流程圖 RF24L01走 的是標準的 SPI協(xié)議 ,操作是按照 SPI協(xié)議 的標準讀寫數(shù)據(jù) 。如圖 45所示,發(fā)射數(shù)據(jù)時,首先將 nRF24L01配置為發(fā)射模式:接著把接收節(jié)點地址 TX_ADDRESS和有效數(shù)據(jù) TX_PLOAD按照時序由 SPI口寫入 nRF24L01緩存區(qū),然后CE置為高電平并保持至少 10μ s,延遲 130μ s后發(fā)射數(shù)據(jù) 。若自動應(yīng)答開啟,那么nRF24L01在發(fā)射數(shù)據(jù)后立即進入接收模式,接收應(yīng)答信號(自動應(yīng)答接收地址應(yīng)該與接收節(jié)點地址 TX_ADDRESS一致)。如果收到應(yīng)答,則認為此次通信成功, TX_DS 第 15 頁 置高,同時 TX_PLOAD從 TX FIFO中清除 。若發(fā)送堆棧中無數(shù)據(jù)且 CE為高,則進入空閑模式。 以下 是 發(fā)送 子程序 : //***************NRF24L01 初始化 void init_NRF24L01(void) { inerDelay_us(100)。 CE=0。 // chip enable CSN=1。 // Spi disable SCK=0。 // Spi clock line init high SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH)。 // 寫本地地址 SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH)。 // 寫接收端地址 SPI_RW_Reg(WRITE_REG + EN_AA, 0x01)。 // 頻道 0自動 ACK應(yīng)答允許 SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01)。 // 允許接收地址只有頻道 0,如果需要多頻道可以參考 Page21 SPI_RW_Reg(WRITE_REG + RF_CH, 0)。 // 設(shè)置信道工作為,收發(fā)必須一致 SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH)。 //設(shè)置接收數(shù)據(jù)長度,本次設(shè)置為 4 字節(jié) SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07)。 //設(shè)置發(fā)射速率為1Mkbps,發(fā)射功率為最大值 0dB } /*函數(shù): void nRF24L01_TxPacket(unsigned char * tx_buf) /*功能:發(fā)送 tx_buf中數(shù)據(jù) 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ù) 第 16 頁 SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e)。 // IRQ 收發(fā)完成中斷響應(yīng), 16 位 CRC,主發(fā)送 CE=1。 //置高 CE,激發(fā)數(shù)據(jù)發(fā)送 inerDelay_us(10)。 } 初 始 化 配 置接 收 模 式循 環(huán) 判 斷 數(shù) 據(jù) 接 收狀 況將 接 收 數(shù) 據(jù) 讀 取 至緩 存 中接 收 后RX_DR,TX_DS,MAX_PT都 置 高 為 1, 并清 除 中 斷 標 志 圖 46 RF24L01 接收程序流程圖 如圖 46所示,接收數(shù)據(jù)時 ,首先將 nRF24L01 配置為接收模式,接著延遲 130μ s 進入接收狀態(tài)等待數(shù)據(jù)的到來。當接收方檢測到有效的地址和 CRC 時,就將數(shù)據(jù)包存儲在 RX FIFO 中,同時中斷標志位 RX_DR 置高, IRQ 變低,產(chǎn)生中斷,通知 MCU 去取數(shù)據(jù)。若此時自動應(yīng)答開啟,接收方則同時進入發(fā)射狀態(tài)回傳應(yīng)答信號。最后接收成功時,若 CE 變低,則 nRF24L01 進入空閑模式。以下 是 接收 函數(shù): /*函數(shù): unsigned char nRF24L01_RxPacket(unsigned char* rx_buf) /*功能:數(shù)據(jù)讀取后放如 rx_buf接收緩沖區(qū)中 unsigned char nRF24L01_RxPacket(unsigned char* rx_buf) 第 17 頁 { unsigned char revale=0。 sta=SPI_Read(STATUS)。 // 讀取狀態(tài)寄存其來判斷數(shù)據(jù)接收狀況 if(RX_DR) // 判斷是否接收到數(shù)據(jù) { CE = 0。 SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH)。// read receive payload from RX_FIFO buffer revale =1。 //讀取數(shù)據(jù)完成標志 } SPI_RW_Reg(WRITE_REG+STATUS,sta)。 //接收到數(shù)據(jù)后RX_DR,TX_DS,MAX_PT 都置高為 1,通過寫 1 來其清除中斷標志 return revale。 } (四) 上位機 部分軟件設(shè)計 上位機采用 C語言編寫,流程如下: 圖 47 上位機顯示 程序流程 串口收到數(shù)據(jù) 校驗收的數(shù)據(jù) 分析數(shù)據(jù)是哪個采樣點的 分別顯示 第 18 頁 結(jié) 論 畢業(yè)設(shè)計是本專業(yè)教學(xué)中最后一個重要的實踐性教學(xué)環(huán)節(jié),是我們從學(xué)校走向工作崗位必要的過渡階段。對我個人而言,畢業(yè)設(shè)計是我大學(xué)四年學(xué)習(xí)的總結(jié)與檢驗,是大學(xué)四年所學(xué)知識的綜合運用的體現(xiàn)。此次畢業(yè)設(shè)計鞏固了我所學(xué)理論,增強了理論聯(lián)系實際的能力,更是為以后的工作打下了更堅實的基礎(chǔ)。 本次畢業(yè)設(shè)計采用單片機 STM8S003F3P6 為控制器,用溫 濕 度傳感器DHT11 來檢測室內(nèi)溫 濕 度 ,用 NRF24L01 來傳輸數(shù)據(jù), 用 C上位機 來實時顯示當前的 溫濕度 。調(diào)試結(jié)果表明系統(tǒng)能夠達到預(yù)定目標。 第 19 頁 致 謝 本論文是在 XX 導(dǎo)師的悉心指導(dǎo)之下完成的,四年來,導(dǎo)師淵博的專業(yè)知識,嚴謹?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,樸實無華、平易近人的人格魅力對我影響深遠。本論文從選題到完成,幾易其稿,每一步都是在導(dǎo)師的指導(dǎo)下完成的,傾注了導(dǎo)師大量的心血,在此我向我的導(dǎo)師表示深切的謝意與祝福!同時我還得感謝做畢業(yè)設(shè)計以來一直幫助我的同學(xué)和朋友,因為之前全身心準備考研,在專業(yè)技能的訓(xùn)練和提升上我都有比較大的欠缺,因而這次畢業(yè)設(shè)計對我來說就是重新學(xué)習(xí)和應(yīng)用單片機的知識,使用單片機 來做些簡單的應(yīng)用系統(tǒng)設(shè)計。作為新手我當然少不了遇到這樣或那樣的問題,無論是硬件焊接、硬件調(diào)試,還是軟件的調(diào)試,在我查資料或多次調(diào)試都未能理解相關(guān)知識或者有效解決問題時,我都能及時得到同學(xué) 們 的幫助。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1