李有光, 聞 新, 南 英
(南京航空航天大學 航天學院,江蘇 南京210016)
AVR 單片機采用雙總線的哈弗結(jié)構(gòu),其RAM 中的前32 個單元作為通用寄存器,直接與運算邏輯單元相連,可實現(xiàn)寄存器文件的快速存取。AVR 單片機還采用精簡指令集,且具有高速低功耗等優(yōu)點,目前已被包括我校航天學院在內(nèi)的眾多院校選定為本科生必修課程,AVR 單片機實驗起著舉足輕重的作用[1-2]。開設(shè)實驗的目的是提高學生實踐和創(chuàng)新能力[3-4]。
在教學方法和手段方面,為提高學生學習效率,需要采用合理的教學方法和手段[5-6],對于初學單片機的本科生適合采用以C 語言學習為主,匯編語言學習為輔的方針,以避免枯燥的匯編指令困擾。C 語言編譯器目前流行的主要有CVAVR、WinAVR、AVR Studio 和ICCAVR 等,同時采用可以對AVR 單片機及接口芯片實現(xiàn)硬件仿真功能的軟件Proteus 進行教學[7-9]。以學生作為認知主體,在實驗環(huán)節(jié)中設(shè)計和開發(fā)面向?qū)嶋H應(yīng)用的實驗項目,激發(fā)學生學習興趣,啟發(fā)探索精神,使學生在學到扎實的專業(yè)實驗技能的同時,掌握項目開發(fā)的基本方法,逐步培養(yǎng)其發(fā)現(xiàn)問題、分析問題和解決問題的能力,這對培養(yǎng)學生的創(chuàng)新思維和實踐動手能力有著極為重要的指導意義。
在專業(yè)差異性方面,不同專業(yè)本科學生所需的實踐技能側(cè)重點也有所差異。對于控制專業(yè)的學生,主要側(cè)重于直流無刷電機、各種壓力、溫度、電壓和電流傳感器等控制對象的使用方面[10-12]。對于信息專業(yè)的學生,則主要注重各種通信協(xié)議和代碼生成及轉(zhuǎn)換等[13]。以往,在實驗項目的開發(fā)和研制上沒有考慮學生所學專業(yè)的差異性,沒有設(shè)計不同的實驗實踐項目以滿足本科生自身及專業(yè)差異性發(fā)展的要求。
目前已開始了大規(guī)模的實驗教學,并在培養(yǎng)自主意識、創(chuàng)新素質(zhì)和團隊協(xié)作等方面,取得良好的教學效果。同時,面對眾多實驗,不同專業(yè)的教學也出現(xiàn)一些新問題。本文討論了在實驗教學中出現(xiàn)的問題,并在“面向工程的軟硬件整合”方面做了一些探索和研究。
(1)有些程序代碼工程實用性不足。針對目前
AVR 單片機實驗教學編寫的代碼功能不全,有些代碼只實現(xiàn)了部分硬件功能,且這些代碼與硬件的關(guān)系論述不清楚,例如在字符式LCD1602 液晶顯示實驗里,延遲函數(shù)設(shè)定的延遲時間由內(nèi)部芯片HD44780 和HD44100 響應(yīng)時間決定,不同指令執(zhí)行時間不同,用很長的延遲時間雖然可以完成功能,但相應(yīng)的查詢“忙”狀態(tài)的時間也相應(yīng)增加,而且在復(fù)雜的工程應(yīng)用中很容易被中斷,增加MCU 負擔,實際應(yīng)用的程序還需處理很多其他任務(wù),因此需要充分了解指令與硬件的關(guān)系,以及同時進行的其他任務(wù)特點,相應(yīng)修改程序,例如為節(jié)省資源盡量用4 位總線,最少的延遲時間。
(2)Proteus 軟件并未被普遍采用。Proteus 軟件是英國Lab Center Electronics 公司開發(fā)的EDA 軟件,于1989 年問世,已發(fā)展25 年,得到全世界范圍的廣泛應(yīng)用。Proteus 軟件具有通用EDA 軟件的原理圖編輯、制板和數(shù)模電仿真功能,除此外還是目前世界上唯一能進行單片機應(yīng)用系統(tǒng)虛擬設(shè)計與仿真功能的軟件,它可以對基于單片機應(yīng)用系統(tǒng)及眾多的外圍接口芯片、電子元器件以及外部的各種測試儀器一起仿真。Proteus 提供了30 多個元件庫,涉及到8086、51、AVR和Cortex-M3 等各種嵌入式處理器芯片、數(shù)字和模擬等上萬種元器件,并提供了各種激勵源和虛擬儀器(示波器、信號發(fā)生器、邏輯分析儀和計數(shù)定時器等等),為單片機應(yīng)用系統(tǒng)的虛擬仿真提供了各種方便的硬件電路和軟件的調(diào)試手段。該軟件使得單片機系統(tǒng)的調(diào)試方法與設(shè)計思想發(fā)生根本性的變革,克服了傳統(tǒng)實驗教學模式存在的諸多不足[14-16],對提高本科生的設(shè)計與調(diào)試能力以及實踐能力有了一個質(zhì)的飛躍。但此軟件目前只在學院個別班級使用,并未全面普及。
(3)課程考核方式不全面。該實驗課和理論課作為一門課進行教學,考核方式采用期末試卷成績占70%,平時成績占30%的方法,把大作業(yè)和基礎(chǔ)實驗的考核計入平時成績里,這樣導致后者比重太小,學生的學習重點還是放在書本上,會出現(xiàn)死記硬背的現(xiàn)象。
分析上述問題,不難發(fā)現(xiàn)問題關(guān)鍵在于以工程需求為背景,有效提高學生的應(yīng)用設(shè)計能力。解決的根本辦法是設(shè)置大量具體的工程項目,充分利用Proteus軟件與硬件實驗平臺進行深入整合。
用傳統(tǒng)方法學習AVR 單片機過程中,各個章節(jié)單獨講授,講授的目的是使學生掌握基本概念、基本知識和基本設(shè)計方法。在初學時往往是“只見樹木不見森林”,但使用AVR 單片機完成實際工程項目時,一定要使各章節(jié)有機結(jié)合。因此為使學生能夠融會貫通地使用AVR 單片機,需要設(shè)置大量基于工程的實驗項目,每人一題,使題目都不相同。以“拋錨式法”提出,激發(fā)學生的學習動力,由學生從資料查詢、收集、整理,消化吸收現(xiàn)有成果,直至完成既定目標,讓學生在真實的工程環(huán)境中去感受和體驗該實驗所應(yīng)用的知識點以及知識點之間的聯(lián)系,通過學生的自主學習和協(xié)助學習,來完成對所學知識的意義建構(gòu),這也是今后完成本科畢業(yè)設(shè)計或?qū)砜蒲泻凸ぷ髦兴扇〉姆椒ā?/p>
這一過程的考核適宜以大作業(yè)的形式進行,每個大作業(yè)盡量涵蓋課堂講授的AVR 單片機的基本概念、基本知識以及基本設(shè)計方法,每個作業(yè)要盡量涉及較多的片內(nèi)功能部件與各種擴展,這可以鍛煉學生的硬件系統(tǒng)設(shè)計能力,軟硬件聯(lián)調(diào)能力。在理論教學一開始就給學生分配下來,使他們能夠有充足的時間去完成任務(wù)。實際上大作業(yè)題目完成的過程,就是學生設(shè)計與實踐能力提高的過程。對大作業(yè)的考核是看其運行是否通過,功能是否達到設(shè)計要求,對大作業(yè)中不足之處和精彩的地方也要予以指出,最好學生和老師一起討論,使班級每個人都能從自己和其他人的大作業(yè)中受益,相互促進,相互提高,起到事半功倍的效果。這樣才真正有利于學生設(shè)計水平的不斷提高。因此,大作業(yè)環(huán)節(jié)是培養(yǎng)提高學生設(shè)計與工程實踐能力的一個重要舉措。
隨著單片機技術(shù)的發(fā)展,新理論和新技術(shù)不斷涌現(xiàn),AVR 單片機和Proteus 軟件的出現(xiàn)便是最好的例證。Proteus 軟件在單片機課程中的應(yīng)用改變了傳統(tǒng)的教學模式,它用軟件模擬了真實的實驗平臺,這使得單片機系統(tǒng)的調(diào)試可以先于實驗平臺的建立,使單片機的設(shè)計理念發(fā)生了根本的變革,這是傳統(tǒng)的教學模式所無法比擬的,對提高學生的系統(tǒng)設(shè)計與聯(lián)合調(diào)試能力以及工程實踐能力有了一個質(zhì)的飛躍。
建議Proteus 在單片機教學中的使用方法如下:
(1)在講授單片機內(nèi)容前大致介紹Proteus ISIS軟件和C 語言編譯軟件,并提供學習視頻資料,限定學習范圍。
(2)在講授前幾章內(nèi)容時,詳細給出程序的編譯和.HEX 或.coff 文件的生成過程,演示Proteus ISIS 中元器件查找的方法和常用庫文件分類,演示原理圖的繪制、熔絲位配置、.hex 文件或.coff 文件的加載、仿真調(diào)試和波形觀察等。在學生熟練掌握軟件使用后上述操作可僅做演示或讓學生自行完成。
(3)因Proteus 設(shè)計不受時間、地點以及硬設(shè)備、儀器的限制,可以布置課后作業(yè),讓學生逐步掌握Proteus ISIS 及編譯軟件?;A(chǔ)實驗要求先在Proteus ISIS 下仿真通過,然后再在相應(yīng)的硬件實驗系統(tǒng)調(diào)試通過。
(4)可以根據(jù)需要講授Proteus ARES。
在基礎(chǔ)實驗環(huán)節(jié)中,需建立一套基于Proteus 和硬件實驗箱相結(jié)合的實驗平臺,設(shè)計與課程教學內(nèi)容緊密結(jié)合的實驗題目,包括必做題目5 個:I/O 中斷和數(shù)碼管顯示、定時/計數(shù)器、串行通信、鍵盤和顯示、A/D和D/A 等基本實驗;選做題目5 個:溫度及壓力測量、電動機控制、繼電器以各種擴展功能等。上述實驗可根據(jù)不同專業(yè)特點適當修改。需向?qū)W生強調(diào),由于時延和噪聲等因素,仿真不能完全代替實際實驗驗證。
從軟硬件結(jié)合和工程應(yīng)用的角度布置實驗,增強了學生的單片機的理解深度,使學生脫離了硬件實驗平臺的束縛,降低了學習成本,提高了學習效率,激發(fā)學生的學習興趣,提高了教學質(zhì)量,目前已取得了很好的效果。
目前,單片機課程的考核是試卷成績占70%,平時成績占30%,大作業(yè)和基礎(chǔ)實驗成績計入平時成績。閉卷考試重點考核理論知識,學生經(jīng)常是在考試前一周死記硬背基本概念,對基本概念和概念間的聯(lián)系不甚理解,考試結(jié)束一段時間后很容易忘記。單片機是實用性很強的課程,其應(yīng)用靈活多樣,這種考核方式很難考察出學生的應(yīng)用水平,甚至有可能使學生誤解單片機只要會背例程和概念就可以了,并不深究其內(nèi)部結(jié)構(gòu)本質(zhì)和周圍接口芯片特點,這對他們今后的發(fā)展極為不利。既然Proteus 軟件已在單片機課程中廣泛應(yīng)用,使得課程的教學理念、教學方法以及實驗手段都產(chǎn)生了變革,因此相應(yīng)的考核方式也應(yīng)變革。
應(yīng)采取多樣化的考核方式,考核包括三個方面,理論知識的考核,占總成績的50%,基礎(chǔ)實驗的考核,占總成績的30%,大作業(yè)的考核占總成績的15%,平時成績占總成績的5%。對基礎(chǔ)實驗和大作業(yè)中的實驗,全部要求學生先在Proteus 中仿真通過,然后在實驗平臺上驗證。平時成績可以作為課堂表現(xiàn)的考核分數(shù)。通過這種方式既可以了解學生理論知識的掌握程度,也可以考查學生的動手實踐和創(chuàng)新能力。
以AVR 單片機應(yīng)用為基礎(chǔ),以提高學生實踐和創(chuàng)新能力為目標,結(jié)合航天學院各專業(yè)本科生實驗教學的實際情況,整合了軟硬件教學方法和考核手段,優(yōu)化了實驗資源配置,節(jié)約硬件開發(fā)成本和周期。經(jīng)過3年的改革實踐表明,通過軟硬件教學方法和考核方式改革的實施,增加了學生學習的興趣,減輕了學生學習壓力,學生不但掌握教學大綱要求的軟硬件基礎(chǔ)知識,而且對單片機及外圍芯片的內(nèi)部電路拓撲結(jié)構(gòu)也有深入的了解。從本學院本科生畢業(yè)設(shè)計過程中可以看出,學生在實際工程應(yīng)用項目的開發(fā)質(zhì)量和數(shù)量上都有較大幅度提高,并且改革措施已面向全院本科生推廣開來。
[1] 李 穎,習友寶.實驗教學示范中心實驗室運行機制與管理模式的探索與實踐[J].實驗室研究與探索,2009,28(4):88-90.
[2] 陳學英. 電子技術(shù)綜合實驗教學方法研究與實踐[J]. 實驗科學與技術(shù),2011,9(2):127-130.
[3] 吳世麗,儀建紅.工科大學生核心競爭力的培養(yǎng)[J].長春工業(yè)大學學報(高教研究版),2008,29(2):70-72.
[4] 吳慶云.淺析如何提高大學生科研創(chuàng)新能力[J].教育教學論壇,2012(11):12-13.
[5] 張欣欣,蔡莽勸,羅建勇,等. 學生工程及科研創(chuàng)新能力培養(yǎng)的實踐[J]. 實驗室研究與探索,2014,33(3):194-196.
[6] 周權(quán)鎖,鄒建文,鄭金偉. 本科生差異性發(fā)展的實驗實踐項目探索與研究[J].實驗室研究與探索,2014,33(2):199-202.
[7] 張毅剛,胡瑞強. 基于Proteus 的單片機課程的教學改革與實踐能力培養(yǎng)[J]. 教育教學論壇,2015(5):149-150.
[8] 王海燕,楊 艷. Proteus 和Keil 軟件在單片機實驗教學中的應(yīng)用[J]. 實驗室研究與探索,2014,33(2):199-202.
[9] 王 娟. Proteus 軟件在單片機專題實訓中的應(yīng)用[J]. 實驗室研究與探索,2014,31(8):72-74.
[10] 劉 寧. 直流電機角位置控制實驗開發(fā)[J]. 實驗室研究與探索,2010,29(10):181-183.
[11] 汪燦華,陳慶梅,張 康,等. 虛擬實驗平臺在嵌入式系統(tǒng)實驗中的應(yīng)用[J]. 實驗室研究與探索,2012,31(10):67-69.
[12] 王 艷,王麗娟,甄姬娜. 1-wire 總線多點溫度檢測顯示系統(tǒng)在Proteus 中的仿真實現(xiàn)[J]. 制造業(yè)自動化,2013,35(7):52-56.
[13] 王 凡. Proteus 在電子信息類畢業(yè)設(shè)計中的應(yīng)用與研究[J].實驗技術(shù)與管理,2014,31(4):112-114.
[14] 房慧龍,羅錦宏. Proteus 仿真軟件在單片機教學中的應(yīng)用[J].常州信息職業(yè)技術(shù)學院學報,2013,12(1):27-29.
[15] 龔 軍,羅 杰,汪小燕. 基于仿真的嵌入式系統(tǒng)教學實驗方法[J]. 實驗室研究與探索,2009,28(5):53-56.
[16] 宋 欣. 以課題設(shè)計為單元的單片機教學改革[J]. 價值工程,2012,31(29):232-233.