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