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

正文內(nèi)容

基于modbus協(xié)議的通訊系統(tǒng)(參考版)

2024-12-08 04:39本頁面
  

【正文】 ⑶ 隨著 信息高速發(fā)達(dá) ,已經(jīng)有更加優(yōu)化的通訊如: 嵌入式工業(yè)以太網(wǎng)網(wǎng)絡(luò)通信、 zigbee 無線網(wǎng)絡(luò)通信、 wifi 無線網(wǎng)絡(luò)通信等等 ; 關(guān)于通訊 我們需要 面向未來 繼續(xù)努力 。 不足和展望 雖然此次設(shè)計(jì)經(jīng)過調(diào)試運(yùn)行已經(jīng)基本達(dá)到了預(yù)期的效果,運(yùn)行結(jié)果表明該裝置在技術(shù)上有一定的可靠性,但是由于作者本身的研究經(jīng)驗(yàn)和其它客觀條件的限制,設(shè)計(jì)中難免存在許多有待進(jìn)一步開發(fā)改進(jìn)的地方,另外尚有許多理論問題和工程應(yīng)用問題需要進(jìn)一步的探索和研究,就研究和發(fā)展?fàn)顩r來看今后仍需在以下幾個(gè)方面努力: ⑴ 溫度采集方面由于 DS18B20 芯片的局限性精確度不能達(dá)到一定的高度。 ⑶ 設(shè)計(jì)了一個(gè)基于 Modus 通訊協(xié) 議的單片機(jī)通信系統(tǒng)。 ⑵ 較詳細(xì)地分析了 Modus 協(xié)議的基本內(nèi)容和工作原理, 在實(shí)現(xiàn) Modbus 通信協(xié)議的基礎(chǔ)上為了預(yù)防干擾,提高系統(tǒng)穩(wěn)定性,防止系統(tǒng)程序跑飛而造成不可預(yù)測(cè)的錯(cuò)誤等,在軟件方面做出了一些優(yōu)化系統(tǒng)設(shè)計(jì) 。 本次設(shè)計(jì)功能基本實(shí)現(xiàn): A 機(jī)通過無線模塊控制 B 機(jī)實(shí)現(xiàn)溫度或者時(shí)鐘顯示 實(shí)現(xiàn)短距離無線通訊 , B 機(jī)還做為從機(jī)通過 Modbus 與 PC機(jī)通訊,將從 A 機(jī)無線獲得的時(shí)鐘信號(hào)和 溫度信號(hào)傳輸給上位機(jī)顯示 實(shí)現(xiàn)長距離有線通訊 。 串口主機(jī)( PC 機(jī))顯示 本次設(shè)計(jì)沒有進(jìn)行上位機(jī)編程,而是通過串口調(diào)試工具來看看數(shù)據(jù) 有沒有有效地進(jìn)行傳輸串口調(diào)試結(jié)果如圖 62 所示: Rs232485 B 機(jī) 5v 電池盒 A機(jī) 5v 電池盒 A 機(jī) B 機(jī) 串口線 數(shù)碼管顯示 18B20 溫度感器 24l01 無線模塊 24l01 無線模塊 按鍵模塊 1620 液晶顯示 MAX232 芯片 MAX485 芯片 52 單片機(jī) 圖 63 PC機(jī)顯示 我們發(fā)送: [01][03][01][00][01][00][25][C0] 注釋:讀從機(jī)溫度 [01][03][02][00][01][00][DD][AA] 注釋:讀從機(jī)時(shí)鐘的小時(shí) [01][03][03][00][01][00][8C][CA] 注釋:讀從機(jī)時(shí)鐘的分鐘 串口接收 : [01][03][02][00][AC][25][C0] 注釋:溫度值回應(yīng)給主機(jī) ( ℃)[01][03][02][00][0B][DD][AA] 注釋:小時(shí)值回應(yīng)給主機(jī)( 8 小時(shí)) [01][03][02][00][24][8C][CA] 注釋:分鐘值回應(yīng)給主機(jī)( 48 分鐘) 03 對(duì)應(yīng)讀度模擬寄存器功能; [D5]、 [08]、 [30]就是分別發(fā)送三次命令后讀出的模擬量;轉(zhuǎn)化為十進(jìn)制后為 213 代表 ℃; 8 代表 8 小時(shí); 48 代表 48 分鐘。 B 機(jī)主要有:數(shù)碼管顯示模塊、 52 單片機(jī)芯片、 18B20 溫度傳感器、 NRF24L01 無線模塊、 5v 電池 。 實(shí)物整體外觀 實(shí)物主要分為 A 機(jī)、 B 機(jī)、 Rs232485 三個(gè)模塊 。除此之外還介紹了 A 機(jī)流程圖和說明、 B 機(jī)流程圖和說明 。另外數(shù)碼管顯示部分和無線部分處理分別使用 Timer0 中斷和無線接收中斷。 程序 流程圖如 54 所示: 檢查 Uart0 數(shù)據(jù)開始 設(shè)備地址、偶校正確否? CRC 校驗(yàn)正確? 接受地址偏移寄存器清零 偶校驗(yàn)清零 結(jié)束 功能碼為03 否? N N N:結(jié)束或看是否為其它功能 Y Y Y 讀取保存寄存器開始 讀取接收的邏輯地址 讀取地址長度 對(duì)接收緩沖區(qū)做 CRC校驗(yàn) 對(duì)應(yīng)邏輯地址處理數(shù)據(jù),需要將溫度、時(shí)鐘的時(shí)、分等 數(shù)據(jù)對(duì)應(yīng)給發(fā)送緩沖區(qū) 將設(shè)備地址、命令號(hào)、返回字節(jié)數(shù)對(duì)應(yīng)給發(fā)送緩沖區(qū) 對(duì)緩沖區(qū)數(shù)據(jù)進(jìn)行 CRC 計(jì)算 開始發(fā)送緩沖區(qū)第一個(gè)數(shù)據(jù) 圖 54 A機(jī)流程圖 B 機(jī)流程圖 和說明 B 機(jī)的功能是 依據(jù) A 機(jī)命令使它顯示溫度還是時(shí)鐘,在主機(jī)( PC 機(jī))命令下再把溫度和時(shí)鐘信號(hào)通過 Modbus 協(xié)議基于 485 接口響應(yīng)讀取給主機(jī)。 在這里我們對(duì) 從機(jī)( B機(jī))發(fā)來的 溫度,時(shí)鐘 數(shù)據(jù) 進(jìn)行處理 ; 處理完后 再 把這些數(shù)據(jù)和設(shè)備地址、命令號(hào)、返回字節(jié)數(shù)回 應(yīng)給發(fā)送緩沖區(qū),再對(duì)緩沖區(qū)數(shù)據(jù)進(jìn)行 CRC 校驗(yàn)計(jì)算。 接下來判定第二個(gè)數(shù)據(jù)( 即 功能碼) , 該設(shè)計(jì)中除了 [03]還擴(kuò)展了 [01][05][06]等功能碼 以提高代碼可移植性 , 對(duì)其掃描檢測(cè) ,如果是 [03]則進(jìn)入讀取保存寄存器子函數(shù) ;在 讀取保存寄存器 子函數(shù)里 ,分別 讀出 接收緩沖區(qū)的第三、第四個(gè)數(shù)據(jù)對(duì)應(yīng) 得邏輯地址和 第五、第六個(gè)數(shù)據(jù)對(duì)應(yīng)的 邏輯地址長度 。具體 程序流程圖如 52 下所示: 1ms Timer1 中斷開始 重裝初值 1ms 標(biāo)志位設(shè)為 1 結(jié)束 定時(shí)處理開始 1ms 標(biāo)志 =1? 清零 1ms 標(biāo)志 通訊超時(shí)否? 485 置為接收 接受地址偏移寄存器清零 偶校驗(yàn)清零 結(jié)束 Y N Y N 圖 52發(fā)送和接收緩沖區(qū)數(shù)據(jù)處理 ⑶ 主機(jī)發(fā)送數(shù)據(jù)包 和 從 機(jī)響應(yīng)主機(jī) 數(shù)據(jù)包 的 具體 軟件 實(shí)現(xiàn): 本 次設(shè)計(jì)中我們定義從機(jī)( B 機(jī))地址為 Ox01。 程序流程圖如 51 所示 : 圖 51提高通訊穩(wěn)定性的程序設(shè)計(jì) ⑵ 發(fā)送和接收緩沖區(qū)數(shù)據(jù)處理: 在 Modbus 協(xié)議里,報(bào)文 的都是以包 的形式來發(fā)送與接收 的, 設(shè)計(jì)中用兩個(gè)數(shù)組來定義數(shù)據(jù)包 的發(fā)送和接收緩沖區(qū)。 主機(jī)發(fā)送報(bào)文和從機(jī)響應(yīng)報(bào)文 軟件具體實(shí)現(xiàn) ⑴ 提高通訊穩(wěn)定性的程序設(shè)計(jì): Modbus 通信協(xié)議 設(shè)計(jì) 中為了預(yù)防干擾,提高系統(tǒng)穩(wěn)定性,防止系統(tǒng)程序跑飛而造成不可預(yù)測(cè)的錯(cuò)誤(雖然概率比較低,一旦出現(xiàn) 將 會(huì)出現(xiàn)很大的問題),所以 有必要經(jīng)常重新置 485 為接受狀態(tài)并將接受地址偏移器(即接收到的字節(jié)個(gè)數(shù))清零。 C ;第二個(gè)值 [0B]表示 11 小時(shí);第三個(gè)值 [24]表示 36 分鐘。 1...n:其中 [數(shù)據(jù) 1][數(shù)據(jù) 2]分別是第 1 個(gè)模擬量的高 8 位和低 8 位, [數(shù)據(jù)3][數(shù)據(jù) 4]是第 2個(gè)模擬量的高 8位和低 8位,以此類推。 :表示數(shù)據(jù)的字節(jié)個(gè)數(shù),也就是數(shù)據(jù) 1, 2...n 中的 n 的值。 16 位為 CRC 校驗(yàn)。本次設(shè)計(jì)中 每個(gè)邏輯地址 只需讀出一 個(gè)模擬量。分鐘的邏輯地址為 0x03。 :讀模擬量的命令號(hào)固定為 03。 基于 MODBUS 協(xié)議 處理 報(bào)文 的軟件設(shè)計(jì): 主機(jī)發(fā)送數(shù)據(jù)包和從機(jī)響應(yīng)數(shù)據(jù)包 具體格式: B 機(jī)作為從機(jī)在本 次設(shè)計(jì)中需要讀出 從 機(jī)的溫度 、從機(jī)的小時(shí)和分鐘信號(hào) 所以采用讀模擬寄存器 (即 03) 這個(gè)功能。 第5 章 通訊系統(tǒng)實(shí)現(xiàn)的軟件設(shè)計(jì) 本設(shè)計(jì)要實(shí)現(xiàn)無線通訊系統(tǒng)對(duì)溫度的實(shí) 時(shí)采集與顯示功能,除硬件外,還需要軟件來控制。當(dāng) PC 機(jī)發(fā)送數(shù)據(jù)時(shí), MAX232 的 9 腳輸出低電平,經(jīng) Q1 倒相后,使 MAX485 的 RE 和 DE 為高電平而處于數(shù)據(jù)發(fā)送狀態(tài)。由于本電路 DTR 和 RTS 都用于了電路供電,因此使用 TX 線和 MAX232 的另外一個(gè)通道及 Q1 來控制 MAX485 的狀態(tài)切換。當(dāng) RE為低電平時(shí), MAX485 數(shù)據(jù)輸入有效;當(dāng) DE 為高電平時(shí), MAX485 數(shù)據(jù)輸出有效。因此,電路中要說 D3 起的作用是穩(wěn)壓還不如說是限壓功能。經(jīng)實(shí)驗(yàn),本電路只使用其中一條線也能夠正常工作。為了使用方便,電源部分設(shè)計(jì)成無源方式,整個(gè)電路的供電直接從 PC機(jī)的 RS232 接口中的 DTR( 4 腳)和 RTS( 7 腳)竊取。 圖 45 NRF24L01 RS232 轉(zhuǎn) RS485 通訊 接口模塊 如圖 46 所示: RS232485 轉(zhuǎn)換器主要包括了電源、 232 電平轉(zhuǎn)換、 485 電路三部分。 ⑷ 溫度采集單元 溫度采集單元采用達(dá)拉斯公司生產(chǎn)的數(shù)字溫度傳感器 DS18B20 進(jìn)行數(shù)據(jù)采集,其采用單總線數(shù)據(jù)傳輸,具有硬件簡(jiǎn)單的優(yōu)勢(shì),而且數(shù)據(jù)采集周期短,精度高,量程大,可以達(dá)到室溫計(jì)的要求,其數(shù)據(jù)總線與 相接。 圖 42液晶 圖 43數(shù)碼管 圖 44按鍵 ⑵ 數(shù)碼管顯示單元 如圖 43 所示 ,數(shù)碼管采用四位一體的共陰數(shù)碼管,由于單片機(jī)的 I/O 輸出電流較小,故采用三極管進(jìn)行放大驅(qū)動(dòng),當(dāng)位選為高時(shí)三極管飽和導(dǎo)通,對(duì)應(yīng)位的數(shù)碼管選中。 第4 章 通訊系統(tǒng)實(shí)現(xiàn)的硬件設(shè)計(jì) 硬件系統(tǒng)結(jié)構(gòu) 該硬件系統(tǒng)主要包括電源模塊、單片機(jī)最小系統(tǒng)模塊、按鍵、溫度采集、數(shù)碼管和液晶顯示模塊、 RS232 轉(zhuǎn) RS485 接口模塊、 NRF24L01 無線通訊模塊,結(jié)構(gòu)方框圖如圖所示, 單片機(jī)最小系統(tǒng) 模塊 主控 MCU 如圖 41 所示, A、 B 都采用 STC89C52 為主控 MCU,晶振頻率 為 ,C3( 10uf), R1( 10K)組成上電復(fù)位電路。默認(rèn)狀態(tài)下所有的中斷源是被禁止的??善帘沃袛嗫梢员?IRQ中斷屏蔽。 中斷: NRF24L01 的中斷引腳( IRQ)為低電平觸發(fā),當(dāng)狀態(tài)寄存器中 TX_DS、 RX_DR 或MAX_RT 為高時(shí) 觸發(fā)中斷。例如:RX_ADDR_P0 寄存器的最低字節(jié)可以通過寫一個(gè)字節(jié)給寄存器 RX_ADDR_P0 來改變。當(dāng)訪問多字節(jié)寄存器時(shí)首先 要讀 /寫的是最低字節(jié)的高位??梢杂脕碜x狀態(tài)寄存器。在發(fā)射數(shù)據(jù)包過程中必須禁止數(shù)據(jù)包重利用功能。 REUSE_TX_PL 1110 0
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1