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

正文內(nèi)容

基于單片機(jī)的無線溫度遠(yuǎn)程采集監(jiān)測報警器的設(shè)計畢業(yè)論文(設(shè)計)(更新版)

2025-09-03 18:47上一頁面

下一頁面
  

【正文】 第二版 ).北京 : 化學(xué)工業(yè)出版社 20xx 14 附錄一 原理圖 圖 1 發(fā)射端電路圖 15 圖 2 接收端電路圖 16 附錄二 部分系統(tǒng)程序源代碼 include //調(diào)用單片機(jī)頭文件 define uchar unsigned char //無符號字符型 宏定義 變量范圍 0~255 define uint unsigned int //無符號整型 宏定義 變量范圍 0~65535 include sbit dq = P2^6。j++)。 //把總線拿高 等待 17 delay_uint(10)。 //把總線拿低寫時間隙開始 dq = dat amp。i++) { dq = 0。 //在讀取溫度的時候如果中斷的太頻繁了,就應(yīng)該把中斷給關(guān)了,否則會影響到 18b20 的時序 init_18b20()。 low = read_18b20()。 // 無線模塊 IO 口初始化 SCK=0。 Transmit(Tx_Buf)。 } } 。 delay_1ms(100)。 TX_Mode()。 //讀溫度高字節(jié) EA = 1。 //跳過 64 位 ROM write_18b20(0x44)。 //讀數(shù)據(jù)是低位開始 dq = 1。 //向 18b20 總線寫數(shù)據(jù)了 delay_uint(5)。 //讀取 18b20 初始化信號 delay_uint(20)。 } /***********************18b20 初始化函數(shù) *****************************/ void init_18b20() { bit q。 //溫度變量 sbit led = P2^7。在本次研究中,程序通過不斷的檢查、修改,對實(shí)際動手編寫有深切的感悟。 圖 51 接收端接收到數(shù)據(jù)并顯示在 LCD1602 上 當(dāng)人工設(shè)置溫度范圍為 10℃至 25℃時,當(dāng)前溫度超過所設(shè)上下值 ,蜂鳴器報警同時指示燈閃爍,如圖 52 所示。測試 DS18B20 部分硬件及軟件部分是否好使。再把發(fā)送端待發(fā)射數(shù)據(jù)的目標(biāo)地址 TX— ADDR 與數(shù)據(jù) TX— PLD 寫入 nRF24L01 緩沖區(qū),延時后發(fā)射數(shù)據(jù),其流程圖如圖 44所示。 圖 42 接 收部分總體流程圖 開始 初始化 判斷接收中 斷 從 RX_FIF0 buffer 讀數(shù)據(jù) 轉(zhuǎn)換為十進(jìn) 制 數(shù)碼管顯示 10 子程序設(shè)計 單片機(jī)對 NRF24L01 無線模塊以及 DS18B20 進(jìn)行初始化之后,從 DS18B20 讀取溫度數(shù)據(jù)。這樣,即便于調(diào)試,鏈接 , 又 方便 移植 、 修改。如圖 36 所示。溫度無線傳輸采用 NRF24L01 無線模塊, nRF24L01 單端匹配網(wǎng)絡(luò):晶振,偏置電阻,去耦電容。像這樣的傳感器僅僅只需一條數(shù)據(jù)線就可以進(jìn)行數(shù)據(jù)的傳輸。 表 21 nRF24L01 工作模式 模式 PWR_UP PRIM_RX CE FIFO 寄存器狀態(tài) 接收模式 1 1 1 發(fā)射模式 1 0 1 數(shù)據(jù)在 TX FIFO 寄存器中 發(fā)射模式 1 0 1→0 停留在發(fā)送模式,直至數(shù)據(jù)發(fā)送完 待機(jī)模式 2 1 0 1 TX_FIFO 為空 待機(jī)模式 1 1 0 無數(shù)據(jù)傳輸 掉電 0 DS18B20 溫度傳感器 DS18B20 是 單線數(shù)字溫度傳感 ,體積小,適用電壓更寬而且更加經(jīng)濟(jì)實(shí)惠,測溫范圍為55176。如果采用外部時鐘源驅(qū)動器件, XTAL2 應(yīng)當(dāng)不接。 復(fù)位電路是完成單片機(jī)工作開始狀態(tài),確保單片機(jī)啟動的過程。 STC89C52 支持兩種軟件可以選擇的節(jié)電模式。接收端電路圖參照附錄一圖 2。 ( 5)報警電路:當(dāng)溫度超過所設(shè)上下限時,蜂鳴器報警。綜上考慮, DS18B20 作為本設(shè)計的溫度傳感器。 使用 DS18B20線路簡單,編程容易 , 具有耐磨耐碰,體積小,使用方便 。由于空間大、需 要傳輸?shù)臄?shù)據(jù)較多,使用傳統(tǒng)的有線數(shù)據(jù)傳輸方式就需要很多很長的通訊線,浪費(fèi)資源,占用空間大,可操作性差,容易出現(xiàn)錯誤換線的現(xiàn)象。本文設(shè)計一主機(jī)一從機(jī),從機(jī)監(jiān)測環(huán)境周圍溫度,主機(jī)顯示當(dāng)前監(jiān)測到的環(huán)境溫度值。有權(quán)將論文(設(shè)計)用于非贏利目的的少量復(fù)制并允許論文(設(shè)計)進(jìn)入學(xué)校圖書館被查閱。 作者簽名: 日期: 畢業(yè)論文(設(shè)計)授權(quán)使用說明 本論文(設(shè)計)作者完全了解 **學(xué)院有關(guān)保留、使用畢業(yè)論文(設(shè)計)的規(guī)定,學(xué)校有權(quán)保留論文(設(shè)計)并向相關(guān)部門送交論文(設(shè)計)的電子版和紙質(zhì)版。本系統(tǒng)以 STC89C52 單片機(jī)為控制核心,利用溫度傳感器 DS18B20 完成溫度的采集和數(shù)據(jù)的處理, nRF24L01 實(shí)現(xiàn)環(huán)境溫度的無線傳輸。 在工業(yè)中,由于生產(chǎn)環(huán)境的好壞,工作人員不能在現(xiàn)場較長時間的觀測設(shè)備是否有運(yùn)行正常,就需要將采集到的數(shù)據(jù)傳輸?shù)揭粋€環(huán)境相對好的操控室中,這樣就會產(chǎn)生數(shù)據(jù)傳輸?shù)膯栴}。 1 系統(tǒng)總體設(shè)計方案 本設(shè)計采用 價格便宜、操作簡便,低功耗的 AT89S52 單片機(jī)作為主控芯片。而 DS18B20 體積小,使用方便 、經(jīng)濟(jì)實(shí)惠。 ( 4)顯示電路:顯示當(dāng)前所測得的溫度。同時程序可以設(shè)定上下限報警溫度。 STC89C52 具有以下標(biāo)準(zhǔn)功能: 8K 字節(jié)的 Flash, 256 字節(jié)的 RAM, 32 位 I / O 線,看門狗定時器,兩個數(shù)據(jù)指針,三個 十六 位定時器 /計數(shù)器,一 個 六 向量二級中斷結(jié)構(gòu) ,全雙工串行口,片內(nèi)振蕩器和時鐘電路。連接方式為單片機(jī)中的 40 腳 VCC 接正極 5V,而 20 腳 VSS 接電源地端。XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出,反向放大器可以配置為 片內(nèi)振蕩器。 nRF24L01 可以通過配置寄存器配置為 發(fā)射、接收、空閑及掉電 這 四種工作模式 ,具體如表 21 所示。 DS18B20 測量的精度高,電路的連接相對簡單,多個 DS18B20 可以并聯(lián)至 3 根或2 根端口線上,并且 CPU 只需要一根線就能夠和多個 DS18B20 進(jìn)行通信,其占用的微處理器端口比較少,可以節(jié)約較多的引線與邏輯電路。 nRF24L01 作為單片射頻收發(fā)芯片。設(shè)置鍵控制溫度上 下限的選擇,加減鍵調(diào)節(jié)溫度的上下限值。 (2)各 個 功能 的 程序?qū)崿F(xiàn)模塊化。如果有就從 FIFO_buffer 讀入二進(jìn)制數(shù)據(jù),然后將數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制在數(shù)碼管上顯示出來,其流程圖如圖 42 所示。在發(fā)射數(shù)據(jù)的時后,要首先將 nRF24L01 配置成發(fā)射模式。再 將其中一片 STC89C52 與四位數(shù)碼管及溫度傳感器 DS18B20 相連,寫入測量溫度的程序。如果將溫度上下限調(diào)為 10℃至 30℃時, LCD1602 顯示當(dāng)前監(jiān)測到的溫度,如圖 51 所示。單片機(jī)的語言編程理論知識并不深奧,但在實(shí)際編程中沒那么簡單,更多需要融入個人的編程思路和 算法。 //18b20 IO 口的定義 uint temperature 。 } /***********************小延時函數(shù) *****************************/ void delay_uint(uint q) { while(q)。 //110us q = dq。 0x01。 //把總線拿低讀時間隙開始 value = 1。 //初始化 18b20 write_18b20(0xcc)。 //讀溫度低字節(jié) value = read_18b20()。 19 CSN=1。 led =
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1