天津中德應用技術大學 曹鵬飛
Keil與Proteus軟件在單片機教學中的應用
天津中德應用技術大學 曹鵬飛
對單片機教學中存在的問題進行分析,通過具體實例指出利用Keil與Proteus軟件作為仿真實驗平臺可以有效進行單片機的學習。在長期的教學實踐過程中發現,利用Keil與Proteus軟件學習單片機可以激發學生的學習興趣,對提高學生單片機實踐能力和綜合應用能力具有較好的現實意義。
Keil;Proteus;單片機
如今,單片機在社會的各個行業獲得了廣泛的應用,應用范圍包括通訊產品、家用電器、智能儀表、工業控制等領域。同時單片機技術及應用是電子信息、自動化、智能控制等專業的一門重要課程,如何讓學生在學校快速掌握單片機的應用與開發顯得尤為重要。Keil軟件和Proteus軟件作為強大的單片機開發調試軟件,引入到單片機教學當中,可以充分調動學生學習的興趣,讓學生快速領略到單片機設計與應用的魅力,提高學生的學習效率。
單片機技術及應用作為一門理實一體化課程,既包括理論知識學習,也包括配套的單片機實驗訓練。學生在學習過程中一般按照單片機的內部硬件資源、程序編程開發、IO接口及擴展電路等脈絡內容進行學習,對單片機的相關知識普遍感到抽象難學,對一些具體應用不能很好地理解和掌握。而教學采用的單片機實驗設備一般結構固化,無法進行硬件電路修改,導致學生學習時存在著知其然不知其所以然的問題,使學習效果受到影響。而采用Keil和Proteus軟件的聯合使用則可以很好地解決這一問題。學生通過軟件可以進行靈活的設計,體會不同的設計效果,從而對學習的內容能夠有更加直觀的認識和更加深刻的理解。同時,通過使用軟件可以滿足學生隨時隨地學習的需求,有效激發了學生的學習興趣。
Keil軟件是最早是由美國Keil Software公司(后被ARM公司收購)推出的單片機軟件開發系統,提供一個集成開發環境μVision,兼容51系列和ARM系列等不同類型的單片機和嵌入式系統,可以使用C語言或者匯編語言進行程序開發,軟件開發環境結構清晰,操作簡便,具有強大的軟件調試功能。
Proteus軟件是英國Lab Center Electronics公司出品的一種EDA工具軟件,主要由ISIS軟件和ARES軟件組成,ISIS軟件是一個電路原理圖編輯軟件,ARES軟件用于PCB的繪制。Proteus軟件除了原理圖設計和PCB制作以外,還能夠實現交互仿真。Proteus軟件可以設計和仿真模擬電路、數字電路、模數混合電路等,提供多種型號的微處理器元件的設計與仿真,可以仿真的單片機包括51系列、AVR、PIC、ARM等。
Keil和Proteus軟件聯調設置一般包括2種設置方法:一種是離線聯合使用。在Keil軟件中編輯、修改源程序,然后經過編譯生成HEX文件,在Proteus軟件中對原理圖進行仿真實驗時,將HEX文件和對應的單片機元件符號綁定,就可以進行模擬仿真。另外一種是聯合仿真調試。需要在兩個軟件中進行關聯參數設定,就可以實現在Keil軟件中對Proteus的仿真控制了。
下面以00-99計數器為例說明一個單片機應用的完整設計過程。
本系統的設計包括硬件設計和軟件設計兩部分。軟件設計在Keil軟件中完成,硬件電路設計和仿真驗證在Proteus軟件中完成。
系統元件主要包括單片機AT89C51、兩位數碼管、按鍵。AT89C51是一款典型的51系列芯片,包括P0~P3四個IO接口。數碼管分為共陰極或共陽極數碼管,極性不同單片機IO接口的輸出值也不相同。按鍵可以控制計數器的啟動和停止。
打開Proteus軟件中的ISIS程序,新建一個工程,從器件庫中選擇需要的元件添加到對象選擇器當中,然后將元件放置到原理圖當中并進行連線,連線完畢可以對電路進行電氣規則檢測以確保電路連接正確。
本系統電路如圖1所示。

圖1 00-99計數器電路圖
在Keil軟件中進行程序開發,用C語言或匯編語言編寫程序,生成后綴名為HEX的可執行文件。在Keil軟件中創建工程,選擇ATMEL公司的AT89C51芯片作為仿真使用的單片機,編寫程序代碼,主要代碼如下:while(1)
{ if(button==0)
{ delay(100);
if(button==0)
{ i++;
if(ilt;99)
{ P0=seg7[i/10];
P2=seg7[i%10];
}
else
i=0;
}
}
delay(3000);
}
delay()函數為延時子程序,主要用于控制數碼管顯示的頻率。共陰極數碼管的數字顯示值被保存在一個數組當中:
seg7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。
在Proteus軟件中將Keil軟件編譯生成的HEX文件通過設定參數的方式配置在單片機當中,啟動仿真操作,可以驗證單片機程序設計的正確性。
相對于實驗設備的硬件電路不容易修改,且硬件電路修改失誤容易造成實驗失敗而無法進行下去的缺點,軟件仿真具有明顯的優勢。學生可以任意修改電路,例如可以選擇不同的IO接口作為輸入或者輸出接口,比較P0~P3接口的使用差異。學生也可以選擇調整單片機時鐘工作頻率,或者修改延時程序循環計數的范圍,或者通過調用單片機內部定時器中斷實現精確延時等不同設計手段,再運行仿真器,即可得到數碼管不同的顯示結果。通過這種方式可以明顯縮短單片機設計和調試的時間,學生通過分析和比較運行的結果,也可以更快更好的掌握單片機所學的知識點。
Proteus軟件中提供了豐富的仿真器件資源庫,學生可以在掌握基本應用的基礎上,完成進一步的拓展訓練。通過搭建更為復雜的電路,拓寬了學生的知識領域,使學生的應用能力和創新能力得到進一步提高。
在單片機課程教學過程中,采用Keil和Proteus軟件進行單片機仿真,學生的學習興趣顯著提高。學生通過設計電路、軟件編程和模擬仿真對單片機的應用有了更加直觀和深刻的認識,達到了事半功倍的效果。同時,相對于硬件設備的投入、消耗和維護,利用軟件仿真性價比更高,使用更加靈活,學生在課余時間沒有實驗設備的環境下也可以通過仿真進行學習和訓練。在教學實踐過程中,通過Keil和Proteus軟件的配合使用,學生的單片機應用能力明顯提高,教學效果顯著,證明了在單片機課程學習中運用這種教學方法和手段是合理和行之有效的。
[1]陳忠平.基于Proteus的51系列單片機設計與仿真(第2版)[M].北京:電子工業出版社,2012.
[2]徐廣振,劉小莉.單片機技術應用項目化教程(C語言版)[M].北京:電子工業出版社,2016.
[3]鄧柳,陳卉.C51單片機項目設計實踐教程(第2版)[M].北京:人民郵電出版社,2015.
the problems existing in the teaching of single chip microcomputer are analyzed.Through specific examples,it is pointed out that using Keil and Proteus software as the simulation experimental platform can effectively learn microcontroller.In the long process of teaching practice,using Keil and Proteus software to learn microcontroller can stimulate students’ interest in learning,which is of practical significance to improve the students’practice ability and comprehensive application ability.
Keil;Proteus;MCU