單片機是國內大專院校電子技術類專業(yè)的必修課程之一,很多學生畢業(yè)之后也在從事單片機的軟硬件設計工作。單片機的開發(fā)要求設計人員具有一定的硬件設計基礎和匯編或者C語言的編程能力,目前國內多數(shù)大專院校都是采取先教學后實驗的教學步驟,學生在學習的過程中缺少一個感性認識,在實驗時又無法與課本上的知識聯(lián)系起來,因此造成了時間與教學資源的雙重浪費。
l Proteus的引入
伴隨著計算機軟件和硬件技術的飛速發(fā)展,在各個領域都出現(xiàn)了各種仿真系統(tǒng),為各種實際系統(tǒng)的開發(fā)提供了準確可靠的保證,同時節(jié)約了大量的人力和物力。仿真技術的出現(xiàn)與發(fā)展是科技發(fā)展的必然結果,是現(xiàn)代科技的關鍵技術之一,并逐漸成為科技人員的必備技術。Proteus是在這種形勢下應運而生并迅速發(fā)展的仿真系統(tǒng)。Proteus是模擬電路、數(shù)字電路、模/數(shù)混合電路的設計與仿真平臺;更是單片機系統(tǒng)先進的設計與仿真平臺。它真正實現(xiàn)了在計算機上完成從原理圖與電路設計、電路分析與仿真、單片機代碼級調試與仿真、系統(tǒng)測試與功能驗證到形成PCB的完整的設計與仿真過程。它得到了從事單片機事業(yè)的教師、工程技術人員以及眾多的大學生和單片機技術愛好者的青睞。
基于Proteus的單片機虛擬開發(fā)環(huán)境有效的將理論與實驗聯(lián)系起來,在這個開發(fā)環(huán)境里面可以很好地將演示、硬件電路設計和軟件設計結合起來,在教學和具體的工程項目中應用這個開發(fā)環(huán)境不但有助于提高效率,而且可以降低開發(fā)成本和風險。目前在電子技術、機械設計制造以及軟件開發(fā)等領域都趨向與采用虛擬仿真開發(fā)環(huán)境,虛擬環(huán)境的采用一方面有助于項目的并行開發(fā)提高產品開發(fā)周期,可以提前進行一些傳統(tǒng)開發(fā)步驟中的后期工作;另一方面虛擬開發(fā)環(huán)境可以展現(xiàn)產品的雛形,將實驗品的一些實際問題暴露在虛擬設計階段,例如機械設計軟件SoliWorks與LabView的聯(lián)合可以完成機器運動部件的三維運動控制、控制邏輯分析、部件碰撞分析等存在風險較大的設計工作的模擬,對于企業(yè)來說降低風險投資和加快產品上市是贏得市場的關鍵因素。因此這里闡述的虛擬開發(fā)環(huán)境可以很好地適應將來的科研和產品開發(fā)需要,培養(yǎng)開發(fā)人員的虛擬開發(fā)意識對于企業(yè)和社會來說都是一筆重要的知識財富。
2.Proteus仿真系統(tǒng)
Proteus是英國Labcenter公司的電路分析與實物仿真軟件,可以仿真、分析(Spice)各種模擬器件和集成電路,該軟件的特點是:
(1)實現(xiàn)了單片機仿真和Spice電路仿真相結合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS 232動態(tài)仿真、I2C調試器、SPI調試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。
(2)支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。
(3)提供軟件調試功能。在硬件仿真系統(tǒng)中具有全速、單步、設置斷點等調試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調試環(huán)境,如Keil C51 μVision 2等軟件。
(4)具有強大的原理圖繪制功能。啟動Proteus后將出現(xiàn)ISIS的設計窗口,如圖1所示。包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕(最下面一行)、預覽窗口、對象選擇器窗口、圖形編輯窗口。
該軟件還具有電路板演示功能,以溫度顯示為例,其演示效果如圖2所示。該演示圖不但有助于教學工作,還可以幫助企業(yè)降低產品設計風險。
3 程序開發(fā)
這里以AVR單片機ATmega16和DS18B20為例演示了溫度測量及其顯示的單片機程序開發(fā)過程,AVR單片機是Atmel公司推出的高性能單片機,該系列單片機部分采用16位結構,所有IO口均可單獨設置數(shù)據(jù)方向并具有可編程的內部上拉電阻,提高了整體性能和應用范圍。在單片機程序設計方面,ICCAVR提供了良好的編程界面,可通過對可視化選項框的選擇來生成初始化程序,如圖3所示。
在進行項目程序開發(fā)時,只需要選擇所使用的CPU,I/O口的初始方向、定時器的使用情況、UART以及其他外圍功能模塊做出設置即可生成響應的C語言初始化程序。在完成初始化之后程序員只需要針對自己的具體應用編寫功能程序即可。DS18B20支持“一線總線”接口,測量溫度范圍為-55~+125℃,在-10~+85℃范圍內,精度為±O.5℃。DS1822的精度較差,為±2℃。現(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設備或過程控制、測溫類消費電子產品等。與前一代產品不同,新的產品支持3.0~5.5 V的電壓范圍,使系統(tǒng)設計更靈活、方便。而且新一代產品更便宜,體積更小。DS18B20與單片機的接口只有一條線,而且DS18B20的單總線特性只需要一個單片機I/O引腳即可支持多個DS18B20,極大程度地降低了硬件開銷,當然較小的硬件開銷需要相對復雜的軟件進行補償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DSl820進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結果。其具體流程圖如圖4所示。
在按照設計要求編好程序后,雙擊ISIS Profes-sional窗口中的ATmega16單片機,將彈出一個編輯窗口,在程序文件中選擇ICCAVR生成的.hex文件,單擊“OK”。單擊ISIS窗口中的仿真進程控制按鈕,出現(xiàn)如圖5所示的仿真結果。改變DS18B20的溫度,顯示屏將相應的顯示。
4 結 語
單片機技術是現(xiàn)代電子工業(yè)中不可缺少的一項技術,掌握單片機技術是電子信息類專業(yè)學生就業(yè)的一個基本條件。這里通過單片機產品開發(fā)的實例,論述了Proteus在單片機教學和單片機應用產品研發(fā)中的地位和作用。Proteus是單片機教學與應用產品研發(fā)的高效、經濟、可靠的單片機系統(tǒng)設計與仿真平臺。學生可在Proteus ISIS窗口中大膽進行電路設計、程序設計、測量、調試、修改。不僅不會損壞元器件和儀器,且在安裝實物作品前就可看到結果。使學生的獨立操作能力、主動性、積極性和創(chuàng)造力都得到了發(fā)揮。總之,基于Proteus的單片機虛擬開發(fā)環(huán)境有利于促進課程和教學改革,更有利于人才的培養(yǎng);利用仿真系統(tǒng),不但可以節(jié)約開發(fā)時間和開發(fā)成本,而且還具有很大的靈活性和可擴展性;也是高校提升實驗室建設水平有益的嘗試。