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