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