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

正文內(nèi)容

基于mcu無線溫度傳感畢業(yè)設(shè)計(參考版)

2025-06-23 12:32本頁面
  

【正文】 N39。default:break。case 4: nbtl=38400。case 3: nbtl=19200。case 2: nbtl=9600。39case 1: nbtl=4800。//組合框得到波特率選項switch(nbtl)//波特率的幾種參數(shù){case 0: nbtl=2400。int nport=()+1。//關(guān)閉串口m_onoff=FALSE。//將開啟串口按鈕由灰變亮GetDlgItem(IDC_BUTTON_CLOSE)EnableWindow(FALSE)。,8,1,m_dwCommEvents,512),其中主要的參數(shù) nport 為串口號,nbtl 為波特率,利用串口設(shè)置對話框中的串口號和波特率兩個組合框分別得到初始化函數(shù)中的 nport 和 nbtl。}}}38} 無 線 溫 度 采 集 軟 件 設(shè) 計 串 口 設(shè) 置串口設(shè)置對話框是利用 CSERIALPORT 類中的初始化函數(shù) InitPort (this,nport,nbtl,39。if(count==5){mode=0。}if(mode==1){tempbj[count]=js。){mode=1。 if(js==39。 if (RI) { RI = 0 。 //查詢法 TI = 0。}//***通過串口向 PC 發(fā)送************************************************void R_S_Byte(uchar R_Byte){37 SBUF = R_Byte。 //Enable Serial Interrupt PCON = 0x00。 TL1 = 0xFA。 TMOD = 0x20。當 MFC 發(fā)送報警溫度上下限時,單片機采用中斷的方式逐一接收,并采用開頭“$”符號作為通信的開始標志。led3=1。 //個位led3=0。led2=1。 //十位36led2=0。led1=1。 //小數(shù)位led1=0。led0=1。 //Cled0=0。 LED 數(shù) 碼 管 顯 示把接收到的溫度數(shù)據(jù)存放在 temp[]數(shù)組,然后通過 disdignit()函數(shù)顯示出來。 接 收 部 分 軟 件 設(shè) 計首先初始化 NRF24L01 無線模塊,開啟串口,設(shè)置 4800 的波特率。led3=1。led3=0。led2=1。led2=0。led1=1。led1=0。led0=1。led0=0。} LED 數(shù) 碼 管 顯 示把數(shù)據(jù)處理之后,在 dispaly()顯示相應的值,通過 seg[dispaly]數(shù)組顯示對應數(shù)據(jù)。delay1(40)。P0=seg[ dispaly[2]]。34delay1(40)。P0=seg1[dispaly[1]]。delay1(40)。P0=seg[dispaly[0]]。delay1(40)。}//********溫度顯示****************************************************void disdignit(){P0=0xC6。}if(n) //負值時顯示 a,正直顯示 c{dispaly[3]=0x11。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。 //個位switch (temp_data[0]amp。 //dispaly[2]=dispaly[4]/10。dispaly[5]=dispaly[6]/100。0xf0)4)|((temp_data[1]amp。n=1。if(temp_data[1]127) //第一位是符號位{temp_data[1]=(256temp_data[1])。 //跳躍 ROM 指令write_byte(0x44)。 //只讀前兩個字節(jié),一二兩個字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)信息ds_reset()。 //從 RAM 中讀數(shù)據(jù)temp_data[0]=read_byte()。write_byte(0xcc)。return(value1)。 delay1(9)。_nop_()。_nop_()。DQ=1。_nop_()。_nop_()。value1=1。_nop_()。i0。uchar value1=0。delay1(1)。 value=1。0x01。_nop_()。_nop_()。_nop_()。_nop_()。i) / /8 位數(shù)據(jù)一位一位寫{ DQ=1。for(i=8。 //存在脈沖,60240us 低電平信號}DQ=1。30 } delay1(64)。 //復位電平結(jié)束后,將數(shù)據(jù)單總線拉高delay1(9)。delay1(80)。_nop_()。while(temp){ while(temp){ DQ=1。 最 后 發(fā) 送 RAM 指 令 , 這 樣 才 能 對 DSl8B20 進 行 預 定 的 操 作 。 溫 度 傳 感 DS18B20對 DSl8B20 進 行 操 作 , 首 先 通 過 調(diào) 用 ds_reset()函數(shù)對 DS18B20 進 行 復 位 。具體如下圖所示:28 實時數(shù)據(jù)曲線圖29第三章 軟件設(shè)計報告 單 片 機 軟 件 設(shè) 計 發(fā) 送 部 分 軟 件 設(shè) 計單片機對 NRF24L01 無線模塊以及 DS18B20 進行初始化之后,從 DS18B20 讀取溫度數(shù)據(jù)。通過曲線圖,可以觀測到溫度的變化,作出具體的數(shù)據(jù)圖,便于分析。如圖所示實例,超過35攝氏度或者低于25攝氏度都會報警。雙擊,:25 無線溫度采集軟件主界面圖首先點擊選擇串口設(shè)置,選擇相應的串口號和波特率之后,然后點擊“開啟串口”按鈕,即初始化串口設(shè)備。該電路由蜂鳴器組成,具體電路如圖所示。延時 17μS SETB DQ NOP DJNZ R1,WR18201 。延時 17μS RRC A MOV DQ,C 。 以 要 把 單 片 機 A中 的 數(shù) 據(jù) 發(fā) 給 DS18B20為 例 , 程 序 代 碼 如 下 : WR1820:CLR C ;發(fā)送 1 個字節(jié) MOV R1,8WR18201:CLR DQ 。延時 42μS寫操作: 寫操作時序?qū)?時 隙 需 要 15~ 75 μ s, 且 在 2次 獨 立 的 寫 時 隙 之 間 至 少 需 要 1μ s的 恢 復時 間 。產(chǎn)生讀信號 NOP NOP MOV R7,1 LCALL DELAY15 。 程 序 代 碼 如 下 :RD1820:CLR C MOV R1,2 MOV R0,TEMPLSB 。 DSl8820在 讀 時 隙 開 始 15μ s后 開 始 采 樣 總 線 電 平 。發(fā)送復位脈沖 MOV R7,33 ;延時 497μ LCALL DELAY15 SETB DQ MOV R7,4 ;延時 62μ LCALL DELAY15 CLR FLAG ;DS18B20 應答標記 JB DQ,RET1 ;判斷 DS18B20 應答 SETB FLAG MOV R7,28 LCALL DELAYA15 ;延時 422μ SETB DQRET1:RET讀操作: 讀操作時序讀 時 隙 需 15~ 60 μ s, 且 在 2次 獨 立 的 讀 時 隙 之 間 至 少 需 要 1 μ s的 恢 復時 間 。 單 片 機 從 發(fā) 送 完 復 位 脈 沖 到 再 次 控 制 總 線 至 少 要 等 待 480 μ s。DS18B20在 接 受 到 復 位 脈 沖 后 等 待 15~ 60μ s才 發(fā) 出 應 答 脈 沖 。 單 片 機 先 發(fā) 一 個 復 位 脈 沖 , 保 持 低 電 平 時 間 最 少 480μ s, 最多 不 能 超 過 960μ s。 在 寄 生 工 作 方 式 時 必 須在 發(fā) 出 此 指 令 后 立 刻 超 用 強 上 拉 并 至 少 保 持 500MS, 來 維 持 芯 片 工 作 。Convert T( 溫 度 轉(zhuǎn) 換 ) [44H]收 到 此 指 令 后 芯 片 將 進 行 一 次 溫 度 轉(zhuǎn) 換 , 將 轉(zhuǎn) 換 的 溫 度 值 放 入 RAM 的 第 2 地 址 。Read Scratchpad ( 從 RAM 中 讀 數(shù) 據(jù) ) [BEH]此 指 令 將 從 RAM 中 讀 數(shù) 據(jù) , 讀 地 址 從 地 址 0 開 始 , 一 直 可 以 讀 到 地 址 9,完 成 整 個 RAM 數(shù) 據(jù) 的 讀 出 。 當 主 機 收 到 DSl8B20 的 響 應 信 號 后 , 便 可 以 發(fā) 出 ROM 操 作 命 令 之 一 , 這 些命 令 如 下 :指 令 代 碼 代 碼Skip ROM( 跳 躍 ROM 指 令 ) [CCH]這 條 指 令 使 芯 片 不 對 ROM 編 碼 做 出 反 應 , 在 單 總 線 的 情 況 之 下 , 為 了 節(jié) 省時 間 則 可 以 選 用 此 指 令 。 如 執(zhí) 行 數(shù) 據(jù) 讀 寫 指 令 則 需 要 嚴 格 遵 循 18B20 的 讀 寫 時 序 來 操 作 。 ( 5) 執(zhí) 行 或 數(shù) 據(jù) 讀 寫 : 一 個 存 儲 器 操 作 指 令 結(jié) 束 后 則 將 進 行 指 令 執(zhí) 行 或數(shù) 據(jù) 的 讀 寫 , 這 個 操 作 要 視 存 儲 器 操 作 指 令 而 定 。 操 作 指 令 同 樣 為 8 位 ,共 6 條 , 存 儲 器 操 作 指 令 分 別 是 寫 RAM 數(shù) 據(jù) 、 讀 RAM 數(shù) 據(jù) 、 將 RAM 數(shù)據(jù) 復 制 到 EEPROM、 溫 度 轉(zhuǎn) 換 、 將 EEPROM 中 的 報 警 值 復 制 到 RAM、 工作 方 式 切 換 。 誠 然 , 單 總 線 上 可以 同 時 掛 接 多 個 器 件 , 并 通 過 每 個 器 件 上 所 獨 有 的 ID 號 來 區(qū) 別 , 一 般只 掛 接 單 個 18B20 芯 片 時 可 以 跳 過 ROM 指 令 ( 注 意 : 此 處 指 的 跳 過ROM 指 令 并 非 不 發(fā) 送 ROM 指 令 , 而 是 用 特 有 的 一 條 “跳 過 指 令 ”) 。 ROM指 令 為 8 位 長 度 , 功 能 是 對 片 內(nèi) 的 64 位 光 刻 ROM 進 行 操 作 。 如 果 復 位 低 電 平 的 時 間 不 足 或 是 單 總 線 的 電路 斷 路 都 不 會 接 到 存 在 脈 沖 , 在 設(shè) 計 時 要 注 意 意 外 情 況 的 處 理 。 ( 2) 存 在 脈 沖 : 在 復 位 電 平 結(jié) 束 之 后 , 控 制 器 應 該 將 數(shù) 據(jù) 單 總 線 拉 高 ,20以 便 于 在 15~60uS 后 接 收 存 在 脈 沖 , 存 在 脈 沖 為 一 個 60~240uS 的 低電 平 信 號 ???制 器 對 18B20操 作 流 程 : ( 1) 復 位 : 首 先 我 們 必 須 對 DS18B20 芯 片 進 行 復 位 , 復 位 就 是 由 控 制 器( 單 片 機 ) 給 DS18B20 單 總 線 至 少 480uS 的 低 電 平 信 號 。 第 9 個 字 節(jié) 為 前 8 個 字 節(jié) 的 CRC 碼 。 第 5 個 字 節(jié) 則 是 用 戶第 3 個 EEPROM 的 鏡 像 。 第 2 個 字 節(jié) 是 溫 度 轉(zhuǎn)換 后 的 數(shù) 據(jù) 值 信 息 , 第 4 個 字 節(jié) 是 用 戶 EEPROM( 常 用 于 溫 度 報 警值 儲 存 ) 的 鏡 像 。 DS18B20 共 64 位 ROM。 18B20 共 有 三 種 形 態(tài) 的存 儲 器 資 源 , 它 們 分 別 是 : ( 1) ROM 只 讀 存 儲 器 , 用 于 存 放 DS18B20ID 編 碼 , 其 前 8 位 是 單 線 系列 編 碼 ( DS18B20 的 編 碼 是 19H) , 后 面 48 位 是 芯 片 唯 一 的 序 列 號 , 最后 8 位 是 以 上 56 的 位 的 CRC 碼 ( 冗 余 校 驗 ) 。 其 一 個 工 作 周 期 可 分 為 兩 個 部 分 , 即 溫 度 檢 測 和 數(shù) 據(jù) 處 理 。 與 目前 多 數(shù) 標 準 串 行 數(shù) 據(jù) 通 信 方 式 ,如 SPI/ IIC/ MICROWIRE 不 同 ,它 采 用 單 根 信號 線 ,既 傳 輸 時 鐘 ,又 傳 輸 數(shù) 據(jù) ,而 且 數(shù) 據(jù) 傳 輸 是 雙 向 的 。 例 如 +125℃ 的 數(shù) 字 輸 出 為 07D0H, +℃ 的 數(shù) 字 輸 出 為 0191H, ℃ 的 數(shù) 字 輸
點擊復制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1