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

正文內(nèi)容

基于單片機(jī)的rs485總線采樣節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-資料下載頁(yè)

2024-11-03 19:32本頁(yè)面

【導(dǎo)讀】本論文介紹了基于RS485串行總線標(biāo)準(zhǔn)的溫度采集系統(tǒng)的硬件和軟件設(shè)計(jì)。給ARM微處理器進(jìn)行存儲(chǔ)和處理。系統(tǒng)的軟件包括單片機(jī)程序和計(jì)算機(jī)程序,分別應(yīng)。相應(yīng)的硬件和軟件抗干擾措施保證了系統(tǒng)的穩(wěn)定性和可靠性。了一種基于RS-485的單片機(jī)與ARM之間文件傳輸?shù)膶?shí)現(xiàn)方案。序的設(shè)計(jì)方法,詳細(xì)闡述了自定義通信協(xié)和實(shí)現(xiàn)程序。數(shù)字信號(hào),然后與單片機(jī)進(jìn)行傳輸。因此,它是相當(dāng)復(fù)雜而且成本高。產(chǎn)的DS18B20,作為一種新的單總線數(shù)字溫度傳感器被廣泛使用。采集和轉(zhuǎn)換,通過傳感器DS18B20的數(shù)字式分為單片機(jī)發(fā)送給LED顯示模塊。接收溫度數(shù)據(jù)通過RS-485接口傳送到后端的ARM中顯示。

  

【正文】 總線使用權(quán)必須分配,以避免競(jìng)爭(zhēng),連接到總線的單機(jī) ,并發(fā)送控制信號(hào)完全隔離時(shí) 間。總之,發(fā)送和接收控制信號(hào)應(yīng)該足夠?qū)?,以確保數(shù)據(jù)的完整性得到一幀數(shù)據(jù) ,任何兩個(gè)獨(dú)立 機(jī)器的發(fā)送信號(hào)是完全分開的 ,以避免總線爭(zhēng)端。 (2) 電路 復(fù)位時(shí) , 主機(jī)必須 處于接收 的 狀態(tài)Π DE 和 RE 端相連為低 電平的 時(shí) 候 ,從機(jī) 應(yīng)該 處于接收 的 狀態(tài) , 在 接受上電復(fù)位的時(shí)候 , 因?yàn)橛布娐贩€(wěn)定需要一點(diǎn) 時(shí)間 , 而且 單片機(jī) 的各個(gè) 端口復(fù)位后 應(yīng)該 處于高電平 的 狀態(tài) , 因此就會(huì)使總線上每個(gè) 分機(jī) 都 處于發(fā)送狀態(tài) , 再加上 電時(shí)各 個(gè) 電路的不穩(wěn)定 , 就可能向總線發(fā)送信號(hào) 。 所以說,假如用一條 線作發(fā)送和接收 的控制信號(hào),就要把 口線反向 的后接到 MAX485 的控制端 ,這樣就可以 使上電時(shí) MAX485 始終 處于接收狀態(tài)。 (3)在 RS485 半雙工通信 工程 中, 因 MAX485 的發(fā)送和接收都 是用 同一 個(gè) 器件完成的,而 且發(fā)送和接收使用 的是 同一 個(gè)物理連路,要對(duì)控制信號(hào)進(jìn)行切換。控制信號(hào)什么時(shí)候是高電平,什么時(shí)候是 低電平 ,一般以單片機(jī) 的 TI 信號(hào)作為 參考。 在 發(fā)送時(shí)檢測(cè)是否建立 TI,如果 TI 為高電平時(shí) 關(guān)閉發(fā)送 的功能變?yōu)?接收 功能 。在 接收時(shí)檢測(cè)是否建立RI,當(dāng) RI 為高電平 之后,接收結(jié)束,之后 可以轉(zhuǎn)為發(fā)送。 東北大學(xué)東軟信息 學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 5 章 系統(tǒng)實(shí)現(xiàn) 17 第 5 章 系統(tǒng)實(shí)現(xiàn) 主程序流程 流程如圖 所示,開始工作,首先系統(tǒng)初始化各個(gè)模塊 , 當(dāng)系統(tǒng)接收到檢測(cè)信號(hào),從傳感器接收數(shù)據(jù),處理數(shù)據(jù)后輸出數(shù)據(jù),將數(shù)據(jù)從 LED 數(shù)碼管上顯示,并同時(shí)將數(shù)據(jù)發(fā)動(dòng)到 RS485 串行接口,由 RS485 串口最后發(fā)送到上位機(jī)。 開 始R S 4 8 5 通 信D S 1 8 B 2 0 初 始 化數(shù) 據(jù) 采 集L E D 顯 示R S 4 8 5 通 信退 出NYYN 圖 系統(tǒng)流程圖 RS485 串口通信 主要 程序 RS485 通信節(jié)點(diǎn) 的程序大致可歸類 為 六 個(gè)重要部 分,他們分別是 預(yù)定義部分、初始 部分、 設(shè)備狀態(tài)檢測(cè)部分、 主程序部分、幀接收部分和發(fā)送部分。預(yù)定義 的 部分 主要是用來(lái)定義通信中使用 握手信號(hào), 它 用 于 保存本節(jié)點(diǎn) 的 設(shè)備號(hào) 和 設(shè)備信息的緩沖區(qū) 的變量。 主程序部分 可以 接收命令幀,同時(shí)根據(jù)命令的內(nèi)容發(fā)出 相應(yīng)的回應(yīng) 。 而 設(shè)備狀態(tài)檢東北大學(xué)東軟信息 學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 5 章 系統(tǒng)實(shí)現(xiàn) 18 測(cè)部分 要放在 程序初始化后, 如果件發(fā)生故障時(shí),再做出 相應(yīng)的反應(yīng)。 開 始設(shè) 置 各 項(xiàng) 參 數(shù)等 待 接 受 溫 度 命 令是 否 接 到 溫 度 數(shù) 據(jù)溫 度 數(shù) 據(jù)數(shù) 據(jù) 傳 送是 否 接 到 溫 度 數(shù) 據(jù)NY終 止YN 圖 串口部分流程圖 為 縮減不必要的篇幅,在這只給出主程序部分一些 代碼。 /* RS485 通信 主程序 的 流程 */ while(1) { //主循環(huán) if(recv_cmd(amp。type)==0) //發(fā)生 錯(cuò)誤或幀地址與本機(jī) //地址不符 時(shí) ,丟棄當(dāng)前幀 然 后返回 continue。 東北大學(xué)東軟信息 學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 5 章 系統(tǒng)實(shí)現(xiàn) 19 switch(type) { case __ACTIVE_: //主機(jī)問從機(jī)是否接受 send_data(__OK_, 0, dbuf)。//發(fā)送應(yīng)答信息 break。 case __GETDATA_: len = strlen(dbuf)。 send_data(__STATUS_, len, dbuf)。//發(fā)送狀態(tài)信息 break。 default: break。 //命令 的 類型錯(cuò)誤,丟棄當(dāng)前幀 然 后返回 } } DS18B20 模塊程序設(shè)計(jì) DS18B20 的工作過程 單片機(jī) DS18B20 溫度傳感器在 溫度 轉(zhuǎn)換過程中 需要三個(gè)過程 ,第一,初始化, 然后是 ROM 操作命令的,最后 是 存儲(chǔ)器操作命令 、 一 .初始化 總線上的所有操作都必須先初始化,第一個(gè)提出了復(fù)位信號(hào),然后從機(jī)器的線路信號(hào)發(fā)送,并通知主機(jī) DS18B20 總線 , 然后讓他 等待接受其指令 。 二 . ROM 操作命令 在這個(gè)畢業(yè)設(shè)計(jì)中我們 跳過 ROM 序列號(hào)檢測(cè)命令。 skip ROM 命令, 就是 跳過 ROM 操作的命令, 是因?yàn)?只有一個(gè)測(cè)溫芯 時(shí)以 節(jié)約時(shí)間 ; 但是要是 多個(gè)從機(jī) 的時(shí)候 不能這樣 用 了,這會(huì)使 總線上的數(shù)據(jù) 造成 沖突。 所以在就有一個(gè)溫度傳感器的情況下 ,在每次輸入指令之前都 可 以使用這個(gè)命令來(lái)節(jié)約運(yùn)算 時(shí)間 。 三.存儲(chǔ)器操作命令 首先,寫( 4EH)命令,使用此命令寫入數(shù)據(jù)存儲(chǔ)第 2 至 4 個(gè)字節(jié),從第 2 個(gè)字節(jié)( TH) 運(yùn)行 的。復(fù)位信號(hào)發(fā)出前,完成這三個(gè)字節(jié)。然后讀出( BEH),使用這個(gè)命 令讀出寄存器內(nèi)的第一個(gè)字節(jié)的內(nèi)容, 一直 完成第九個(gè)字節(jié) 時(shí) ,如果 有 需要注冊(cè)的一些內(nèi)容, 那樣的話 主機(jī)可以在適當(dāng)?shù)陌l(fā)送時(shí)間復(fù)位命令結(jié)束該進(jìn)程。其次是復(fù)制( 48H),使用這個(gè)命令來(lái)注冊(cè)的內(nèi)存溫度 2 至 4 個(gè)字節(jié)傳感器設(shè)計(jì) EEROM,當(dāng)主機(jī)發(fā)出命令后 實(shí)施溫度轉(zhuǎn)換 ,如果在進(jìn)程轉(zhuǎn)儲(chǔ)則結(jié)果為 0 如果轉(zhuǎn)儲(chǔ)結(jié)束,結(jié)果是 1。最后,啟動(dòng)轉(zhuǎn)換( 44H)東北大學(xué)東軟信息 學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 5 章 系統(tǒng)實(shí)現(xiàn) 20 和溫度傳感器接收此命令立即啟動(dòng)溫度轉(zhuǎn)換的實(shí)施,沒有其他的其他數(shù)據(jù)。 這時(shí)DS18B20 的空閑狀態(tài) 。 如果溫度轉(zhuǎn)換運(yùn)行時(shí),主機(jī)將接收讀取總線 0, 轉(zhuǎn)換 完畢 接收到的是 1。 DS18B20 溫 度傳感器 主要 程序 DS18B20 使用的關(guān)鍵 是首先 清楚總線的讀寫 的 時(shí)序。 DS18B20 是 單總線 的雙向通訊,他的外接電路非常簡(jiǎn)單,可是 在軟件編程上,就 非常 嚴(yán)格 按照他的要求 時(shí)序進(jìn)行讀寫 的操作。具體的 操作如 下:對(duì)溫度傳感器操作時(shí),首先要把他復(fù)位。讓 DQ 線拉低480 到 960μ s 之間 ,再將數(shù)據(jù)線拉高 15 到 60μ s 之間,再把 DS18B20 發(fā)出 的 60 到 240μ s 的低電平 信號(hào) 作為應(yīng)答 的信號(hào),這時(shí)單片機(jī) 才能對(duì)它進(jìn)行 別的的 操作。 圖 DS18B20 初始化時(shí)序 bit DS18B20_Reset(void) { unsigned char x=1。 DQ = 1。 //DQ 先置高 DS18B20_delay(15)。 //稍延時(shí) DQ = 0。 //發(fā)送復(fù)位脈沖 DS18B20_delay(500)。 //延時(shí) 480us DQ = 1。 //拉高數(shù)據(jù)線 DS18B20_delay(70)。 //等待 15~60us x=DQ。 //x=0 初始化成功 x=1 失敗 DS18B20_delay(15)。 return x。 } 在溫度傳感器中,寫操作是指把 數(shù)據(jù)線 要從高電平拉到 低電平,產(chǎn)生寫起始 的 信號(hào)。從DQ 線的下降沿起 開始 計(jì)時(shí),在 15μ s 到 60μ s 之間這段時(shí)間里對(duì)數(shù)據(jù)線進(jìn)行檢測(cè),假東北大學(xué)東軟信息 學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 5 章 系統(tǒng)實(shí)現(xiàn) 21 如 數(shù)據(jù)線為高電平 時(shí)就 寫 1, 若為低電平 時(shí)就 寫 0, 如果 完成了一個(gè) 就寫周期。然后再開始另一個(gè)寫周期前,必須在 1μ s 以上的高電平恢復(fù)期。每個(gè)寫周期必須需要 60μ s 以上的持續(xù)期。 圖 DS18B20 寫時(shí)序 void DS18B20_Write(unsigned char mand) { unsigned char i。 for(i=8。i0。i) { DQ=0。 if((mand amp。 0x01)==0) { DS18B20_delay(10)。 DQ=1。 DS18B20_delay(20)。 } else { DQ=1。 DS18B20_delay(20)。 } mand=_cror_(mand, 1)。 } } 在溫度傳感器中,讀操作是 指 主機(jī)將數(shù)據(jù)線從高電平拉至低電平 1μ s 以上 時(shí), 使數(shù)據(jù)線升為高電平,從而產(chǎn)生讀起始 的 信號(hào)。從主機(jī)將數(shù)據(jù)線從高電平拉至低電平起 15μ s 東北大學(xué)東軟信息 學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 5 章 系統(tǒng)實(shí)現(xiàn) 22 到 60μ s 之間 ,主機(jī)讀取數(shù)據(jù)。每個(gè)讀周期最短的持續(xù)期為 60μ s。周期之間必須有 1μ s 以上的高電平恢復(fù)期。 圖 DS18B20 讀時(shí)序 unsigned char DS18B20_Read(void) { unsigned char i。 unsigned char temp。 temp=0。 for(i=8。i0。i) { temp=_cror_(temp, 1)。 DQ=0。 _nop_()。 _nop_()。 DQ=1。 _nop_()。 _nop_()。 if(DQ==1) { temp=temp | 0x80。 } else { temp=temp | 0x00。 } 東北大學(xué)東軟信息 學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 5 章 系統(tǒng)實(shí)現(xiàn) 23 DS18B20_delay(8)。 } return(temp)。 } 東北大學(xué)東軟信息 學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 6 章 系統(tǒng)測(cè)試 24 第 6 章 系 統(tǒng)測(cè)試 軟件測(cè)試是一項(xiàng)十分復(fù)雜多樣化的工作。它在軟件的整個(gè)生存期中占據(jù)重要的位置,對(duì)軟件可靠性保證具有極其重要的意義。下面將結(jié)合本系統(tǒng)軟件開發(fā) 并配合仿真器對(duì)系統(tǒng)進(jìn)行了如 下 測(cè)試。 測(cè)試方案及測(cè)試用例 電源監(jiān) 測(cè) 方案:將電源通電, 在系統(tǒng)中 單片機(jī)在 周期內(nèi)為芯片提供正脈沖, 芯片輸出信號(hào)保持高電平, 整個(gè)系統(tǒng)工作正常。當(dāng)單片機(jī)在超過 未向芯片提供脈沖信號(hào)時(shí),芯片內(nèi)部電路觸發(fā)復(fù)位信號(hào),使單片機(jī)復(fù)位,從初始狀態(tài)開始工作。 LED 檢測(cè) 方案: MAX7219 是一款串行共陰極數(shù)碼管動(dòng) 態(tài)顯示驅(qū)動(dòng)芯片,僅使用 3 線串行接口傳送數(shù)據(jù),可直接與單片機(jī)接口,可以方便的修改內(nèi)部參數(shù)以實(shí)現(xiàn)多位 LED 顯示。 內(nèi)部含硬件動(dòng)態(tài)掃描顯示控制電路,每片芯片可同時(shí)驅(qū)動(dòng) 8 位共陰極 LED。 在代碼中可 對(duì)芯片進(jìn)行初始化后 直接向 MAX7219 寫入 數(shù)據(jù) ,觀察 8 個(gè) LED 的工作情況, 寫入數(shù)據(jù)與LED 輸出顯示的數(shù)據(jù)一致,則 表明電路沒有問題。 通過 RS485 連接 ARM 共同檢測(cè) 方案: 當(dāng)系統(tǒng)的每個(gè)模塊測(cè)試是否都能正常工作時(shí),此時(shí)可以進(jìn)行系統(tǒng)的共同檢測(cè)。用溫度傳感器采集溫度在 LED 顯示同時(shí)將采集的溫度通過 RS485 傳送到基于 ARM 的顯示屏進(jìn)行比對(duì)。如果都能正常工作,表明整個(gè)系統(tǒng)的功能可以完全實(shí)現(xiàn)。如果有部分模塊的功能不能實(shí)現(xiàn),可以重復(fù) 上述的調(diào)試步驟查明原因,此時(shí)的原因基本上可以判斷為是代碼的問題,需仔細(xì)檢查代碼。東北大學(xué)東軟信息學(xué)院畢業(yè)設(shè)計(jì) (論文) 第 7 章 結(jié)論 25 第 7 章 結(jié) 論 本系統(tǒng)采用 RS485 標(biāo)準(zhǔn)實(shí)現(xiàn)串行通信 , 把采集的數(shù)據(jù)上傳給 ARM, 系統(tǒng)結(jié)構(gòu)簡(jiǎn)單 ,抗干擾性能好。上位機(jī)軟件利用 ARM 進(jìn)行開發(fā) , 擴(kuò)展方便靈活。經(jīng)測(cè)試可知 , 系統(tǒng)工作穩(wěn)定可靠。 在 畢業(yè)設(shè)計(jì)選材 , 都是 按 照各個(gè)要求的,從單片機(jī)、傳感器等都自己去電子城里通精心挑選最好的產(chǎn)品,在滿足畢業(yè)設(shè)計(jì)需求的前提下,盡可能的去 選擇造價(jià)較低的元件,最大限度地節(jié)約了本次設(shè)計(jì) 的成本。特別是使 用了 DS18B20 溫度 傳感器,它 把采 集溫度與 A/D 轉(zhuǎn)換積于一身,很大程度上降低了設(shè)計(jì)電路的復(fù)雜性 ,使整個(gè)電路 設(shè)計(jì)變得簡(jiǎn)潔 。 通過本次設(shè)計(jì)使我 更 能直觀的了解單片機(jī)及 RS485 串口通信的實(shí)用價(jià)值,從而大大增加學(xué)習(xí)興趣,在今后的工作中有個(gè)非常重要的意義 。東北大學(xué)東軟信息 學(xué)院畢業(yè)設(shè)計(jì)(論文) 附件 26 附 錄 附圖 1 電路原理圖 東北大學(xué)東軟信息 學(xué)院畢業(yè)設(shè)計(jì)(論文) 附件 27 附圖 2 PCB 圖 28 參考文獻(xiàn) [1] 周建春 . 基于單片機(jī)和 PC 串口通信的溫度采集系統(tǒng)設(shè)計(jì) [D], 蘇州 :蘇州大學(xué) , [2] 李全利 . 遲榮 強(qiáng)編著 . 單片機(jī)原理及接口技術(shù) [M], 北京 : 高等教育出版社 , [3] 唐俊翟等 . 單片機(jī)原理與應(yīng)用 [M], 北京 : 冶金工業(yè)出版社 , [4] 霍孟友等 . 單片機(jī)原理與應(yīng)用學(xué)習(xí)概要及題解 [M], 北京 : 機(jī)械工業(yè)出版社 , [5] 許泳龍等 . 單片機(jī)原理及應(yīng)用 [M], 北京 : 機(jī)械工業(yè)出版社 , [6] 馬忠梅等 . 單片機(jī)的 C 語(yǔ)言應(yīng)用程序設(shè)計(jì) [M], 北京 : 北京航空航天大學(xué)出版社 , 2020 修訂版 [7] 華成英 , 童詩(shī)白 . 模擬電子技術(shù)基礎(chǔ) [M], 北京 : 高等教育出版社 , 2020 [8] 毛德平 , 凌有鑄 . 一種基于 RS485 總線的溫度、濕度測(cè)控系統(tǒng) [J], 現(xiàn)代電子技術(shù) , :56. [9] 張?jiān)?. 計(jì)算機(jī)網(wǎng)絡(luò)與通信 [M], 北京 : 機(jī)械工業(yè)出版社 ,2020 [10] 辛萌萌 . RS485 通信接口芯片的 IC 設(shè)計(jì)與實(shí)現(xiàn) [D], 大連 : 大連理工大學(xué) ,2020 [11] 左全生 . 電路分析教程 [M], 北京 : 電子工業(yè)出版社 , [12] 陳曾漢 . 工業(yè) PC 及測(cè)控系統(tǒng) [M], 北京 : 機(jī)械工業(yè)出版社 , 2020 [13] 吳國(guó)經(jīng)等 . 單片機(jī)應(yīng)用技術(shù) [M], 中國(guó)電力出版社 , [14] 楊勇虎 , 樊曉勇 ,閆海珍 . 數(shù)據(jù)結(jié)構(gòu)理論與實(shí)踐 [M], 東北大學(xué)出版社 , [15] 張 華 . 計(jì)算 機(jī) 通信 基礎(chǔ) [M]. 北京 : 機(jī)械工業(yè)出版社 , [16] 閻石 . 數(shù)字電子技術(shù)基礎(chǔ)(第五版) [M], 北京 : 高等教育出版社 , [17] 幸云輝 , 楊旭東 . 計(jì)算機(jī)組成原理實(shí)用教程 [M], 清華大學(xué)出版社 , [18] 呂艷 , 電機(jī)車半自動(dòng)控制系統(tǒng) [D], 大連 : 大連理工大學(xué) , 2020. [19] John Goldie. Ten Ways to Bulletproff RS485 interfaces[Z].National Semiconductor, AN 1057,1996. [20] 王明亮 . 智能網(wǎng)絡(luò)醫(yī)用理療儀控制器的設(shè)計(jì)與實(shí)現(xiàn) [D]. .重慶 : 重慶大學(xué) , 2020
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1