摘 要:單片機課程是電子信息類專業(yè)的重要課程,本文在分析了傳統(tǒng)單片機課程教學(xué)存在問題的基礎(chǔ)上,提出理論課程結(jié)合仿真軟件Proteus的方案,簡述了Proteus與理論課程相結(jié)合的方法,并通過具體實例說明了如何將Proteus軟件引入到教學(xué)中去。
關(guān)鍵詞:單片機;Proteus;教學(xué);仿真
中圖分類號:TP368.1-4;G712
單片機課程是電氣自動化、電子信息等專業(yè)的一門專業(yè)必修課,是學(xué)生學(xué)習(xí)嵌入式系統(tǒng)設(shè)計一門基礎(chǔ)課。而嵌入式系統(tǒng)的設(shè)計一般包括硬件和軟件兩部分,也就是單片機課程在進行教學(xué)設(shè)計時要考慮到這兩部分,同時要注意軟件部分和硬件部分教學(xué)內(nèi)容的結(jié)合。而傳統(tǒng)的單片機教學(xué)過程并不能很好將兩部分結(jié)合起來,學(xué)生普遍反映課程較難,比較抽象,不能與實際很好的相結(jié)合。而在單片機的實驗課程中,學(xué)生要使用電腦編程,再與實驗設(shè)備相連,有的還要自行進行連線,在這個過程中,并不能有效的提高學(xué)生的動手能力,同時上位機和下位機相連的過程中非常容易發(fā)生問題,導(dǎo)致兩者連接不上,學(xué)生不能順利完成實驗,更得不到相應(yīng)的鍛煉。使用Proteus則可以克服這些問題,對于初學(xué)者,使用Proteus仿真軟件完全可以滿足要求。
1 Proteus仿真軟件簡介
Proteus是一種EDA(電子設(shè)計自動化)軟件,其中一個重要的功能就是可以仿真單片機及外圍器件。它可以實現(xiàn)原理圖布圖、代碼調(diào)試和單片機與外圍電路協(xié)同仿真,并可以實現(xiàn)PCB(印刷電路板)自動或人工布線,使用Proteus可以建立完備的電子設(shè)計開發(fā)環(huán)境。Proteus處理器模型包括8051、AVR、ARM等主流單片機芯片,新版本的Proteus也在不斷增加更多的處理器模型。同時,proteus還提供多種激勵源、虛擬儀表,自帶8051、AVR匯編編譯器,能夠與多種編程調(diào)試工具連接,如Keil、Hitech等。利用Proteus仿真軟件,可以在沒有實際電路的情況下,可以將很多單片機課程中的實例形象化,不但可以觀察最終結(jié)果,也可以將程序分段來運行,使整個實例的運行過程形象化。
2 Proteus在單片機教學(xué)中的應(yīng)用
2.1 單片機教學(xué)課程的教學(xué)內(nèi)容及其教學(xué)特點
單片機課程在不同高校中由于側(cè)重點不同,所教授的內(nèi)容并不完全相同,但最終目的都是要是學(xué)生學(xué)會對某類單片機的使用,能夠在學(xué)完相應(yīng)課程的基礎(chǔ)下,能夠獨立的完成單片機課程設(shè)計。教學(xué)內(nèi)容即包括軟件部分也包括硬件部分,而且兩部分要結(jié)合起來講解。軟件的基礎(chǔ)就是指令代碼,一般為匯編語言或C語言。硬件部分主要包括單片機芯片本身內(nèi)部各功能模塊和各種外圍擴展芯片。單純的理論教學(xué)不足之處是課程較乏味,指令、寄存器等部分內(nèi)容較抽象,教學(xué)內(nèi)容不容易與實際相結(jié)合,學(xué)生從而不能直觀上掌握知識。
2.2 單片機教學(xué)中引入Proteus仿真軟件
針對以上單片機課程的特點,在課堂教學(xué)中,結(jié)合Proteus進行實例演示,不使用任何實際電路,單片機硬件設(shè)計和軟件調(diào)試的全過程均可實現(xiàn),這是傳統(tǒng)教學(xué)方法不能達(dá)到的。在教學(xué)中對實例用Proteus進行仿真,這種結(jié)合實際講解知識點的方法,能夠大大激發(fā)學(xué)生的學(xué)習(xí)興趣,使知識點變得容易理解、接受,從而提高教學(xué)質(zhì)量。
在我們?nèi)粘躺钪衅鋵嵱泻芏嗟胤蕉际褂玫絾纹瑱C,如馬路信號燈、廣告牌等,將這些日常所見的東西與課堂所學(xué)知識聯(lián)系起來,可以很大程度上提高學(xué)生對這門課程的興趣,所以在課程開始之時,利用Proteus演示一個實例,使學(xué)生對這門課程有一個直觀的認(rèn)識,增加了課程的吸引力。單片機的理論課程是枯燥乏味的,如指令代碼、各個功能模塊的使用等,這樣,在每個單元的開始之初,我們選擇相應(yīng)的實例通過Proteus展示給學(xué)生,學(xué)生能夠?qū)ο旅嫠鶎W(xué)知識有一個整體上的認(rèn)識,每章接收之后,通過給學(xué)生布置作業(yè)或者學(xué)生自己尋找合適的題目的方式,讓學(xué)生通過Keil和Proteus完成一個小的題目,這樣一是可以鞏固之前所學(xué)的知識,同時可以獲得小小的成就感,為下面的學(xué)習(xí)增加信心。
將Proteus引入課堂后,對學(xué)生成績的評價也可得到相應(yīng)的改善,單片機課程是一門注重實踐的課程,教學(xué)的最終目的是讓學(xué)生能夠獨立并熟練的使用單片機,傳統(tǒng)的紙質(zhì)作業(yè)并不能將軟件、硬件相結(jié)合,也就不能完全體現(xiàn)學(xué)生水平,作業(yè)內(nèi)容缺乏吸引力,這樣并不能提高學(xué)生的自主學(xué)習(xí)能力。引入Proteus仿真軟件后,學(xué)生可以自己動手實現(xiàn)一些小的功能,內(nèi)容有趣,通過這樣的作業(yè)能夠提高分析和解決問題的能力。
2.3 注意仿真電路和實際電路的區(qū)別
Proteus仿真軟件的確為學(xué)習(xí)單片機提供了方便,但仿真電路不等同于實際的電路,兩者之間的區(qū)別一定要清楚。即便按照結(jié)果正確的仿真電路制作出的電路板,也并不一定能實現(xiàn)它的功能。因為實際的電路板還收到元器件、電路連接質(zhì)量和實際運行環(huán)境等因素的影響,要經(jīng)過不斷的調(diào)試才能最終實現(xiàn)它的功能。
2.4 Proteus在單片機教學(xué)中的意義
單片機課程是一門需要注重實踐練習(xí)的課程,過去的教學(xué)過程由于不能著重鍛煉學(xué)生實際解決問題的能力,使得單片機課程成為一門難教、難學(xué)的課程。在課程教學(xué)過程中引入Proteus仿真軟件,對教師和學(xué)生來說,都具有非常重要的意義。教師在課程設(shè)計的過程中,可以根據(jù)課程內(nèi)容加入相應(yīng)的實例,通過對實例逐步的講解和演示,使整個課程內(nèi)容更容易理解和掌握,提高了教學(xué)質(zhì)量。學(xué)生在學(xué)習(xí)過程中由于增加了更多的感性認(rèn)識,提高了學(xué)習(xí)興趣,學(xué)習(xí)的過程中困難減少。通過老師實例的講解,對所學(xué)知識也能形成一個整體上的認(rèn)識。而課后通過使用Proteus完成相應(yīng)的學(xué)習(xí)任務(wù),提高了自行解決問題的能力。
3 應(yīng)用舉例
中斷系統(tǒng)是單片機學(xué)習(xí)中必須要掌握的一個功能部件,為了讓學(xué)生更直觀的掌握這部分知識,我們選用一個實例進行講解。使用中斷方式進行編程,中斷子程序使得發(fā)生外部中斷0,且為下降沿觸發(fā)時,與P1口相連的8個LED燈全亮。中斷結(jié)束后8個燈繼續(xù)接上次狀態(tài)進行跑馬燈閃爍。
我們設(shè)定燈亮的時間為0.5S,采用軟件延時的方法。編寫子程序時要注意對現(xiàn)場進行保護。程序編寫完成后便可進行軟件仿真了。
第一步:根據(jù)要求設(shè)計好電路圖,打開Proteus7.1軟件,添加所需元器件并連接好電路。
第二步:打開Keil軟件,使用匯編語言編寫源程序,然后進行編譯、連接,若程序出現(xiàn)錯誤,要進行修改,直到程序無誤。
第三步:設(shè)置Proteus和keil,以實現(xiàn)兩個軟件的聯(lián)調(diào)。
第四步:在Keil中運行源程序,若燈能夠按照要求亮滅,則說明聯(lián)調(diào)成功。采用單步運行的方式,可以讓學(xué)生一步一步的理解程序。而全速運行程序是,則可讓學(xué)生從整體上觀察到程序運行的結(jié)果。
4 結(jié)束語
通過使用Proteus作為單片機輔助教學(xué)工具,能夠促進課程改革,學(xué)生學(xué)習(xí)興趣和解決實際問題的能力增加,提高了學(xué)習(xí)效率,對原理性的知識有了更深刻的認(rèn)識。同時Proteus的引入也提高了教師的教學(xué)質(zhì)量,促使教師不斷的對教學(xué)過程進行改革,有效的改善教學(xué)效果。
參考文獻:
[1]許超,吳新杰,張丹.基于Proteus和Keil的單片機課程教學(xué)改革[J].遼寧大學(xué)學(xué)報,2011(01):125-127.
[2]伍馮潔,謝斌.基于Proteus與Keil的單片機實驗教學(xué)改革[J].實驗室研究與探索,2009(07):27-29.
作者簡介:孔德平(1982-),女,山東聊城人,碩士,教師,助教,研究方向:電機控制。
作者單位:濱州學(xué)院電氣工程系,山東濱州 256600