溫度傳感器DSl8B20在Proteus中的仿真
摘要:詳細介紹單總線溫度傳感器DSl8B20的工作原理、通信協議和使用方法;給出測溫程序流程,以及DSl8B20在Proteus中硬件仿真的具體實現方法,并對該仿真結果與實驗結果進行了比較。
關鍵詞:Proteus;DSl8B20;單總線;測溫
引言
目前,微機與外設之間進行數據的串行總線主要有I2C總線、SPI總線和SCI總線。其中,I2C總線以同步串行2線方式進行通信(1條時鐘線和1條數據線),SPI總線以同步串行3線方式進行通信(1條時鐘線、1條數據輸入線和1條數據輸出線),而SCI總線則是以異步方式進行通信的(1條數據輸入線和1條數據輸出線)。這些總線至少需要2條信號線及地線。Dallas公司推出的單總線技術用單根信號線及地線,既傳輸時鐘又傳輸數據,而且數據的傳輸時雙向的,具有線路簡單、硬件開銷少、成本低、便于總線擴展和維護等優點。
DSl8B20是典型的單總線數字式溫度傳感器,工作電壓為3~5V,測量溫度范圍為-55~+125℃,可根據實際需要通過軟件設置選擇9~12位分辨率;用戶設置的報警溫度存儲在芯片內部EEPROM中,可掉電保持;每個芯片都有全球唯一的編碼,用戶可以通過其特有的序列號查詢其溫度,因此理論上一條總線上可連接無數個該測溫元件。單總線通常要求外接一個約4.7 kΩ的上拉電阻,保證總線閑置時其狀態為高電平。
1 PrOteus中DSl8B20仿真圖的設計
1.1 Proteus簡介
Proteus是英國Labcenter Electronics公司研發的EDA工具軟件。它是能進行模擬電路、數字電路、模/數混合電路、RS232動態仿真、I2C調試器、SPI調試器、鍵盤和LCD、LED系統的設計與仿真的平臺。Proteus具備原理圖設計、電路分析與仿真、PCB設計功能,可以通過調入程序的編譯結果.hex或.cof文件來調試單片機程序,還可直接嵌入到Microchip公司的單片機調試軟件MPLABIDE中,進行程序的調試和仿真。
Proteus的特色是能實現單片機與外設的混合電路系統、軟件系統的設計和仿真。在仿真過程中,用戶可以用鼠標單擊開關、鍵盤、電位計、可調電阻等外設設備,使單片機系統根據輸入信號做出相應的響應,并將響應處理結果根據所編制的軟件在LCD、LED等顯示器件上顯示,整個過程與硬件仿真器調試過程相似。因此,在缺乏硬件的情況下,這是款非常實用的仿真軟件,其仿真的原理圖經驗證后可直接應用到現實中。Proteus還提供虛擬示波器、邏輯分析儀、信號發生器和I2C、SPI調試器等多種虛擬終端,方便用戶仿真調試。
1.2 DSl8B20仿真的實現
目前,國內采用單片機作控制系統中的微處理器時多選擇.PIC、51系列或Freescale系列單片機。PIC單片機具有外圍電路簡單、功耗低、外圍資源豐富等優點。本系統選用PIC系列單片機PICl6F877A作為控制芯片。
Proteus仿真圖設計的第一步就是拾取仿真所需要的元器件,單擊圖1所示界面預覽窗口下面的P按鈕,彈出Pick Devices(元器件拾取)對話框。然后,在Keywords文本框內分別輸入DSl8820、LM041L(4行×16字符型LCD)、PICl6F877A、RES(電阻)。在檢索出來的結果中,選中所要的元器件并雙擊,該元器件就會出現在左側預覽窗口中。
元器件拾取完畢后,關閉Pick Devices窗口回到主設計頁面。在左側預覽窗口中,選中元器件放置到合適的位置。然后,在最左側選中圖標(terminals mode),分別選中POWER(電源)和GROUND(地),放置在合適的位置,并進行連接。欲改變元器件的參數,雙擊該元器件,然后在出現的屬性框中直接修改即可。本文所設計的由12個DSl8B20組成的測溫網絡如圖2所示。
評論