安紅戰 方蕾
摘 要:《機電設備單片機控制技術》是機電一體化專業的一門核心課程,在學生的專業能力培養中占據重要的地位。但由于該課程理論性和實踐性要求較強,長期以來,學生在學習該課程時存在"抽象"、"難懂"的問題,容易產生畏懼感而喪失學習的興趣和信心。Proteus軟件作為一款優秀的單片機仿真軟件,可以實現單片機系統的形象化仿真。將其應用在單片機教學中,極大地改善了單片機課程的教學效果,提高了學生的學習興趣和積極性,在此作者介紹了Proteus軟件在單片機教學中的應用。
關鍵詞:單片機;Proteus;教學
0 前言
職業教育的目標是培養高技術水平的專業人才。作為機電一體化專業的一門核心課程,《機電設備單片機控制技術》在學生的專業能力培養中占據不可忽視的作用。根據教學目標,該課程學習完后,學生應該熟悉單片機的體系結構,掌握單片機的指令系統,學會中斷系統、定時/計數器及各種接口的應用,具備單片機應用系統開發、設計的基本技能,能夠完成簡單控制系統的設計。但由于單片機課程內容比較抽象,實踐動手能力又要求比較強,所以不管是傳統的"理論+實驗"教學模式,還是采用任務驅動式教學模式或項目化教學模式,都沒有根本性地改變學生對單片機課程的無趣和畏懼感。究其原因,一方面在于沒有把抽象的知識變得形象化、具體化,即沒有變成學生便于理解和接受的內容。另一方面,就是學生缺乏足夠動手實踐的機會,無法在實踐中找到學習單片機的樂趣。如何有效地解決這兩個方面的問題,是提高單片機教學質量的關鍵所在。
1 Proteus軟件介紹
Proteus軟件是英國Labcenter electronics公司設計開發的EDA工具軟件,是目前全球最好的仿真單片機及外圍器件的工具。它從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計,是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺。Proteus軟件支持單片機匯編語言的編輯、編譯、源碼級仿真,內帶8051、AVR、PIC的匯編編譯器,也可以與第三方集成編譯環境結合,進行高級語言的源碼級仿真和調試。在Proteus中繪制好原理圖后,調入已編譯好的目標代碼文件,就可以在原理圖中看到模擬的實物運行狀態和過程。Proteus軟件不僅可將許多單片機實例功能形象化,得到實物演示的效果,也可將許多單片機實例運行過程形象化,達到實物演示難以達到的效果。Proteus軟件是單片機課堂教學的有力助手,是學生學習單片機的有效工具。
2 Proteus軟件在改進單片機教學中的優勢
對于單片機這種內容抽象、實踐性強的課程,要想達到較好的教學效果,課堂演示和實驗有著至關重要的作用。通過課堂演示,可以將抽象的理論、枯燥的程序分析轉化為生動的實例;而實驗則能夠培養學生的動手能力和獨立思考能力,進一步理解有關理論知識。
傳統的單片機教學中,很難在課堂上做到現場演示。一方面演示需要的準備工作較多,同時需要相關的儀器和設備,而把儀器和設備在實驗室與教室之間來回搬動很不方便。另外,最終的演示表現就是老師站在講臺上拿著實驗箱把程序的運行結果展示給學生,由于實驗箱體積小,后排學生難以看得清楚,因此并不會達到預期的演示效果。
而且,目前的單片機實驗主要是在外購的實驗箱上完成,而生產廠商為了實現技術保密,實驗箱都采用密封式結構,僅把實驗所需的有關接口引出,整個實驗系統的內部連線沒法看見。學生做實驗時,按照接線說明,簡單地用幾根插接線連接幾個接口,就完成了整個實驗環境的構建,錯誤的認為單片機實驗就是連幾根線,而無法對單片機實驗系統的具體硬件結構有個清楚的認識。同時,單片機實驗箱的實驗項目都是固定好,無法改變的,大都是些驗證性的實驗,造成學生對實驗內容缺乏興趣,無法提高學生的思維能力和動手能力。
Proteus軟件的出現,引起了單片機教學和控制系統設計的變革。將Proteus軟件引入到教學中去,對單片機的教學起到了以下幾個主要方面的改善。
第一,便于課堂演示。在理論教學過程中,老師可以把每一個知識點通過用Proteus軟件構建的虛擬實驗系統進行演示,把晦澀難懂的知識變成生動的實例,方便了學生的理解和接收。
第二,便于實驗。利用Proteus構建虛擬實驗室,能夠突破傳統實驗對"時、空"的限制,可以自由地利用虛擬實驗室進行各種實驗,為學生提供一個開放、便利的實驗環境。
第三,便于開展項目化教學。理論教學時可借助Proteus構建的虛擬實驗系統及多媒體進行項目化教學,通過對每個項目的講解和驗證,使學生直觀感受單片機編程的魅力,激發學生學習的興趣。
第四,支持學生自行實驗,鍛煉解決實際工程問題的能力。傳統實驗教學中,學生自行實驗時,需要購置較多的設備,增加了他們學習和研究的投入。采用基于Proteus的虛擬實驗系統后,學習的投入變得比較小。而對實際工程問題的研究,也可以先在軟件環境中模擬通過,再進行硬件的投入,這樣處理不僅省時省力,也可以節省因方案不正確所造成的硬件投入的浪費,有利于培養學生的分析能力、設計能力和創新能力。
3 Proteus軟件在單片機教學中的應用示例分析
Proteus軟件可以直觀、形象地模擬實際單片機系統的運行,下面以"數碼管動態顯示8位固定數字"的任務為例,介紹如何利用Proteus軟件來實現單片機系統的設計與仿真,完成對控制方案的驗證。
3.1 任務介紹
動態顯示是把各數碼管的相同段選線并聯在一起,由一個I/O口控制,而其公共端由其他的I/O口控制,然后采用掃描方法輪流點亮各位數碼管,使每位數碼管分時顯示各自應該顯示的字符。各數碼管雖然是分時輪流導通,但由于發光二極管的余輝效應和人眼的視覺暫留作用,當循環掃描頻率選取適當時,看上去所有的數碼管是同時點亮的。本任務要求編程實現8個LED數碼管動態顯示"87654321"8個數字。
3.2 電路設計
按照任務要求設計電路原理圖。點擊Proteus軟件的ISIS 7 Professional選項,進入Proteus的編輯窗口。通過對象選擇按鈕將所需元器件(AT89C51、74HC244、7SEG-MPX8-CA-BLUE等)加到對象選擇器窗口,然后再在對象選擇器窗口中選中所需元器件放到圖形編輯窗口,元器件添加結束后,完成元器件之間的連線,最后的硬件電路如圖1所示。
3.3 程序設計
雖然Proteus軟件自帶的ASEM51代碼生成工具可以編輯匯編源程序,但使用其他專用軟件進行源程序的編輯與編譯更為方便,這里使用Wave軟件。啟動Wave軟件,新建一個程序文件,然后在編輯窗口中編寫程序,如圖2所示。程序編輯好后,保存為DTXS.ASM,然后按下編譯按鈕或F9鍵,編譯源程序,生成DTXS.HEX文件。
3.4 仿真運行
在Proteus原理圖編輯窗口中,雙擊單片機,彈出編輯元件屬性對話框,在時鐘頻率項中設置單片機的時鐘頻率為12MHz,在源文件項中把生成的DTXS.HEX文件加載進去,然后按確定按鈕,退出對話框。再點擊Proteus原理圖編輯窗口下方的開始按鈕或按F12鍵,單片機開始仿真運行。此時,可以清楚地觀察到單片機每一個引腳的電平變化,同時可以看到數碼管上顯示數字"87654321",如圖3所示。也可以點擊調試按鈕實現程序的仿真調試,在調試過程中,可以觀察內部存儲器、通用寄存器和特殊功能寄存器的相關狀態。
仿真運行正確后,可直接進行實際電路的制作和焊接,并將目標代碼下載到單片機后,實際電路就能正常工作。同時,在Proteus軟件仿真完成這一工作任務之后,老師再給學生講授LED數碼管動態顯示的工作原理和程序設計方法,學生很快就會掌握相關的知識和編程方法。
4 結論
利用Proteus軟件的仿真功能,在教學過程中,老師可以隨時對所講內容通過Proteus構建虛擬實驗系統來驗證和演示,做到"邊教邊做";另一方面,學生可以在基于Proteus軟件的虛擬實驗系統上完成各種實驗,同時還可自行設計實驗,做到"邊做邊學"。利用Proteus軟件能夠彌補單片機教學中的不足,達到理論和實踐的有機融合和統一,增強了學生的動手能力,培養了學生的學習興趣。
參考文獻:
[1] 彭偉. 單片機C語言程序設計實訓100例:基于8051+Proteus仿真. 北京:電子工業出版社,2009.
[2] 馮文旭. 單片機原理及應用. 北京:機械工業出版社,2008.
[3] 仝戰營. 高職高專單片機課程一體化教學改革的探索與實踐. 中國科技信息,2012,6.
[4] 陳丹. 基于Proteus的單片機虛擬實驗設計. 計算機教育,2014,5.
[5] 孫敏. 基于Proteus的汽車起重機監控系統設計. 機械設計與研究,2013,2(29).
科研項目:湖南鐵路科技職業技術學院院級科研課題(HNTKY-KT2014-1)。