李玉貴
摘 ?要:以Atmega64單片機讀取DS18B20并在數(shù)碼管上顯示溫度為例,介紹了如何使把Proteus仿真應用在AVR單片機項目開發(fā)中,達到簡化步驟快速實現(xiàn)AVR單片機開發(fā)項目的目的。
關鍵詞:Proteus;AVR單片機;仿真
1 引言
隨著半導體技術的發(fā)展,單片機其實已經(jīng)滲透到我們工作和生活的方方面面,因此越來越多的技術人員加入到基于單片機系統(tǒng)的項目開發(fā)行列中來。然而傳統(tǒng)的單片機系統(tǒng)開發(fā)除了需要購置仿真開發(fā)板、下載器甚至價格不菲的示波器、網(wǎng)絡分析儀等儀器設備外,開發(fā)過程也較為繁瑣,因為單片機控制系統(tǒng)的設計一般要經(jīng)過硬件電路設計、軟件設計、系統(tǒng)調(diào)試3個階段,其中硬件電路設計又包括原理圖設計、PCB電路板設計、PCB制板和物理樣品制作等,且系統(tǒng)的總調(diào)試要在硬件電路板制作完成、元器件焊接完成之后才能進行,功能稍有變動又必須重新制板和焊接元器件,從而造成單片機系統(tǒng)開發(fā)周期變長、成本變高。而Proteus 等仿真軟件的出現(xiàn)很好的解決了這個矛盾,從原理圖設計,軟件調(diào)試和系統(tǒng)調(diào)試都可在Proteus仿真平臺上進行,若設計出錯,還可多次進行仿真設計,直到達到設計要求為止,在仿真的基礎上再進行實物制作,就能達到快速實現(xiàn)項目的目的。
2 ?仿真軟件及單片機簡介
2.1 ?Proteus
Proteus是英國Lab Center Electronics公司出品的一款EDA仿真軟件。具備原理圖布圖、代碼調(diào)試和單片機與外圍電路協(xié)同仿真等功能,能夠實現(xiàn)從想法到成品的完整設計。是一個集成電路仿真、PCB設計和虛擬模型仿真三合一的開發(fā)平臺,支持多種處理器模型,包括8051、AVR、ARM、8086和MSP430等等常見單片機,在編譯方面則支持IAR、Keil和MPLAB等多種編譯器。
2.2 ?AVR單片機
AVR單片機是ATMEL公司研發(fā)出的增強型內(nèi)置Flash的RISC精簡指令集高速8位單片機。具備高達1MIPS 每 MHz的處理能力和32個通用工作寄存器,解決了8051等單片機采用單一ACC進行處理造成瓶頸的現(xiàn)象,同時具有上電自動復位、看門狗、啟動延時等等功能,外圍電路簡單,系統(tǒng)穩(wěn)定可靠。還具有RTC、SPI、UART、ISP、E2PROM、PWM等豐富的片上資源豐富,AVR單片機在成本和性能方面取得了不錯的平衡。
3 ?仿真設計步驟
3.1 ?硬件設計
本次仿真設計電路的基本功能為,Atmega64單片機實時采集溫度傳感器DS18B20的數(shù)據(jù),并顯示在2個7段數(shù)碼管上,為檢驗溫度采集過程是否正確,還需添加一臺示波器對原始數(shù)據(jù)進行觀察。根據(jù)以上分析,電路圖所需的元器件有:Atmega64單片機、2位7段譯碼顯示器、DS18B20溫度傳感器、數(shù)字示波器、排阻、74LS47數(shù)碼管驅動器以及組成AVR最小系統(tǒng)所需的外圍元件(晶振、電容、電阻、按鈕、發(fā)光二極管等)。Proteus繪制原理圖和Protel等專業(yè)PCB畫圖軟件類似,首先從元件庫中取出所需元件并在繪圖區(qū)內(nèi)布局好,設置元器件屬性,接著進行連線、添加必要的網(wǎng)絡標示等,最后完成電氣檢測即可。
3.2 ?軟件設計
本次仿真的程序編寫是在ICCAVR集成開發(fā)環(huán)境下完成的,根據(jù)溫度監(jiān)測系統(tǒng)模擬仿真需求,程序設計主要流程包括:初始化單片機,設置定時器與引腳模式,然后在主程序循環(huán)中不斷通過DS18B20的單總線協(xié)議讀取實時溫度,最后將溫度推送至數(shù)碼管顯示。
3.3 ?固件下載仿真
在確認軟件代碼調(diào)試完成后,即可用ICCAVR將程序編譯為HEX二進制文件,然后在Proteus仿真軟件中雙擊原理圖中的Atmega64單片機,在彈出的對話框中的Program File選項載入編譯成功的HEX文件,點擊確定,代表著已經(jīng)將固件“燒寫”進單片機。接著單擊Proteus軟件左下角的運行按鈕就可以對整個系統(tǒng)的軟硬件進行仿真,仿真結果見圖1。
從仿真結果看,數(shù)碼管能按程序的要求顯示實際溫度,示波器的波形與代碼分析數(shù)值一致,意味著整個軟硬件系統(tǒng)工作正常,效果符合預期。所以基于Proteus的單片機仿真設計基本上可以脫離硬件屬性層面,整個系統(tǒng)調(diào)試工作都可以在一個軟件內(nèi)實現(xiàn),任意改動和修改都不會降低開發(fā)效率和增加成本,只需要在調(diào)試仿真成功后導出PCB、焊接元器件、下載固件就能完成整個項目的開發(fā)工作。
4 ?結語
隨著技術的不斷進步,單片機性能一直在提高,應用場景還將會持續(xù)擴大,Proteus仿真軟件極大降低了AVR單片機項目開發(fā)的門檻,同時大大的提高了設計效率,對于單片機普及和應用起到了積極的推動作用。
參考文獻
[1] ?馬潮.AVR單片機嵌入式系統(tǒng)原理與應用實踐[M].北京:北京航空航天大學出版社,2007.
[2] ?張軍,吳教育,朱海兵.Proteus軟件仿真與Keil的單片機系統(tǒng)設計[J].單片機與嵌入式系統(tǒng)應用,2009年第1期 74-75,78,