摘 要: 《單片機技術》是一門實踐性很強的專業課程,在現有實驗室的條件下,僅僅利用實驗箱來開展實驗項目已經跟不上課程發展需要。本文提出在單片機實驗教學環節中加入EDA技術,以Proteus為軟件核心實現單片機軟硬件實驗仿真,并就如何開拓新實驗項目和提高教學質量進行了探索。
關鍵詞: Proteus仿真軟件 《單片機技術》 實驗教學 應用實例
目前國內各大高校在《單片機技術》實驗教學方面,大多采用單片機實驗箱或目標實驗板加硬件仿真器的方式,而學生在做課程設計、畢業設計時,往往因儀器設備與元器件等條件的限制而放棄一些有創新的實驗和設計,挫傷了學生實驗及設計的積極性。若引入Proteus仿真軟件,即可在同一項目中進行不同實現方式的嘗試,彌補傳統模式變化少、電路結構固定、限制學生發散思維的缺點。
1.Proteus仿真軟件簡介
Proteus嵌入式系統仿真與開發平臺由英國Labcenter公司開發,是目前世界上最先進最完整的嵌入式系統設計與仿真平臺。Proteus可以實現數字電路、模擬電路及微控制器系統與外設的混合電路系統的電路仿真、軟件仿真、系統協同仿真和PCB設計等全部功能,真正實現了在沒有目標原形時就可對系統進行調試、測試與驗證。
2.Proteus應用實例分析
Proteus不僅僅可以仿真51系列、AVR,PIC等常用的MCU單片機,只要給出電路圖,它還可以對單片機的周邊設備進行仿真。因此在仿真和程序調試時,關心的不再是某些語句執行時單片機寄存器和存儲器內容的改變,而是從工程的角度直接觀察程序運行和電路工作的過程和結果。
2.1Proteus仿真51單片機
這里以驅動發光二極管閃爍為例來講解Proteus的仿真過程。
(1)編寫軟件程序
#include
unsignedinti;
sbit led=P1^0;//聲明單片機P1口的第一位
void main()
{
while(1)
{
led=0;//點亮發光管
for(i=10000;i>0;i--);
led=1;//關閉發光管
for(i=10000;i>0;i--);
}}
利用KEIL C編寫單片機程序,編譯成功后,生成*.Hex的編程文件。
(2)繪制電路圖
運行ISIS,進入仿真軟件的主界面,將所設計的電圖繪制好。如下圖1所示。
(3)下載程序到MCU上
步驟如下:
第一:在原理圖上雙擊單片機,將*.Hex的編程文件加載進來。
第二:在“clock frequency”欄中填寫單片機的工作頻率:l2Mhz。
第三:回到Proteus原理圖界面,點擊開始按鈕,就可以看見仿真的結果:LED閃動。
2.2Proteus與Keil聯調
上文介紹了如何把keil里寫的東西讓proteus動起來了,現在來講講如何進行聯調。Proteus能與Keil等常用的編譯器協同調試,實現系統的在線調試。
調試步驟如下:
1.把Proteus安裝目錄下VDM51.dll(X:\...\Labcenter Electronics\Proteus 7/Professional\MODELS)文件復制到Keil安裝目錄的X:\...\Keil\C51\BIN目錄中。
2.編輯C51里tools.ini文件,加入:TDRV9=BIN\VDM51.DLL(“PROTEUS VSM MONITOR 51 DRIVER”)。其中“TDRV9”中的“9”要根據實際情況寫,不要和原來的重復。
3.在keil軟件里的“options for target”target1→“Debug”選項里選中右邊的use,在下拉菜單中選擇proteus vsm simulator。
4.在proteus里選擇DEBUG→use remote debug monitor,再進入KEIL的project菜單option for target‘工程名’。在DEBUG選項中右欄上部的下拉菜選中ProteusVSM Monitor-51 Driver。
5.打開K