由于微電子技術的迅猛發展,單片機在汽車、通信、辦公自動化、工業控制、高級玩具、家用電器等方面都得到了廣泛的應用。單片機作為嵌入式系統的核心器件,其系統設計包括硬件電路設計和程序設計2個方面,調試過程一般分為軟件調試、硬件測試、系統調試3個過程。軟件調試一般比較容易進行,但如果要進行硬件電路測試和系統調試則比較麻煩,因為要進行這2個過程必須在電路板制作完成、元器件焊接完畢之后進行,而且電路板的制作、元器件的安裝、焊接費時費力。如果采用作為單片機系統仿真軟件Proteus,則不用制作具體的電路板也能夠完成以上工作。毫無疑問,在使用Proteus進行系統虛擬開發成功之后再進行實際制作,必然可以提高開發效率、降低開發成本、提高開發速度,而這些因素對于企業來講是非常重要的。 1 Proteus簡介 Proteus是基于SPICE3F5仿真引擎的混合電路仿真軟件,不僅能夠仿真模擬、數字電路以及模數混合電路,更具特色的是它能夠仿真基于單片機的電子系統。Proteus不但完全支持MCS-51及其派生系列單片機的設計系統,另外也能仿真基于AVR和PIC系列的單片機系統。Proteus的仿真資源Proteus軟件可提供的模擬、數字、交(直)流等元器件達30多個元件庫,共計數千種。此外,對于元件庫中沒有的器件,使用者也可依照需要自己創建。軟件調試方面,其自身只帶匯編編譯器,不支持C語言。但可以將它與Keil C51集成開發環境連接,將用匯編和C語言編寫的程序編譯好之后,可以立即進行軟、硬件結合的系統仿真,像使用仿真器一樣來調試程序。 2 硬件方案設計 本設計中以DS18B20為傳感器、AT89C51單片機為控制核心組成的多點溫度測試系統,如圖1所示。 DS18B20是美國Dallas公司繼DS1820之后推出的增強型單總線數字溫度傳感器,在測溫精度、轉換時間、傳輸距離、分辨率等方面較DS1820有很大的改進,而且使用方便。采用DS18B20數字溫度傳感器組成的多點溫度測量系統,克服了傳統溫度測量系統測量精度低、外圍硬件電路復雜、可靠性較低等缺點,具有測溫系統簡單、測溫精度高、連接方便、占用口線少等許多優點,為多點溫度的測量帶來了極大的方便。 2.1 測溫部分 本部分采用將DS18B20的I/O數據線與89C51單片機P3.3,P3.4,P3.5,P3.6口線相連,用4只DS18B20同時測量4路溫度(視實際需要還可擴展通道數),實現多點溫度檢測。DS18B20只有3個引腳,其中兩根是電源線VDD和GND(本設計中采用外部電源供電方式),另外一根用作總線DQ,其輸出和輸入均是數字信號且與TTL電平兼容,因此可以與微處理器直接進行接口。主CPU經過單線接口訪問DS18B20的工作流程為:對DS18B20進行初始化→ROM操作命令→存儲器操作命令→數據處理。主CPU對ROM操作完畢后即發出控制操作命令,使DS18B20完成溫度測量并將測量結果存入高速暫存器中,然后讀出此結果。 2.2 鍵盤與顯示部分 本設計采用獨立式鍵盤和液晶顯示。鍵盤用來設置上限于下限的溫度報警;字符液晶用來顯示通道號、該通道的溫度和所設置的上下限溫度。使用液晶顯示更加形象,而且抗干擾能力強,便于以后擴展。 2.3 串口通信 系統通過串口與上位及通信。可以實時的向上位機傳送溫度值。實物中通過RS 232總線與計算機連接。接受數據界面由VB編寫。 圖3為虛擬終端接受到的數據窗口仿真。 3 軟件電路設計 單片機編程,開機之初先進行初始化,然后采集溫度4路溫度信號。通過鍵盤選擇要顯示的通道溫度并在液晶屏上顯示。再判斷是否向上位機發送數據,有請求是則發送數據,無請求時則判斷數據是否正常,不正常則報警(蜂鳴器鳴叫)。軟件通過C語言編程,先在Keil C51集成開發環境下將編好的程序進行編譯,調試。調試通過后,用生成的HEX文件在Proteus進行仿真。 4 結 語 利用Proteus對數字式溫度傳感器DS18B20構成通用多點溫度測量系統進行仿真,仿真結果表明該系統具有測溫系統簡單、測溫精度高、連接方便、性能穩定等優點,能有效地降低成本,縮短開發周期,具有良好的應用前景。 |