吳國文
廣州科技職業技術學院汽車工程系 510550
Wu Guo Wen
Guangzhou Vocational College at Science and Technology Automotive Engineering Zhongluotan 510550Baiyun Guangzhou
基于Proteus與Keil的單片機項目式教學法
吳國文
廣州科技職業技術學院汽車工程系 510550
Wu Guo Wen
Guangzhou Vocational College at Science and Technology Automotive Engineering Zhongluotan 510550Baiyun Guangzhou
針對高職院校單片機課程實踐性強,實驗設備有限的情況下,為了改進單片機課程的教學效果、培養學生學習單片機的興趣及創新能力、實驗技能,采用了基于Proteus與Keil的單片機項目式教學方法,通過Proteus與Keil的單片機項目設計與仿真,提高了單片機項目設計效率,獲得了很好的經濟性、靈活性。
單片機; Proteus;Keil;項目式教學
single-chip; Proteus;Keil; Project-based Teaching;simulation
單片機是一門實踐性環節很強的課程,但傳統的單片機教學多以理論教學為主,實驗教學為輔,理論與實踐相脫節,在理論教學上,單片機的原理、硬件電路圖的分析及程序上的分析都是局限于以多媒體的形式展現在屏幕上,教學過程中學生會感覺枯燥抽象,難以理解和掌握,并且因而失去學習的興趣,當上完相應理論知識后,才回到實驗教學的課堂上,而實驗教學也大多是基于單片機實驗箱的驗證性實驗,學生難以體會一個單片機系統開發的軟件、硬件設計的細節與流程,學生的思維得不到拓展和發揮,另外,采用實驗箱或實驗板加硬件仿真器設備,也大大增加設備的維護工作及經費的投入,Proteus與Keil軟件的出現,解決了這些問題,在課堂教學上采用了基于Proteus與Keil的單片機項目式教學方法[1,2]。
Proteus軟件是由英國Labcenter Electronics公司開發的EDA工具軟件,該軟件集成了高級原理布圖、混合模式SPICE電路仿真、PCB設計以及自動布線來實現一個完整的電子設計系統。它是一種混合電路仿真工具,包括模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的仿真等。Proteus軟件由ISIS和ARES兩個軟件構成,其中ISIS是一款便捷的電子系統仿真平臺軟件,ARES是一款高級的布線編輯軟件。ISIS是一個操作簡便且功能強大的原理繪圖工具,它整合了SPICE的仿真模型,擁有超過8000個元件的龐大庫結構。Proteus支持許多通用的微控制器,如PIC系列、AVR系列、8051系列等;同時它還支持ARM、PLD及各種外圍芯片的仿真,如基于HD44780芯片的字符LCD、RAM等;具有單步運行、斷點設置等調試功能;有直流電流表/電壓表、交流電壓表/電流表、示波器邏輯分析儀、頻率計等虛擬儀器,為仿真中的測量記錄提供了方便[3,4]。
隨著單片機開發技術的不斷發展,從普遍使用匯編語言到逐漸使用高級語言開發,單片機的開發軟件也在不斷發展,Keil軟件是目前最流行開發MCS-51系列單片機的軟件。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部份組合在一起。KEILC51標準C編譯器為8051微控制器的軟件開發提供了C語言環境,同時保留了匯編代碼高效,快速的特點。C51已被完全集成到uVision3的集成開發環境中,這個集成開發環境包含編譯器、匯編器、實時操作系統、項目管理器和調試器。可為它們提供單一而靈活的開發環境[5]。
下面以 “基于AT89C51單片機搶答器的設計”為例,說明使用Proteus和Keil軟件進行單片機項目系統設計和仿真的過程。
2.1 硬件設計[6]
該實例的電路由AT89C51單片機、1位LED 共陰極數碼管、按鍵、揚聲器及三極管等元器件組成,在Proteus ISIS中繪制系統硬件原理圖,如圖1所示。

圖1 基于AT89S51單片機搶答器的硬件設計及仿真結果
2.2 軟件設計[5,8]
單片機是硬件與軟件的結合體,要根據硬件的工作原理來編寫程序,從圖1可以知道,P3口為輸入口,接八個按鍵,P1口為輸出口,接一個共陰極的七段數碼管,用來顯示搶答號,搶答器的工作原理為:八個選手同時搶答,搶答成功的將選手號經P1口送給數碼管顯示,揚聲器響。同時,其他的選手不能搶答,主持人復位后,恢復搶答功能,數碼管初始化為0。
該項目的軟件在Keil中進行設計。在工程項目中編輯創建源程序文件,取名搶答器.asm,再對該文件進行編譯、連接生成目標代碼文件(本例為搶答器.hex)。
修改參數選擇Options for Target--Targer選項卡中的Xtal(MHZ)參數修改為與硬件參數一致,選擇Output選項卡的Create Hex File前面的復選框選上,編譯、連接沒錯誤后,然后進行調試,菜單Debug--Start/Stop Debug session,在調試窗口中,充分利用斷點設置與調試工具(如圖2)來分析程序的運行能不能達到目的,以及利用菜單Peripherals里面的Reset CPU、Interrupt、I/O-ports、Serial、Timer等調試輔助窗口觀察變化情況,使得程序分析更加具體、生動、易懂。(源程序:略)

圖2 調試工具按鍵
2.3 軟件與硬件的聯合調試[7]
將Proteus和Keil進行聯調,聯調設置步驟如下:
(1)目錄ProteusMODELS下的VDM51. dll文件復制到Keil安裝目錄的C51BIN目錄中。
(2)修改Keil安裝目錄下Tools. ini文件,在C51字段加入TDRV5=BINVDM51. DLL(“PROTEUS 6EMULATOR”)并保存。
(3)打開Proteus,畫出相應電路,在Proteus的“Debug”菜單中選中“Use Remote DebugMonitor”。
(4)進入Keil的Project菜單Option forTarget'工程名'。在Debug選項中右欄上部的下拉菜單選中Proteus VSM Monitor-51Driver。再進入Settings,設置Ip名為127.0.0.1,端口號為8000。
(5)打開KEIL,按F5開始仿真。同時在Proteus中查看直觀的結果。
Proteus提供了硬件的仿真平臺,Keil提供了軟件的仿真平臺,在Keil編譯軟件里清晰、具體地分析程序的執行流程,而在Proteus環境中,學生即可看到更加具體仿真效果,搶答者5搶答成功時,數碼管顯示為5,揚聲器響,其他搶答者不能搶答,主持人復位,搶答恢復功能。如圖 1所示。
2.4 學生的思維拓展
經過一個基于Proteus與Keil的簡單搶答器項目設計,學生具有一定的掌握能力,在此基礎上,要求有能力的學生進行項目思維拓展,要求學生設計一個《基于AT89C51單片機帶時間與聲光提示的搶答器》項目,功能為:主持人可以同時控制5個按鈕(復位按鍵、搶答開始按鍵、搶答限時開始按鍵、搶答時間調節按鍵、限時時間調節按鍵)等,主持人按了限時開始按鍵后,8個選手同時搶答,搶答成功的選手號送到數碼管顯示,LED燈亮、揚聲器響,限時時間顯示。主持人復位,搶答功能恢復。如圖3所示。這使得學生更接近市場工程項目的實踐設計,為以后就業打好基礎[6]。

圖3 基于AT89C51單片機帶時間與聲光提示的搶答器及仿真結果
3.1 內容全面,包括軟件程序的編譯、連接及調試,也包括硬件電路中的大部分電路,可以給學生有自由搭建硬件電路的空間,使得單片機教學由枯燥抽象,難以理解和掌握,變成更加具體、清晰、活躍與靈活,克服了用單片機實驗箱教學板教學中硬件固定、學生不能更改、內容固定等方面的局限性,可以拓展學生的項目開發思維,同時也激發學生對單片機學習的興趣。
3.2 硬件投入少,實驗過程損耗小,基本沒有元器件的損耗問題,經濟優勢明顯;學生可以自行項目開發,鍛煉解決實際工程問題,與工程實踐接近;由于學生學習了理論知識,要將其應用到實際的工程實踐中,其難度較大,但采用仿真軟件后,學生可以先在軟件環境中模擬通過,再進行硬件投入,可以省時省力,也節省因方案不正解所造成的硬件投入的浪費。
3.3 可以提高學生的知道水平、專業能力和專業素質方面的優勢,同時降低設計成本,縮短項目的開發周期,提高效率。學生可以課外獨立設計,驗證自己設計的項目系統,有助于培養學生的創新能力,擴展學生思維,提高學習效率與興趣。
單片機是一門不斷更新的課程,教師應該轉變觀念,改進教學手段和教學方法,逐步過渡到“教師指導下的以學生為中心”的教學模式上,充分調動學生的能動性。
基于Proteus和Keil軟件單片機項目式教學,很大程度上解決了課程教學枯燥無味的弊病,在提高了學生學習積極性的基礎上也鍛煉了學生實踐動手的能力,既降低了教學成本,又提高了教學效果,是高職院校教改的取向。
[1]胡敬朋,王聰.單片機項目教學研究及實踐[J].電氣電子教學學報,2009,31(5),82-84
[2]彭麗萍 ,顧亞文 ,顧廣寒 .基于Proteus和Keil軟件的單片機仿真教學[J].中國科技財富,2011(10)
[3]周潤景,袁偉亭,景曉松著.Proteus在MCS-51&ARM 7系統中的應用百例[M]. 電子工業出版社,2006
[4]林志琦著. 基于Proteus的單片機可視化軟硬件仿真[M] .北京航空航天大學出版社,2006
[5]王為青著.單片機Keil CX51應用開發技術[M] .人民郵電出版社, 2007
[6]楊居義著.單片機課程設計實例教程[M] .清華大學出版社 ,2010
[7]劉淑紅, 張國玉.單片機系統的Proteus和Keil聯調設計與仿真[J] ,2008,(10)97
[8]許超 ,吳新杰, 張丹.基于Proteus和Keil的單片機課程教學改革[J] ,201138(1),28~29
[9]施國英 ,李天華 ,丁筱玲. 基于Proteus和Keil軟件的單片機仿真實驗教學[J], 2011,1,40~43
[10]胡宏鐸 ,陳蘭麗.基于Proteus和Keil 的高職單片機課程教學改革[J],2011,5,71~71
Single-chip Project-based Teaching-based on Proteus and Keil
For the characteristics of this course in strong practice, and with the limited of Lab equipment, In order to improve the teaching effect and to develop the ability about innovating and experiment skills, Using Single-chip Project-based teaching methods based on the proteus and keil,with the single-chip project design and simulation based on proteus and keil,it can improve the efficiency of single-chip system design,with a good economy,flexibility.
10.3969/j.issn.1001-8972.2012.08.171
吳國文 男,1983年,廣東從化,大學本科,助教,研究方向為應用電子技術