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

正文內(nèi)容

基于單片機(jī)at89c52與rs485的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)-在線瀏覽

2025-01-13 02:53本頁面
  

【正文】 高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn),特別適合于多點(diǎn)溫度測控系統(tǒng)。 從 DS18B20 讀出或?qū)懭?DS18B20 信息僅需要一根端口線,其讀寫及溫度變換功率來源于數(shù)據(jù)總路線,該總路線本身也可以向所掛接的 DS18B20 供電,而無需額外電源,從而節(jié)省大量的引線和邏輯電路。 它采用 8 腳 SO 封裝或 3 腳 PR35封裝 ,分別 如 圖 圖 3 所示 。DS18B20 的內(nèi)部結(jié)構(gòu) 如圖 4 所示: 6 4 位R O M和單 線接 口存儲(chǔ)器與控制邏輯高速緩存溫 度 傳 感 器高 溫 觸 發(fā) 器 T H低 溫 觸 發(fā) 器 T L配 置 寄 存 器8 位 C R C 發(fā) 生 器G N DD QV C C 圖 4 DS18B20 的內(nèi) 部結(jié)構(gòu) DS18B20 的測溫原理 DS18B20 的內(nèi)部框圖如圖 5 所示,主要包括寄生電源、溫度傳感器、 64 位激光 ROM 單線接口、存放中間數(shù)據(jù)的高速暫存器、用于存儲(chǔ)用戶設(shè)定的溫度上下限值、觸發(fā)器存儲(chǔ)與控制邏輯、 8 位循環(huán)冗余校驗(yàn)發(fā)生器等 7 部分。 高溫度系數(shù)振蕩器是一個(gè)振蕩頻率對溫度很敏感的振蕩器,為計(jì)數(shù)器 2 提供一個(gè) 頻率隨溫度變化的計(jì)數(shù)脈沖。 初始時(shí),計(jì)數(shù)器 1 的預(yù)置值是和 55℃相對應(yīng)的一個(gè)初始值。為了補(bǔ)償振蕩器溫度特性的非線性,斜率累加器提供的預(yù)置值也隨溫度作相應(yīng)的變化。 DS18B20 測量溫度時(shí)使用特有的溫度測量技術(shù)。當(dāng)計(jì)數(shù)門打開時(shí), DS18B20 進(jìn)行計(jì)數(shù),計(jì)數(shù)門開通時(shí)間由高溫度系數(shù)振蕩器決定。測量結(jié)果以 16 位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼 形式存入溫度寄存器中。溫度值格式 的低、高字節(jié) 如表 表 2 所示。表 3 是部分溫度對應(yīng)的二進(jìn)制溫度數(shù)據(jù)。系統(tǒng)中的數(shù)據(jù)交換、控制都由這根線完成。單總線通常要求外接一個(gè) kΩ 的上拉電阻,當(dāng)總線閑置時(shí), 其狀態(tài)為高電平。由于是主從結(jié)構(gòu),只有主機(jī)呼叫時(shí),從機(jī)才能應(yīng)答,主機(jī)訪問 1wire 器件必須嚴(yán)格遵循總線命令時(shí)序,即初始化、讀 ROM、命令功能命令。 1wire 協(xié)議定義了復(fù)位脈沖、應(yīng)答脈沖、寫 0、讀 0、和讀 1 時(shí)序等幾種信號(hào)類型。 基本的通信過程為:主機(jī)通過拉低單總線至少 480us 產(chǎn)生 Tx 脈沖;然后由主機(jī)釋放總線,進(jìn)入 Rx 模式。 所有的讀寫時(shí)序至少需要 60us,且每兩個(gè)獨(dú)立的時(shí)序至少需要 1us的恢復(fù)時(shí)間。單總線器件僅在主機(jī)發(fā)出讀時(shí)序時(shí)才向主機(jī)傳輸數(shù)據(jù),當(dāng)主機(jī)向單總線器件發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)序,以單總線器件能傳輸數(shù)據(jù)。 當(dāng)采用 DQ 線寄生電源供電方式時(shí),在對 DS18B20 的一些命令操作上會(huì)有一些較特殊的要求。 A T 8 9 C 5 2 P 2 . 7 G N DD S 1 8 B 2 04 . 7 KV C CD Q123A T 8 9 C 5 2 4 . 7 KV C CD S 1 8 B 2 0231D QV C CV C C 圖 6 直接由 VDD 供電 其中 DS18B20 采集到的數(shù)據(jù) 從它的 DQ 引腳輸出經(jīng) 過 一 根 數(shù)據(jù)線傳輸?shù)絾纹瑱C(jī)的 腳 , 同時(shí), 單片機(jī)對 DS18B20 進(jìn)行讀 /寫操作 也是通過 該引腳實(shí)現(xiàn)的。 單片機(jī)向字段輸出字形碼時(shí),所有顯示器都接收到相同的字表碼,但究竟是哪個(gè)數(shù)碼管亮,則取決于公共端,可通過控制公共端來決定哪一位數(shù)碼管發(fā)亮顯示。在輪 流點(diǎn)亮的過程中,每位顯示器的點(diǎn)亮?xí)r間極為短暫(約 1ms) , 由于人類眼睛的視覺暫留及發(fā)光二極管的 余 輝效應(yīng),只要輪流點(diǎn) 亮 各位二極管 是 ,掃描的 頻率合適時(shí)不 會(huì)有閃爍感。其中段選線占用一個(gè) 8 位 I/O 口, 可用 單片機(jī)的 P1 口 作為段選線控制的I/O;位選線占用 4 位 I/O 口 ,可用 單片機(jī)的 ~,由于采用的是共陽 極 LED 為使亮度足夠,每位都采用了一個(gè) PNP 管進(jìn)行驅(qū)動(dòng) 。 Q 29 0 1 2R 94 . 7 KR 1 04 . 7 KR 1 24 . 7 KR 1 14 . 7 KQ 39 0 1 2Q 49 0 1 2Q 59 0 1 2abcdefghV C CR 1 5 ~ R 2 25 1 0V 2V 1 a fV 3bedh c g V 48位段選線4 位 位 選 線 圖 7 數(shù)碼管顯示電路原理圖 RS485 總線及其與單片機(jī)的接口電路 的設(shè)計(jì) [4][5] RS485 是一個(gè)電氣接口規(guī)范 , 屬于 7 層開放系統(tǒng)互連 (Open System Interconnection, OSI) 模型物理層的協(xié)議標(biāo)準(zhǔn)。支持半雙工或全雙工模式 , 網(wǎng)絡(luò)拓?fù)渫ǔ2捎媒K端匹配的總線型結(jié)構(gòu) , 不支持環(huán)型或星型網(wǎng)絡(luò)。 RS485 可以采用二線與四線方式 ,二線制 , 可實(shí)現(xiàn)真正的多點(diǎn)雙向 半雙工 通信。無論 是 四線還是二線連接方式總線上 最 多 只能接 32 個(gè)設(shè)備。 RS485 的最大傳輸距離約為 1219m, 最大傳輸速率為10Mb/s 。只有在很短的距離下才能 獲得最高 速率傳輸。 RS485 需要 2 個(gè) 匹配電阻 , 其阻值要求等于傳輸電纜的特性阻抗。RS485 常采用平衡發(fā)送和差分接收方式來實(shí)現(xiàn)通信。接受靈敏度也相當(dāng)高 , 能檢測低達(dá) 200mV的電壓 , 某些芯片已經(jīng)能檢測到低達(dá) 50mV 的電壓 (如 MAX3080 等 ),同時(shí) , 最大傳輸速率和最大傳輸 距離也大大提高 。如果同一時(shí)刻有 2 個(gè)以上的節(jié)點(diǎn)處于發(fā)送狀態(tài)將導(dǎo)致所有發(fā)送方的數(shù)據(jù)發(fā)送失敗,即所謂總線沖突。整個(gè)通信總線系統(tǒng)由 1 個(gè)主節(jié)點(diǎn)、若干個(gè)從節(jié)點(diǎn)組成,按照輪循的方式,主節(jié)點(diǎn)依次和從節(jié)點(diǎn)通信,這樣就解決了 RS485 總線的沖突。在本系統(tǒng)中,除了一個(gè) PC 機(jī)作為主機(jī)外,只有一個(gè)單片機(jī)作為從機(jī)。它 是 Maxim公司的一種 RS- 485 芯片。它完成將 TTL 電平轉(zhuǎn)換為 RS- 485 電平的功能。 R 2 1 3 4 8 7 6 5 D R O RE DE DI V c c B A GND 圖 3 1 M A X 4 8 5 的 引 腳 和 內(nèi) 部 結(jié) 構(gòu) 圖 8 MAX485的內(nèi)部結(jié)構(gòu)圖 從 MAX485 的內(nèi)部結(jié)構(gòu)圖 中可以看出 , MAX485 芯片的結(jié)構(gòu)和引腳都非常簡單 ,內(nèi) 部含有一個(gè)驅(qū)動(dòng)器和接收器。在與單片機(jī)連接時(shí)接線非常簡單。同時(shí)將 A 和B 端之間加匹配電阻,一般可選 120Ω 的電阻。而使用 USB 總線的話,系統(tǒng)的成本和設(shè)計(jì)難度將大增加。單片機(jī)采用 RS485 進(jìn)行串行通信 , 只需要將 TTL 電平的串行接口通過芯片轉(zhuǎn)換為 RS485 串行接口 。 對于 PC 機(jī) 現(xiàn)有的 RS232 接口 , 系統(tǒng)中 利 用 一片 MAX485 芯片和 MAX232 芯片組成的轉(zhuǎn)換電路 來實(shí)現(xiàn) RS485 電平與 RS232 之間的轉(zhuǎn)換 。 PC 機(jī)和單片機(jī)之間遠(yuǎn)程通信的 RS485 原理方案,如圖 9 所示。 只不過為了達(dá)到數(shù)據(jù)能遠(yuǎn)程傳輸,在下位單片機(jī)和上位 PC機(jī)之間加入了 485總線,在單片機(jī)系統(tǒng)中使用 MAX485芯片,完成單片機(jī) TTL電平到 RS485電平之間的轉(zhuǎn)換 , 在總線末端接一個(gè)匹配電阻 ,吸收總線上的反射信號(hào) ,使得正常傳輸信號(hào)無毛刺。 轉(zhuǎn)換電路見圖 10。在圖 11 中可以看到, /RE 和 DE 兩個(gè)引腳連在一起, 單片機(jī)通過 ,即單片機(jī)的第 9 個(gè)引腳對 它們 進(jìn)行控制,當(dāng) 輸出邏輯 0 時(shí), MAX485 處于接收狀態(tài),當(dāng) 輸出邏輯 1 時(shí),MAX485 處于發(fā)送狀態(tài)。 A T 8 9 C 5 2R X DT X D P 1 . 7 G N DM A X 4 8 5BAR 71 2 0 ΩR S 4 8 5 總 線R 81 2 0 ΩR O1/ R E23D E4D IG N DABV C C5678V C C 圖 10 MAX485 構(gòu)成的 RS485 總線及其和 單片機(jī)的接口電路 在 PC機(jī)端用 MAX485和 MAX232組成的電平轉(zhuǎn)換電路 完成 TTL電平到 PC機(jī)的 RS232串口電平的轉(zhuǎn)換。 在總線上沒有信號(hào)傳輸時(shí) , 總線處于懸浮狀態(tài) , 容易受干擾信號(hào)的影響。當(dāng)總線上沒有信號(hào)傳輸時(shí) , 正端 A+的電平大約為 , 負(fù)端 B的電平大約為 , 即使有干擾信號(hào) , 也很難產(chǎn)生串行通信的起始信號(hào) 0, 從而增加了總線抗干擾的能力。 3 遠(yuǎn)程數(shù)據(jù)采集 系統(tǒng)的軟件設(shè) 計(jì) 單 片機(jī)的數(shù)據(jù)采集模塊的程序設(shè)計(jì) 此系統(tǒng)數(shù)據(jù)采集模塊包含兩個(gè)方面的內(nèi)容,一方面是利用單片機(jī)控制 DS18B20 工作,進(jìn)行溫度數(shù)據(jù)的采集;另一方面是利用單片機(jī)將 DS18B20 溫度傳感器采集到的 數(shù)據(jù) 傳輸?shù)斤@示模組進(jìn)行顯示。 單片機(jī)的數(shù)據(jù)采集部分的主要程序 [9][10] DS18B20 操作流程 DS18B20 的一線制總線要求的操作流程 : (1) 初始化; (2) ROM 操作命令; (3) 存儲(chǔ)器和控制操作命令; (4) 處理 /數(shù)據(jù)。 初始化一線制總線上的所有處理都從初始化開始,初始化包括主 控 MCU 發(fā)出的總線復(fù)位信號(hào)( Reset Plus),以及從器件(本文指DS18B20)發(fā)出存在應(yīng)答信號(hào)( Presence Plus)。 ROM 操作指令及流程一旦完成初始化后,主控 MCU 便可以發(fā)出對 DS18B20的 6個(gè) ROM 操作命令之一,所有 ROM 操作命令均為 8 位長。 Match ROM(匹配 ROM) [55h] 匹配 ROM 命令,即以 64 位的 ROM 數(shù)據(jù)序列與總線上的多個(gè)DS18B20 器件進(jìn)行匹配(當(dāng)然只可能有一個(gè)器件與主控 MCU發(fā)出的匹配 ROM 數(shù)據(jù)相匹配),相當(dāng)于總線主控 MCU 對多點(diǎn)總線上特定的DS18B20 尋址,只有與 64 位 ROM 序列嚴(yán)格相符的 DS18B20 才能對后繼的存儲(chǔ)器操作命令做出響應(yīng),所有與 64 位 ROM 序列不符的從片將等待復(fù)位脈沖。 Skip ROM(跳過 ROM) [CCh] 在單點(diǎn)總線系統(tǒng)中,通過此命令允許總線上的主控 MCU 不提供64 位 ROM 編碼而訪問存儲(chǔ)器操作,以此來節(jié)省時(shí)間;如果在總線上存在多于一個(gè)的從屬器件,而且在 Skip ROM 命令之后發(fā)出讀命令 , 那么由于多個(gè)從片同時(shí)發(fā)送數(shù)據(jù)會(huì)在總線上發(fā)生數(shù)據(jù)沖突,漏極開路下拉會(huì)產(chǎn)生線與的效果。 Alarm Search(告警搜索) [ECh] 此命令的流程與搜索 ROM 命令相同 ,但是僅在最近一次溫度測量出現(xiàn)告警的情況下 DS18B20 才對此命令做出響應(yīng)。 在總線上的主控 MCU完成 ROM 操作命令后,主控 MCU 便可以對總線上的 DS18B20 進(jìn)行存儲(chǔ)器操作了(存儲(chǔ)器操作包括存儲(chǔ)器操作命令和控制操作命令);存儲(chǔ)器操作命令有 6 個(gè),描述如下: 寫緩沖存儲(chǔ)器 Write Scratchpad [4Eh] 此命令將后面跟著的數(shù)據(jù)寫至 DS18B20 的緩沖存儲(chǔ)器,從地址 2開始接著寫的 3 個(gè)字節(jié)數(shù)據(jù)將被保存在緩沖存儲(chǔ)器地址 2 到 4 之中;發(fā)出一個(gè)復(fù)位( Reset Plus)便可在任何時(shí)刻終止寫操作。主控 MCU可以在任何時(shí)候發(fā)出總線復(fù)位信號(hào)以中止讀操作。如果總線主機(jī)在此命令之后,只要DS18B20 正忙于把緩沖存儲(chǔ)器復(fù)制入 EEPROM,它就會(huì)在總線上輸出0; 當(dāng)復(fù)制過程完成之后它將返回 1。 啟動(dòng)溫度轉(zhuǎn)換 Convert T [44h] 此命令開始溫度轉(zhuǎn)換,不需要另外的數(shù)據(jù)。 重新調(diào)出 EEPROM Recall E2 [B8h] 此命令把貯存在 EEPROM中溫度觸發(fā)器的值以及配置寄存器的值重新調(diào)至緩沖存儲(chǔ)器,這種重新調(diào)出的操作在對 DS18B20 上電時(shí)也自動(dòng)發(fā)生,因 此只要器件一接電緩沖存儲(chǔ)器內(nèi)就應(yīng)該有有效的數(shù)據(jù)可供使用。 讀供電狀態(tài) Read Power Supply [B4h] 對于在此命令送至 DS1820 之后所發(fā)出的第一讀出數(shù)據(jù)的操作,從器件都會(huì)給出其電源方式的信號(hào): 0 =寄生電源供電、 1 =外部電源供電。溫度測量每 2 秒進(jìn)行一次,程序流程圖如圖 12 所示。 溫度數(shù)據(jù)處理程序?qū)?12 位的溫度值進(jìn)行 BCD 碼轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判斷,其程序流程圖如圖 13 所示 ,源程序見附錄 2。從前面的圖 24 的溫度數(shù)據(jù)值格式知道,小數(shù)部分是四位二進(jìn)制數(shù),其范圍為 0~F,則轉(zhuǎn)換成十進(jìn)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1