方天紅,陳知紅
(湖北工程學(xué)院 物理與電子信息工程學(xué)院,湖北 孝感 432000)
單片機應(yīng)用系統(tǒng)設(shè)計是繼單片機原理及應(yīng)用理論與實驗教學(xué)之后,開設(shè)的一門單片機設(shè)計課程。它是電子信息類、電氣類、計算機類等專業(yè)的一門專業(yè)選修課,也是一門重要的面向工程實際應(yīng)用的實踐課程,其目標(biāo)是訓(xùn)練和培養(yǎng)學(xué)生利用所學(xué)單片機知識,開發(fā)和設(shè)計單片機應(yīng)用系統(tǒng)。要求掌握單片機應(yīng)用系統(tǒng)各主要環(huán)節(jié)的設(shè)計、開發(fā)步驟以及調(diào)試方法等,能夠為學(xué)生學(xué)習(xí)后續(xù)課程及畢業(yè)后從事與單片機應(yīng)用技術(shù)相關(guān)工作崗位打下堅實基礎(chǔ)[1]。為了落實以學(xué)生發(fā)展為中心、產(chǎn)出為導(dǎo)向的培養(yǎng)目標(biāo),針對單片機應(yīng)用系統(tǒng)設(shè)計當(dāng)前教學(xué)中存在的問題,本文基于虛擬仿真與實踐的單片機應(yīng)用系統(tǒng)設(shè)計進(jìn)行實驗教學(xué)改革,取得了較好的效果。
單片機應(yīng)用系統(tǒng)設(shè)計是培養(yǎng)學(xué)生分析問題、解決問題等綜合能力的重要環(huán)節(jié),課程為32學(xué)時,全部為實踐學(xué)時,通常安排8周時間完成,在創(chuàng)新實驗室上課。課程總評由設(shè)計報告,實物組成,其中報告占30分,仿真及實物制作占70分,當(dāng)前課程教學(xué)中主要存在以下問題。
1)題目資源更新不及時,在近幾年的教學(xué)中,選題大多數(shù)采用的是往屆的經(jīng)典題目,未做較大改變。選題方式是教師出題和學(xué)生自擬題目,采用一人一組的模式。在教學(xué)中發(fā)現(xiàn),對于重復(fù)題目,容易出現(xiàn)雷同作品,對此解決的辦法是在已有題目上增加擴(kuò)展要求,可以參考最近的大學(xué)生電子設(shè)計競賽、藍(lán)橋杯等競賽題目,更新題目資源。另外,原本為了激發(fā)學(xué)生的積極性,采用教師出題和學(xué)生自擬題目相結(jié)合的方式,但是在實際教學(xué)中,部分同學(xué)選擇自擬題目的原因是為了選擇更加簡單的設(shè)計。因此對選擇自擬題目的同學(xué),增加門檻,具有院內(nèi)電子設(shè)計競賽培訓(xùn)經(jīng)歷或者自己做過一些單片機小制作的同學(xué)才可以選擇自擬題目,提倡學(xué)生將自己的小制作擴(kuò)展為課程設(shè)計。在教學(xué)過程中,一人一組模式的教學(xué)效果不夠理想,為此改為3人一組協(xié)作完成題目。
2)課程組織管理不夠科學(xué),從題目和設(shè)計要求發(fā)布,到實物驗收和上交報告,師生之間雖然有交流,但是不夠深入。為了有效掌握學(xué)生的設(shè)計進(jìn)度、任務(wù)完成度以及增加師生之間的互動,提高教學(xué)效果,采用翻轉(zhuǎn)課堂教學(xué)模式,讓學(xué)生課前有任務(wù),課中有收獲,課后有反思。
3)考核方式單一,目前總評中實驗報告占30分,仿真及實物占70分。采取的是結(jié)果性考核,只需要設(shè)計報告和最后的驗收,缺少學(xué)生的過程性考核,不能全面、真實反映學(xué)生學(xué)習(xí)的情況。為此,采用結(jié)果性考核和過程性考核相結(jié)合的評價方式。
翻轉(zhuǎn)課堂不僅可以解決學(xué)時不夠、課堂時間難以使學(xué)生掌握學(xué)習(xí)內(nèi)容、理論與實踐集中講授浪費時間等問題,還加強了師生之間的互動交流,提高教學(xué)質(zhì)量。翻轉(zhuǎn)課堂教學(xué)分為3個階段,課前、課中和課后[2-4]。為了減低學(xué)生完成課程設(shè)計過程中的難度,讓學(xué)生掌握單片機應(yīng)用系統(tǒng)的基本開發(fā)方法,要求學(xué)生先采用keil和proteus實現(xiàn)設(shè)計虛擬仿真,再進(jìn)行實物制作與調(diào)試。
單片機應(yīng)用系統(tǒng)源代碼開發(fā)與調(diào)試軟件采用的是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng)Keil μVision5,簡稱Keil C51。C51語言是繼承標(biāo)準(zhǔn)C語言而來的,與標(biāo)準(zhǔn)C語言不同的是,C51語言是一種基于單片機硬件的編程語言,對于具有一定C語言編程基礎(chǔ)的用戶,可以比較容易的進(jìn)行單片機C51程序設(shè)計。Keil μVision5是一種集成開發(fā)環(huán)境,它將項目管理、程序調(diào)試、源代碼編輯等操作集成在一個功能強大的環(huán)境中,采用windows界面,具有靈活的窗口管理系統(tǒng),keil以項目文件的形式來管理所有源文件。Proteus仿真軟件是Labcenter Electronics Ltd開發(fā)的EDA軟件,風(fēng)標(biāo)公司是Labcenter在大中華地區(qū)的總代理。Proteus不僅具有其他EDA軟件的原理圖設(shè)計、PCB設(shè)計、硬件電路仿真等功能,還具有單片機及外圍電路仿真功能,是一種集單片機仿真和SPICE分析于一身的仿真軟件,功能非常強大。在加載單片機程序后,可以虛擬仿真單片機系統(tǒng)的運行,支持多種單片機、DSP系列處理器和多種編譯器[5]。基于keil和proteus的單片機應(yīng)用系統(tǒng)開發(fā)流程如圖1所示。

圖1 開發(fā)流程
在圖1的開發(fā)流程中,在keil軟件中完成源代碼的編輯、編譯以及生成hex文件等,如果不需要硬件仿真,可直接進(jìn)行軟件模擬仿真調(diào)試。在proteus中完成硬件電路的設(shè)計后,再加載hex文件,進(jìn)行系統(tǒng)仿真。當(dāng)然也可以在對keil進(jìn)行適當(dāng)?shù)脑O(shè)置后,實現(xiàn)keil和proteus的在線仿真調(diào)試。應(yīng)用keil和proteus進(jìn)行單片機應(yīng)用系統(tǒng)仿真設(shè)計,有利于培養(yǎng)學(xué)生的電路設(shè)計能力及仿真軟件的操作能力,在前期不需要硬件投入的條件下,學(xué)生對單片機應(yīng)用系統(tǒng)的開發(fā)更容易接受。實踐表明,應(yīng)用系統(tǒng)仿真開發(fā)成功之后再進(jìn)行實物制作,能極大提高單片機應(yīng)用系統(tǒng)設(shè)計效率,并降低成本。
在以往的教學(xué)中發(fā)現(xiàn),部分學(xué)生在課程設(shè)計過程中學(xué)習(xí)沒有目的性,常規(guī)教學(xué)管理點名、簽到等都按時完成,但是對完成課程設(shè)計沒有緊迫感,存僥幸心理或想搭順風(fēng)車等現(xiàn)象。與此同時,教師對學(xué)生每周要完成的具體任務(wù)沒有細(xì)化、比較含糊,只是口頭加以催促,效果不佳。為了有效對學(xué)生課程設(shè)計過程進(jìn)行監(jiān)控,真實掌握每個小組及成員的真實情況,將課程教學(xué)內(nèi)容按照教學(xué)周次細(xì)化為8個具體任務(wù)節(jié)點,教師檢查每個小組完成任務(wù)點的情況,完成相應(yīng)的任務(wù)點才可以拿到相應(yīng)的分?jǐn)?shù),具體任務(wù)節(jié)點如圖2所示。

圖2 具體任務(wù)節(jié)點
在課程設(shè)計正式開始前在課程QQ群發(fā)布如圖2所示的任務(wù)節(jié)點圖,讓學(xué)生明確課程是通過做任務(wù)獲得相應(yīng)分?jǐn)?shù)的模式,讓他們知道如何去拿到分?jǐn)?shù)。學(xué)生課前通過小組成員之間的合作完成相應(yīng)的任務(wù),教師在課堂上檢查學(xué)生完成任務(wù)的情況,打分并做好記錄;另一方面,教師可以對檢查中發(fā)現(xiàn)的共性重點、難點問題進(jìn)行講述、答疑,與此同時,開展師生點評、生生點評等。
隨著教育部一流課程雙萬計劃的大力實施,越來越多的課程開展線上線下混合式教學(xué)的探索與實踐,并取得了良好的教學(xué)效果,翻轉(zhuǎn)課堂是線上線下混合教學(xué)的有效策略和方式[6-7]。基于課程QQ群的線上線下混合式教學(xué)是充分利用QQ群聊和群應(yīng)用等功能,開展翻轉(zhuǎn)課堂教學(xué),主要分為3個階段“課前、課中和課后”。
1)課前階段,教師發(fā)布學(xué)習(xí)任務(wù)、推送課程設(shè)計題目相關(guān)的背景知識、教學(xué)視頻以及其他的相關(guān)優(yōu)質(zhì)資源等。教學(xué)視頻包括開放平臺的MOOC資源以及教師自建資源,自建視頻主要是根據(jù)課程和學(xué)生特點,為了有效的開展教學(xué),教師自行錄制的相關(guān)視頻。例如,由于學(xué)生知識基礎(chǔ)和認(rèn)知水平的差異,對課程設(shè)計題目設(shè)計要求的理解上有可能存在較大偏差,為了避免造成誤解,將設(shè)計要求進(jìn)行詳細(xì)解釋,并錄制成視頻發(fā)布到課程QQ群。學(xué)生通過反復(fù)觀看、閱讀教師推送的教學(xué)視頻、相關(guān)教學(xué)資源以及自行查找的其他資料,完成資料查閱、硬件設(shè)計、軟件設(shè)計、系統(tǒng)仿真、實物制作與調(diào)試等學(xué)習(xí)任務(wù)。在完成任務(wù)的過程中,學(xué)生可以根據(jù)自己的實際情況,自行選擇學(xué)習(xí)時間、方式、視頻觀看次數(shù)等,不受時間和空間的限制。
2)課中階段,教師開展日常的教學(xué)管理,根據(jù)任務(wù)節(jié)點檢查學(xué)生的完成情況并做好記載。對學(xué)生在設(shè)計中遇到的重點、難點進(jìn)行講授、指導(dǎo)和答疑。學(xué)生根據(jù)學(xué)習(xí)任務(wù),在創(chuàng)新實驗室進(jìn)行進(jìn)度、仿真、實物、實驗報告等展示。與此同時,教師組織師生之間、學(xué)生之間的互動交流,對成果進(jìn)行點評等。線下實體課堂彌補了單純學(xué)生自主學(xué)習(xí)的不足,除了可以有效管理學(xué)生的學(xué)習(xí)、面對面解答學(xué)生的疑問,更重要的是可以加強師生之間的情感交流,真實的掌握學(xué)生的學(xué)習(xí)狀態(tài)。
3)課后階段,教師整理過程性評價,組織學(xué)生討論、答疑等。學(xué)生對設(shè)計進(jìn)行完善,完成任務(wù)節(jié)點等,在課程QQ學(xué)習(xí)群進(jìn)行討論、經(jīng)驗交流,觀看、瀏覽老師推送的拓展資源。
為了具體說明翻轉(zhuǎn)課堂的實施過程,選擇課程設(shè)計其中的一個題目“基于單片機的超聲波測距與報警系統(tǒng)設(shè)計”為例,具體設(shè)計要求為:利用超聲波測距模塊測量與障礙物的距離,并將測量結(jié)果在顯示器件上顯示;用按鍵設(shè)置安全距離,顯示器件顯示系統(tǒng)到障礙物間的距離,并有聲光提醒;當(dāng)處于安全距離時,LED燈熄滅,蜂鳴器不發(fā)聲;當(dāng)檢測距離小于設(shè)置安全距離時,LED燈閃爍,蜂鳴器發(fā)聲,距離越近,聲音越刺耳,整個過程顯示相應(yīng)的提示信息;其他發(fā)揮功能等;電子版課程設(shè)計報告,按照課程設(shè)計格式書寫,格式要規(guī)范;上交實物。以第6周任務(wù)節(jié)點“keil+proteus系統(tǒng)仿真實驗報告”為例,采用如下方式進(jìn)行:
課前:教師在第5周課結(jié)束后,通過課程QQ群再次發(fā)布第6周任務(wù)提醒,并推送相關(guān)視頻及電子資料。學(xué)生觀看視頻及電子資料,完成第6周任務(wù)。
課中:教師檢查學(xué)生完成情況,做好記載;并對設(shè)計進(jìn)行點評,答疑以及生生點評等。學(xué)生在實驗室演示基于keil和proteus的系統(tǒng)仿真,回答老師的提問,匯報實驗報告進(jìn)度,提出自己的疑問,并與老師和同學(xué)進(jìn)行交流互動。某同學(xué)設(shè)計的系統(tǒng)如圖3所示。

圖3 系統(tǒng)仿真圖
Proteus在不標(biāo)注具體器件參數(shù)時,是可以實現(xiàn)系統(tǒng)原理仿真的,但是在具體實物制作中,器件參數(shù)大小往往是不能隨意選取的,選擇不當(dāng)有可能直接損壞器件。在檢查中發(fā)現(xiàn),有同學(xué)設(shè)計的電路圖中電容C1~C3,電阻R1~R3,晶振以及PNP晶體三極管等具體參數(shù)值都沒有進(jìn)行標(biāo)注,選擇的都是軟件默認(rèn)值;獨立按鍵的具體功能也沒有進(jìn)行標(biāo)識,出現(xiàn)多處設(shè)計不規(guī)范的情況。對學(xué)生進(jìn)行提問時,學(xué)生也不能在第一時間告知電容電阻具體參數(shù)值。出現(xiàn)此類問題主要是由于學(xué)生對細(xì)節(jié)考慮不周全,設(shè)計不規(guī)范造成的。針對這樣的問題,及時向?qū)W生解答此電路中電容、電阻的選取原則,以及可選取的具體參數(shù)值,并要求學(xué)生在設(shè)計電路過程中盡量要規(guī)范。
雖然在圖3中對系統(tǒng)原理進(jìn)行了正確仿真,但是直接按照圖3進(jìn)行實物制作,數(shù)碼管是無法顯示測量結(jié)果的。原因是P0口作I/O口使用時為漏極開路,從圖3中也可以看出,在當(dāng)前仿真狀態(tài)下,P0口的P0.3和P0.5為灰色,灰色表示高阻態(tài),為非高非低的邏輯電平,P0口其他口線為低電平的藍(lán)色;網(wǎng)絡(luò)標(biāo)號4 s為高電平,選擇圖3中從左往右的第4個數(shù)碼管,顯示的字形為“9”。雖然能顯示數(shù)字,但實際中電路無法形成數(shù)碼管驅(qū)動電流回路,非門74HC04動態(tài)驅(qū)動四位數(shù)碼管的驅(qū)動能力也不足,其中一種可行的局部改進(jìn)電路如圖4所示。

圖4 局部改進(jìn)電路圖
在圖4中,將非門74HC04換成4個PNP三極管9012,電路中會形成驅(qū)動電流回路。三極管9012除了實現(xiàn)非邏輯功能外,還為驅(qū)動四位一體共陽型數(shù)碼管提供足夠的驅(qū)動電流。但是,如果直接用9012改進(jìn)后的整個系統(tǒng)電路進(jìn)行仿真,數(shù)碼管是無法正常顯示仿真結(jié)果的,原因是圖3中數(shù)碼管采用的是動態(tài)掃描顯示,而在proteus中三極管反應(yīng)非常慢甚至可能不反應(yīng),proteus在此時仿真三極管的功能存在不足。即仿真的時候采用74HC04是可以的,而實物制作中一定要改為9012才行。在單片機應(yīng)用系統(tǒng)設(shè)計的過程中,一定要采用虛擬仿真與實踐相結(jié)合的方式,也能進(jìn)一步激發(fā)學(xué)生獨立思考,提高解決實際問題的能力。
課后:教師整理過程性評價并記錄,在課程QQ群組織學(xué)生討論、答疑,推送下一周任務(wù)等。學(xué)生根據(jù)老師的修改意見對設(shè)計進(jìn)行完善,準(zhǔn)備完成下一個任務(wù)節(jié)點等,在課程QQ學(xué)習(xí)群進(jìn)行討論、經(jīng)驗交流,觀看、瀏覽老師推送的拓展資源。
課程綜合評定是單片機應(yīng)用系統(tǒng)設(shè)計中的一個重要環(huán)節(jié),合理的考核方式能極大調(diào)動學(xué)生的積極性。為了真實、公平的對每個學(xué)生進(jìn)行評價,對考核過程要進(jìn)行細(xì)化和量化。當(dāng)前考核方式單一,總評由實驗報告和實物組成,其中實驗報告占30分,實物占70分,為結(jié)果性考核,缺少學(xué)生的過程性考核,不能全面、真實的反映學(xué)生學(xué)習(xí)情況,因此采用結(jié)果性考核和過程性考核相結(jié)合的評價方式[8-9]。具體考核與分值分布如圖5所示。

圖5 考核內(nèi)容及具體分值
在圖5中,實驗報告占30分,采取結(jié)果性考核,評判標(biāo)準(zhǔn)是報告格式是否符合課程設(shè)計報告撰寫規(guī)范,文字?jǐn)⑹鍪欠裢槪瑑?nèi)容是否充實,論述是否完整等。過程性考核占70分,由每周任務(wù)節(jié)點得分和答辯得分構(gòu)成,每周任務(wù)節(jié)點具體分值如圖5所示,根據(jù)實際完成的情況,進(jìn)行具體打分,答辯占30分。改革后的評價方式加大了答辯環(huán)節(jié)的比重,答辯階段教師重點是檢查學(xué)生的設(shè)計要求是否達(dá)到、功能是否實現(xiàn),以及根據(jù)學(xué)生的實際操作演示、回答老師提問的情況,進(jìn)行綜合打分。即是要檢驗學(xué)生的設(shè)計是否實現(xiàn)、如何實現(xiàn)、實現(xiàn)的怎么樣。在這里,仍然以“基于單片機的超聲波測距與報警系統(tǒng)設(shè)計”為例說明答辯過程,首先,學(xué)生根據(jù)設(shè)計要求分別進(jìn)行實物功能演示,在學(xué)生演示過程中,教師針對工作原理、實現(xiàn)方法等進(jìn)行提問,并對功能、性能進(jìn)行驗證。針對學(xué)生的設(shè)計,有時還可進(jìn)行適當(dāng)引導(dǎo),例如將該系統(tǒng)用于倒車系統(tǒng)或者智能小車,還需要重點考慮的問題有哪些以及如何修改等。
課程實踐表明,實驗改革激發(fā)了學(xué)生自主學(xué)習(xí)意識,提高了學(xué)生獨立分析問題、解決問題和團(tuán)隊協(xié)作能力;提高了教學(xué)效果與質(zhì)量,為學(xué)生學(xué)習(xí)后續(xù)課程及畢業(yè)后從事與單片機應(yīng)用技術(shù)相關(guān)工作崗位打下了堅實基礎(chǔ)。與此同時,對教師的教學(xué)綜合能力提出了更高的要求。