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