• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      由MS P 430單片機和D S 1820構(gòu)成的小型測溫系統(tǒng)

      2013-04-13 02:46:08任作為
      科技視界 2013年3期
      關(guān)鍵詞:管腳低電平時隙

      任作為

      (長江大學(xué),湖北 荊州 434000)

      0 引言

      溫度的檢測與控制在現(xiàn)代工業(yè)生產(chǎn)中有著極其廣泛的應(yīng)用,而隨著現(xiàn)代檢測技術(shù)的發(fā)展,人們對傳感器性能的要求越來越高。另一方面,單片機技術(shù)已經(jīng)深入到各個技術(shù)領(lǐng)域。所以可以采用新型的數(shù)字溫度傳感器,并利用單片機對溫度傳感器進行控制,則可以使測溫電路大大簡化,并且更易于智能化控制。

      1 硬件設(shè)計

      本系統(tǒng)的硬件接口電路相對比較簡單,主要就是MSP430單片機和數(shù)字化溫度傳感器DS1820的連接。首先簡要介紹數(shù)字化溫度傳感器DS1820。

      1.1 DS1820的芯片

      DS1820是美國DALLAS半導(dǎo)體公司生產(chǎn)的數(shù)字化溫度傳感器,是世界上第一片支持“一線總線”接口的溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD)專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。一線總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。它只需要單片機的一個一般I/O接口就可以實現(xiàn)連接。

      DS1820的主要特性如下:

      (1)獨特的單線接口方式,DS1820在與微處理器連接時只需要一根總線就可以實現(xiàn)與微處理器的雙向通信;

      (2)DS1820支持多點組網(wǎng)功能,多個DS1820可以并聯(lián)在唯一的總線上,以實現(xiàn)多點測溫;

      (3)DS1820在使用中不需要任何外圍元器件件;

      (4)可以由數(shù)據(jù)線來供電;

      (5)測溫范圍-55℃至+125℃,固有測溫分辨率為0.5℃;

      (6)測量結(jié)果以9位數(shù)字量方式串行傳送;

      (7)用戶可以設(shè)置報警溫度。

      以下是該芯片內(nèi)部結(jié)構(gòu)方框圖,如圖1所示。

      圖1 芯片內(nèi)部結(jié)構(gòu)方框圖

      由上圖可以看出,DS1820主要有存儲器、寄存器、邏輯控制、單線接口、溫度傳感器和溫度上、下限寄存器等幾個部分組成。為了便于進行硬件電路的設(shè)計,有必要說明芯片的管腳定義,如圖2所示。

      圖2 管腳

      由圖2可以看到,該芯片共有3個管腳,其功能分別如下:

      Vcc:電源管腳,供電電壓范圍為2.8~5.5V。

      GND:接地管腳;

      DQ:單線接口管腳,與單片機接口實現(xiàn)數(shù)據(jù)的傳輸。

      1.2 接口電路設(shè)計

      由于DS1820芯片采用單線協(xié)議,即只需要一根線與MSP430單片機進行接口,因此接口電路非常簡單。MSP430單片機能通過端口的方向寄存器來設(shè)置端口的輸入輸出方向,因此能很好地實現(xiàn)單總線的數(shù)據(jù)讀寫功能。使用MSP430單片機的一般I/O接口P1.0與DS1820芯片進行連接。

      如圖3所示為具體的接口電路圖。

      圖3 接口電路圖

      MSP430單片機與DS1820芯片的接口非常簡單。將MSP430單片機的P1.0管腳與DS1820芯片相連接,實現(xiàn)數(shù)據(jù)的傳輸。在上面電路的設(shè)計中,DQ線通過10KΩ的電阻拉高,保證總線在沒有數(shù)據(jù)傳輸時始終為高電平。為了減少干擾,在電源的管腳增加一個0.1μF的電容來進行濾波處理。

      2 軟件設(shè)計

      軟件設(shè)計主要是對DS1820芯片進行讀取溫度的操作,在進行具體編程之前,現(xiàn)對單總線協(xié)議進行簡單介紹。

      2.1 單總線協(xié)議

      單總線協(xié)議能夠?qū)崿F(xiàn)數(shù)據(jù)的雙向傳輸,這樣就必須包括數(shù)據(jù)的讀寫,另外該總線還必須具有復(fù)位功能。

      2.1.1 總線復(fù)位

      總線復(fù)位主要是起初始化總線的作用,在數(shù)據(jù)讀寫之前,都必須對總線進行復(fù)位??偩€復(fù)位就是由單片機向總線發(fā)送低電平脈沖,然后等待DS1820的響應(yīng),DS1820在接受到總線復(fù)位信號后給出相應(yīng)的電平。如圖4所示為總線復(fù)位的時序圖。

      圖4 總線復(fù)位的時序圖

      可以看出,低電平和高電平保持的時間是有限制的,這就要求在軟件實現(xiàn)時特別注意高低電平的保持時間。

      2.1.2 總線寫

      總線寫是單片機向DS1820寫數(shù)據(jù),由于總線數(shù)據(jù)傳輸是以“位”為單位的,單總線通信協(xié)議中存在兩種寫時隙:寫 “0”和寫“1”。MSP430 單片機采用寫“1”時隙向 DS1820 寫入“1”,而寫“0“時隙向DS1820寫入“0”。所有寫時隙至少要60μs,且在兩次獨立的寫時隙之間至少要1μs的恢復(fù)時間。兩種寫時隙均起始于MSP430單片機拉低數(shù)據(jù)總線。產(chǎn)生“1”時隙的方式:MSP430單片機拉低總線后,接著必須在15μs之內(nèi)釋放總線,由上拉電阻將總線拉至高電平;產(chǎn)生寫“0”時隙的方式為在MSP430單片機拉低后,只需要在整個時隙間保持低電平即可(至少60μs)。在寫時隙開始后15~60μs期間,單總線器件采樣總電平狀態(tài)。如果在此期間采樣值為高電平,則邏輯“1”被寫入器件;如果為“0”,寫入邏輯“0”。

      如圖5所示為寫時隙(包括1和0)時序。

      圖5 總線寫時序圖

      由上圖可以看出,低電平和高電平保持是有時間限制的,所以要求在軟件實現(xiàn)時特別注意高低電平的保持時間。

      2.1.3 總線讀

      總線讀是單片機從DS1820讀取數(shù)據(jù),由于總線數(shù)據(jù)傳輸是以“位”為單位的,所以總線讀包括讀“1”和讀“0”。如圖6所示是總線讀的時序圖。

      圖6 總線讀時序圖

      由上圖可看出,單片機在讀“1”或讀“0”時,首先需要將總線拉低,然后將總線拉高,再根據(jù)總線是高電平還是低電平來判斷是“1”還是“0”,從而使單片機獲取總線上的數(shù)據(jù)。

      2.2 DS1820的控制

      對DS1820的控制是通過操作其內(nèi)部的存儲器來實現(xiàn)的。DS1820的操作指令分為ROM操作命令和存儲器操作命令。

      2.2.1 ROM操作命令

      (1)Read ROM(0x33):如果只有一片 DS1820,可以用該命令讀出它的序列號。若在線DS1820不止一個,那么將會發(fā)生沖突;

      (2)Match ROM(0x55):多個 DS1820 一起使用時,可用該命令匹配一個給定序列號的DS1820,此后的命令就針對該DS1820;

      (3)Skip ROM(0xCC):執(zhí)行該命令后的存儲器操作將對所有在線的DS1820有效;

      (4)Search ROM(0xF0):用來讀出在線的 DS1820 的序號;

      (5)Alarm Search(0xEC):當(dāng)溫度值高于 TH 或低于 TL中的數(shù)值時,該命令可以讀出報警的DS1820。

      2.2.2 存儲器操作命令

      (1)Write Scratchpad(0x4E):寫兩個字節(jié)的數(shù)據(jù)到溫度寄存器。

      (2)Read Scratchpad(0xBE):讀取溫度寄存器的溫度值。

      (3)Copy Scratchpad(0x48):將溫度寄存器的數(shù)值復(fù)制到 EERAM中,以確保溫度值不會丟失。

      (4)Convert T(0x44):啟動在線 DS1820 進行溫度 A/D 轉(zhuǎn)換。

      (5)Recall E2(0xB8):將EERAM中的數(shù)值復(fù)制到溫度寄存器中。

      (6)Read Power Supply(0xB4):在該命令送到 DS1820 之后的每一個讀數(shù)據(jù)間隙,之處電源模式:“0”為寄生電源;“1”則為外部電源。

      根據(jù)以上的操作命令,一下給出測量溫度的步驟。

      ①Read ROM(33h),每次對DS1820進行操作之前都需要對其進行初始化,主要目的在于確定傳感器是否連接到單總線上。

      ②Search ROM(F0h),這條指令使處理器用排除的方法去辨別總線上的DS1820。

      ③Match ROM(55h),只有準(zhǔn)確地符合64位ROM序列的DS1820才能響應(yīng)接下來的指令。如果是單點測溫,則可以使用Skip ROM(CCh)指令來跳過這一步。

      ④Convert T(44h),發(fā)送該條之后,應(yīng)查詢總線上的電平,當(dāng)電平位高時,則溫度轉(zhuǎn)換完成。

      ⑤Read Scratchpad(BEh),發(fā)送讀指令后則可以從總線上獲得表示溫度的兩字節(jié)二進制數(shù)。

      2.3 DS1820操作的程序?qū)崿F(xiàn)

      DS1820的讀寫存儲器操作都是建立在單總線協(xié)議程序基礎(chǔ)之上的,所以首先要通過程序來實現(xiàn)單總線協(xié)議,然后再編寫DS1820的溫度數(shù)據(jù)讀取程序。

      2.3.1 單總線協(xié)議的實現(xiàn)

      單總線協(xié)議包括總線復(fù)位和讀寫字節(jié)操作,具體程序代碼如下:

      以上的程序需要在總線的讀或者寫時切換管腳的輸入輸出方向,另外,需要注意延時的時間,這主要根據(jù)系統(tǒng)的時鐘進行相應(yīng)的調(diào)整。

      2.3.2 DS1820溫度數(shù)據(jù)的讀取

      事實上獲得溫度數(shù)據(jù)就是對DS1820的某些存儲器進行相應(yīng)的操作,程序如下所示。

      這段程序只是進行了簡單的處理,在實際應(yīng)用中,可能需要添加ROM命令的處理??偩€上也可能并聯(lián)多個DS1820進行多點測溫,則應(yīng)該根據(jù)具體的需要要進行相應(yīng)的修改。

      3 小結(jié)

      本文介紹了采用MSP430單片機與DS1820的接口設(shè)計,首先介紹了電路的接口設(shè)計,然后給出了相應(yīng)程序。DS1820通過單總線和單片機來進行里連接,使得系統(tǒng)的硬件電路部分相當(dāng)簡潔,使外圍擴展器件少,體積減小,也降低了成本。在進行程序設(shè)計時,需要注意的是必須滿足單總線協(xié)議工作的時序問題。該系統(tǒng)也可以進行硬件和軟件上的擴展,使其具有更完善的功能,以滿足不同的情況下的溫度采集需要。

      [1]張希輝,張睿,張志利.基于MSP430單片機和DS18B20的小型測溫系統(tǒng)[J].裝備制造技術(shù),2011(04).

      [2]秦龍.MPS430單片機C語言應(yīng)用程序設(shè)計實例精講[M].北京:電子工業(yè)出版社,2006.

      [3]周秀明,曹雋,張春龍.基于DS18B20的單片機溫度檢測與調(diào)節(jié)系統(tǒng)設(shè)計[J].實驗室科學(xué),2011(01).

      [4]李永茂.基于PIC16F877芯片的DS18B20測溫系統(tǒng)設(shè)計[J].信息化研究,2010(8).

      [5]王明慧.數(shù)字溫度傳感器DS18B20在化學(xué)工業(yè)現(xiàn)場溫度檢測中的應(yīng)用[J].計算機與應(yīng)用化學(xué),2007(09).

      猜你喜歡
      管腳低電平時隙
      數(shù)字電路中“邏輯非”的用法辨析
      鐵道車輛高/低電平信號智能發(fā)生器設(shè)計
      2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
      復(fù)用段單節(jié)點失效造成業(yè)務(wù)時隙錯連處理
      一種高速通信系統(tǒng)動態(tài)時隙分配設(shè)計
      時隙寬度約束下網(wǎng)絡(luò)零售配送時隙定價研究
      基于圖像處理的異型電子元器件管腳偏移誤差檢測方法研究
      CMOS數(shù)字IC管腳電容的估算與測量
      基于TDMA的無沖突動態(tài)時隙分配算法
      HC08芯片JVT測試方法的探究
      電子測試(2013年22期)2013-09-26 06:03:52
      峨眉山市| 陵川县| 商都县| 镇沅| 乌恰县| 潍坊市| 霞浦县| 岐山县| 荥阳市| 故城县| 广汉市| 金塔县| 徐汇区| 剑阁县| 司法| 沙田区| 开鲁县| 嘉禾县| 耒阳市| 罗山县| 张家港市| 民权县| 黄浦区| 乐山市| 瑞丽市| 察雅县| 府谷县| 景泰县| 吴江市| 获嘉县| 锡林郭勒盟| 屏南县| 无锡市| 大城县| 湄潭县| 井研县| 疏附县| 翁牛特旗| 和硕县| 仪陇县| 三明市|