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

正文內(nèi)容

基于單片機(jī)at89c52與rs485的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)-文庫(kù)吧資料

2024-11-18 02:53本頁(yè)面
  

【正文】 等作出統(tǒng)一規(guī)定,通信雙方必須共同遵守 , 也叫做通信控制規(guī)程,或稱傳輸控制規(guī)程,它屬于 ISO’OSI(國(guó)際標(biāo)準(zhǔn)化組織提出的開放系統(tǒng)互連參考模型) 7 層參考模型中的數(shù)據(jù)鏈路層。本系統(tǒng)的下位單片機(jī)和上位 PC 機(jī)之間數(shù)據(jù)的傳送采用串行通信方式。其優(yōu)點(diǎn)是傳送速度快,缺點(diǎn)是數(shù)據(jù)有多少位,就需要多少根傳輸線,適合于近距離傳輸;串行通信是數(shù)據(jù)的各位按順序一位一位傳送。這樣需要 4 位數(shù)碼管才能完全顯示小數(shù)部分,實(shí)際應(yīng)用中精確到如此的溫度值 在一般情況下 是沒(méi)有 必要 的 , 故設(shè)計(jì) 1 位數(shù)碼管來(lái)顯示小數(shù),精確到 度, 如 表 4 列出了小數(shù)部分二進(jìn)制 和十進(jìn)制的對(duì)應(yīng)關(guān)系 , 在編程時(shí),溫度小數(shù)部分可 以用查表法來(lái)實(shí)現(xiàn) , 表 4 小數(shù)部分二進(jìn)制和十進(jìn)制的對(duì)應(yīng)關(guān)系 二進(jìn)制值 0 1 2 3 4 5 6 7 5 9 A B C D E F 十進(jìn)制值 0 1 1 2 3 3 4 4 5 6 6 7 8 8 9 9 數(shù)據(jù)采集的串口通信協(xié)議 通信的基本方式可分為并行通信和串行通信兩種。 開 機(jī) 顯 示 “ 8 8 8 8 ” 2 秒開 始S K I P R O M開 始 測(cè) 量 溫 度處 理 溫 度 數(shù) 據(jù) 并在 數(shù) 碼 管 顯 示發(fā) 送 數(shù) 據(jù) 到 P C上 傳 數(shù) 據(jù) 到 P C ?數(shù) 據(jù) 發(fā) 完 ?NYNY 返 回溫 度 零 下 ?溫 度 值 取 補(bǔ) 碼置 “ ” 標(biāo) 志計(jì) 算 小 數(shù) 位 溫度 的 BCD碼 值計(jì) 算 整 數(shù) 位 溫度 的 BCD碼 值開 始NY 圖 12 DS18B20 數(shù)字測(cè)溫主函數(shù)流程圖 圖 13 溫度計(jì)算轉(zhuǎn)換函數(shù)程序流 程圖 溫度數(shù)據(jù)的處理方法 前面提到了 DS18B20 的轉(zhuǎn)換精度為 9~12 位,為了提高精度采用12 位的話,溫度寄存器里的值是 ℃為步進(jìn)的,即溫度寄存器里的二進(jìn)制值乘以 ℃,是實(shí)際的十進(jìn)制溫度值。 在測(cè)得溫度后,將溫度數(shù)據(jù)轉(zhuǎn)換 為十進(jìn)制數(shù)的溫度表示,然后再通過(guò)查表(在 c 語(yǔ)言中是一個(gè)數(shù)組 ),數(shù)據(jù)處理類似于由二進(jìn)制轉(zhuǎn)換為十進(jìn)制,再由十進(jìn)制轉(zhuǎn)換為 ASCII 碼 。 主函數(shù)的功能是初始化并負(fù)責(zé)溫度的讀出、處理計(jì)算、顯示及傳輸。在此命令發(fā)出之后,對(duì)于總線上主控 MCU所發(fā)出的第一個(gè)讀數(shù)據(jù)時(shí)間片,從器件都將輸出其忙的標(biāo)志: 0 =忙、 1 =準(zhǔn)備就緒。溫度變換被執(zhí)行后,DS18B20 便保持在空閑狀態(tài),如果總線主控 MCU在此命令之后發(fā)出讀操作,那么只要 DS18B20 正忙于進(jìn)行溫度變換它將在總線上輸出 0,當(dāng)溫度變換完成時(shí)它便返回 1。如果由從器件采用寄生電源供電,總線主控 MCU 在發(fā)出此命令之后必須能立即強(qiáng)制上拉 10mS 以上。 復(fù)制緩沖存儲(chǔ)器 Copy Scratchpad [48h] 此命令把緩沖存儲(chǔ)器中的 Byte Byte3 和 Byte4 中的數(shù)據(jù)復(fù)制入DS18B20 的 EEPROM 存儲(chǔ)器,即把溫度觸發(fā)器字節(jié)(高溫告警溫度值 TH 和低溫告警溫度值 TL)載入 EEPROM,另外也會(huì)將緩沖存儲(chǔ)器中的 Configuration Register 的映射字節(jié)( Byte4)載入 EEPROM 當(dāng)中;這樣,設(shè)置才會(huì)真正的生效。 讀緩沖存儲(chǔ)器 Read Scratchpad [BEh] 此命令讀緩沖存儲(chǔ)器的內(nèi)容,讀開始于字節(jié) 0 并繼續(xù)經(jīng)過(guò)緩沖存儲(chǔ)器,直至第 9 個(gè)字節(jié)( Byte 8) CRC 被讀出為止。告警的條件定義為溫度高于 TH 或低于 TL,只要 DS18B20 一上電,告警條件就保持在設(shè)置狀態(tài),直到另一次溫度測(cè)量顯示出非告警值或者改變 TH 或 TL 的設(shè)置,使得測(cè)量值再一次位于允許的范圍之內(nèi),貯存在 EEPROM 內(nèi)的觸發(fā)器值用于告警。 Search ROM(搜索 ROM) [F0h] 當(dāng)系統(tǒng)開始工作時(shí)總線上的主控 MCU 可能不知道總線上的從器件個(gè)數(shù)或者不知道其 64 位 ROM 編碼,搜索 ROM 命令允許總線主機(jī)使用一種排除查詢的方法來(lái)識(shí)別總線上所有從片的 64 位 ROM 編碼;有關(guān)搜索 ROM 的具體操作流程,可以參考 DS18B20 器件的數(shù)據(jù)手冊(cè),從該手冊(cè)可以獲取詳細(xì)的操作說(shuō)明。此命令在總線上有單個(gè)或多個(gè)器件的情況下均可使用。 ROM 操作命令的操作流程請(qǐng)參考前面的圖 ,這些命令的描述如下: Read ROM(讀 ROM) [33h] 此命令允許總線的主控 MCU讀 DS18B20 的 8 位產(chǎn)品系列編碼、唯一的 48 位序列號(hào)以及 8 位的 CRC;此命令只能在總線上僅有一個(gè)DS18B20 的情況下可以使用,如果總線上存在多于一個(gè)的從屬器件,那么當(dāng)所有從片企圖同時(shí)發(fā)送時(shí)將發(fā)生數(shù)據(jù)沖突的現(xiàn)象,漏極開路會(huì)產(chǎn)生線與的結(jié)果。 存在應(yīng)答信號(hào)讓主控MCU 知道總線上存在 DS18B20 器件,并且從器件已準(zhǔn)備好接受主控MCU的操作。 主控 MCU 對(duì) DS18B20 的每一次 完整的操作都應(yīng)遵循上述的流程進(jìn)行操作。下面將討論這兩方面的內(nèi)容。 123456789R S 2 3 2D B 9 接 口V C CD 1I N 4 1 4 8D 2I N 4 1 4 8D 35 . 1 VC 21 0 4C 11 0 4C 31 0 4C 41 0 4C 51 0 4C 61 0 4R 21 2 KR 11 0 0R 31 0 KR 41 0 KR 51 0 KR 61 0 KV C CV C CV C CABV C CV D D C 1 +V C C C 1 T 1 O U T T 1 I N T 2 I NR 1 I NT 2 O U T R 1 O U TR 2 I N R 2 O U T C 2 +V E EG N D C 2 2 131 11 29451 61 41 37861 51 0M A X 2 3 2R O1/ R E23D E4D IG N DABV C C5678M A X 4 8 5 圖 11 單片機(jī)和上位 PC 機(jī)之間的 RS485 通信原理圖 MAX485 采用的串行通信波特率選為 4800bit/s, AT89C52 的晶振相選 用 12 MHz),可滿足系統(tǒng)對(duì)波特率誤差的要求。將總線上的差分信號(hào)的正端 A+和負(fù)端 B之間接一個(gè) 10kΩ的電 阻 ; 負(fù)端 B和地間接一個(gè) 10kΩ的電阻 , 形成一個(gè)電阻網(wǎng)路。相應(yīng)的電路如圖 11所示 。 單片機(jī)的第 11腳是串口接收引腳 RXD,和 MAX485的接收器輸出端RO相連接,從上位機(jī)發(fā)過(guò)來(lái)的控制信號(hào)將從這個(gè)端輸入到單片機(jī)內(nèi),使單片機(jī)進(jìn)行相應(yīng)的控制操作;單片機(jī)的第 12腳為串口發(fā)送引腳 TXD,和 MAX485的驅(qū)動(dòng)器 輸入端 DI相連,單片機(jī)的溫度數(shù)據(jù)將通過(guò)這個(gè)引腳傳輸?shù)?MAX485總線 ,經(jīng)過(guò)長(zhǎng)距離傳輸后最終送到遠(yuǎn)程上位 PC機(jī)上進(jìn)行顯示和處理。 由于 MAX485 工作在半雙工狀態(tài),可只用單片機(jī)的一個(gè)引 腳控制它的接收使能端 /RE 和發(fā)送使能端 DE,以決定 MAX485 是工作在 接收還是發(fā)送狀態(tài)。匹配電阻的取值應(yīng)該與總線的特性阻抗相當(dāng)。 單 片 機(jī) R X D T X D P 1 . 7 G N DM A X 2 3 2T i n T o u t R o u t R i n G N DP C 串 口R X DT X D G N DM A X 4 8 5 B R OA D I / R E D E G N DM A X 4 8 5 R O BD I A / R ED EG N D 圖 9 單片機(jī)和上位 PC 機(jī)間的 RS485 通信方案 RS485 總線 和單片機(jī) 接口硬件 的 設(shè)計(jì) [8] 在圖 9中可以看到, 數(shù)據(jù)通信 在 硬件上采用 3線制,將單片機(jī)和 PC機(jī)串口( RS232C)的 3個(gè)引腳( TXD、 RXD、 GND)分別連在一起,即將 PC機(jī)和單片機(jī)的發(fā)送數(shù)據(jù)線 TXC和接收數(shù)據(jù)線 RXD交叉連接,兩者的地線相連,而其它信號(hào)線如握手信號(hào)線均不用,采用軟件握手的方式。此轉(zhuǎn)換 電路 一邊與 RS232 標(biāo)準(zhǔn) 9 針接口相連 , 另一邊與RS485 總線相連 。 這種轉(zhuǎn)換比較簡(jiǎn)單 , 本系統(tǒng)采用 MAX485 芯片 來(lái)完成這種轉(zhuǎn)換 。 為了降低成本和設(shè)計(jì)難度,本系統(tǒng)采用的是將 RS232 接口轉(zhuǎn)換成 RS485 接口, 再 在單片機(jī)和 PC 機(jī)之間加入 RS485 總線 , 采用 RS485 進(jìn)行長(zhǎng)距離、高速的串行異步通信。 PC 機(jī)和單片機(jī)之間遠(yuǎn)程通信的 RS485 原理方案 [7] PC 機(jī)的串行接口為 RS232 或 USB 總線 , 然而 RS232 標(biāo)準(zhǔn)的傳送距離最大約為 15 米,最高速率為 20kb/s, 并且 RS232 是為點(diǎn)對(duì)點(diǎn)(即只用一對(duì)收、發(fā)設(shè)備)通訊而設(shè)計(jì)的,可見(jiàn) RS232 只適合于本地通訊使用。只需要一個(gè)信號(hào)控制 MAX485 的接收 和發(fā)送即可。 RO 和 DI 端分別為接收器的輸出和驅(qū)動(dòng)器的輸入端,與單片機(jī)連接時(shí)只需分別與單片機(jī)的 RXD 和 TXD 相連即可; /RE 和 DE 端分別為接收和發(fā)送的使能端,當(dāng) /RE 為邏輯 0 時(shí),器件處于接收狀態(tài);當(dāng) DE 為邏輯 1 時(shí),器件處于發(fā)送狀態(tài),因?yàn)?MAX485 工作在半雙工狀態(tài),只需用單片機(jī)的一個(gè)管腳控制這兩個(gè)引腳即可; A 端和 B 端分別為接收和發(fā)送的差分信號(hào)端 , 當(dāng) A 引腳的電平高于 B 時(shí),代表發(fā)送的數(shù)據(jù)為 1;當(dāng) A 的電平低于 B 端時(shí),代表發(fā)送的數(shù)據(jù)為 0。其引腳結(jié)構(gòu)圖如圖 8 所示。采用單一電源 +5V工作,額定電流為 300μ A,采用半雙工通訊方式。 MAX485 簡(jiǎn)介 [6] 為了構(gòu)建滿足本系統(tǒng)遠(yuǎn)程數(shù)據(jù)傳輸?shù)?RS485 總線, 本設(shè)計(jì)采用 了一款專門的電平轉(zhuǎn)換芯片,即 MAX485 接口 芯片 。本系統(tǒng)中的主機(jī),即上位 PC 機(jī)和從機(jī),即下位單片機(jī)之間的通信也工作在主從模式下的 。為了避免總線沖突, RS485 總線一般工作在主從模式下。 RS485 總線以雙絞線為物理介質(zhì) , 通常工作在半雙工通信狀態(tài) ,即在同一時(shí)刻總線上只能有 1 個(gè)節(jié)點(diǎn)為主節(jié)點(diǎn)且處于發(fā)送狀態(tài),其它所有節(jié)點(diǎn)必須處于接收狀態(tài)。兩條傳輸線采用通常使用雙絞線 , 故 具有較強(qiáng)的抗共模干擾能力。在 短 距離傳輸時(shí)可不需 要 匹配電阻 , 一般 情況下 在 300m以下不需 匹配電阻 ,匹配電阻 接在傳輸總線的兩端 (一般接 120Ω的匹配電阻即可) 。一般 100m長(zhǎng)雙絞線最大傳輸速率僅為 1Mb/s。平衡雙絞線的長(zhǎng)度與傳輸速率成反比 , 在 100Kb/s 速率以下 ,才可能使用規(guī)定最長(zhǎng)的電纜長(zhǎng)度。RS485 的共模輸出電壓在 7~+12V之間 , RS485 接收器最小輸入阻抗為 12kΩ 。采用四線連接時(shí) , 只能實(shí)現(xiàn)點(diǎn)對(duì)多點(diǎn)的 全雙工 通信 , 即只能有一個(gè)主 (Master) 設(shè)備 , 其余為從設(shè)備。 由于 RS485 是從 RS422 基礎(chǔ)上發(fā) 站而來(lái)的, RS485 采用平衡傳輸方式,需要在傳輸線 上接 匹 配電阻 。 它 只規(guī)定了平衡 驅(qū) 動(dòng)器和接受器的電特性 , 沒(méi)有規(guī)定接插件、傳輸電纜和通信協(xié)議。R15R22 是限流電阻,以防止 LED 被燒壞。 本 設(shè)計(jì) 采用的 4 位 LED 數(shù)碼管動(dòng)態(tài)顯示的電路原理圖 如 圖 7。 動(dòng)態(tài)掃描是采用分時(shí)的方法,輪流控制各位數(shù)碼管的公共端,使各個(gè)數(shù)碼輪流點(diǎn)亮。 數(shù)碼管顯示模塊的設(shè)計(jì) [3] LED 數(shù)碼管顯示電路 采用 動(dòng)態(tài) 掃描 顯示方法 , 將各個(gè)數(shù)碼管的 8個(gè)筆畫段( a、 b、 c、 d、 e、 f、 g、 h)同名端并聯(lián)在一起,由一個(gè) 8 位I/O 口控制,形成段選線合用;而每一位數(shù)碼管的公共端(位選線)是各自獨(dú)立地受 I/O 口控制,實(shí)現(xiàn)各位的分時(shí)選通。本系統(tǒng)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1