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