俞 騁
(寧波市教育科學研究所,浙江寧波,315012)
隨著電子技術的迭代升級,嵌入式系統沿著從SCM(single chip microcomputer)到MCU(micro controller unit)再到SOC(system on chip)的技術路線持續演進。[1]在32位處理器十分普及的今天,僅擁有8位數據處理能力的51單片機早已退出高端應用市場,關于51單片機課程開設的必要性也成為應用電子領域熱議的話題。在電子產品智能化發展的背景下,擁有強大數據處理能力的32位單片機淘汰51單片機將成為必然趨勢。也有觀點認為,8位單片機因其價格優勢,在今后相當長的一段時間內,在中低端應用電子領域仍將占有一席之地。[2]由于職業教育與產業界密切相關的天然屬性,近年來,對51單片機價值的爭論也從產業鏈延續到教育領域,進而引發職業院校對單片機相關課程設置合理性的討論。本文旨在通過探討職業院校單片機課程設置的合理性和實施過程中的現實困境,厘清該課程設置的意義與價值,優化其教學實施的路徑,為職業院校提高該類課程的教學質量提供建議與啟示。
“單片機技術應用”是職業院校電子信息相關專業的一門核心課程。其目的在于通過軟、硬件知識的學習和一定的實操訓練,使學生具備編寫、調試程序和設計、分析電路系統的能力,從而掌握單片機應用系統制作的基本方法。[3]雖然個別職業院校在單片機課程教學時會涉及AVR、STM32等單片機,但51單片機仍是絕大多數職業院校開設單片機技術應用課程所使用的主流處理器。[4]因此,本文討論的單片機課程專指以51單片機為教學內容的課程。與產業界類似,在職業教育領域,關于51單片機相關課程的存廢同樣存在不同的觀點。何燕陽等人認為,在ARM系列成為嵌入式系統主流處理器的市場樣態下,繼續教授51單片機相關課程已跟不上時代的節奏,也偏離了職業教育以就業為導向、培養產業所需人才的基本辦學定位。[5]張俊認為,與主流嵌入式微處理器相比,雖然51單片機在性能和市場占有上均不占優勢,但作為一款經典的微處理器,它是嵌入式系統領域入門教學的理想素材。[6]
因立場不同而得出相左的結論本不足為奇,然而,對職業院校教師而言,教書育人的基本角色定位決定了他們需首先從培養學生的視角審視單片機課程設置的合理性。
從教學的自然法則角度看,單片機課程是職業院校學生經歷專業學習由易到難路徑中的必要鋪墊。單片機的前置課程有“電路原理”“模擬電子技術”“數字電子技術”“EDA軟件應用”“C語言程序設計”等。這些課程在很大程度上都是自洽的,如“C語言程序設計”幾乎是自成體系的一門課程,學生學習該課程并不需要以其他專業知識為基礎,而“模擬電子技術”“數字電子技術”“EDA軟件應用”等課程雖在一定程度上依賴“電路原理”的基礎知識技能,但依存度并不高。與之相比,學生對“單片機技術應用”的學習則需要廣泛結合這些前置課程的內容。因此,單片機課程可視為電子信息專業學生第一次綜合運用專業知識技能的實踐訓練平臺,是知識結構從簡單走向復雜,技能訓練從零散走向綜合的分水嶺。與ARM等微處理器相比,51單片機的結構相對簡單,可在一定程度上減輕學習者在綜合學習中的認知負荷,其作為一種教學素材,更貼合職業院校學生基礎較差的學情。因此,51單片機是職業院校學生鞏固、整合前置課程相關知識技能,邁向專業能力綜合提升的必要臺階和適切的平衡點,它的開設總體上符合循序漸進的基本教育規律。
從培養學生專業能力的角度看,職業院校固然應該以培養產業所需人才為目標,而學習掌握51單片機的相關知識技能與這一辦學目標并不相悖。一方面,51單片機當前仍被廣泛應用于電磁爐、電飯煲等中低端電子產品,其市場保有量巨大,51單片機的開發與維修技能在當今市場仍有用武之地。另一方面,51單片機中的寄存器、定時器、I/O口、模擬量采集等模塊,與ARM等主流微處理器的硬件結構是一脈相承的。C語言程序設計中的庫函數、中斷、指針等概念,也與其他嵌入式系統編程相通。有研究表明,與直接學習主流嵌入式系統開發相比,有過51單片機學習經歷者在后續學習中更容易上手。[7]由此可見,掌握51單片機的應用技能是職業院校電子信息相關專業學生具備主流電子產品開發與維修能力的理想起點,單片機應用課程在職業院校電子信息專業課體系中仍具有不可替代的地位。
如前所述,單片機課程的學習需以大量的前置課程知識、技能為基礎。然而,受諸多因素的影響,職業院校學生對前置課程的掌握情況往往不盡如人意,薄弱的專業基礎在很大程度上制約了其分析、設計單片機系統能力的培養。在硬件方面,單片機最小系統往往需要與其他芯片配合才能構成完整的應用系統。如在單片機控制的數碼管顯示系統中,需要接入74LS245來提高I/O口的帶負載能力,而74LS245芯片的相關功能和工作原理在前置課程“數字電子技術”中有過介紹,但由于學生之前的學習效果不理想,直接影響了其對單片機控制數碼管顯示系統的分析。在軟件方面,C語言是控制單片機運行的主流計算機語言。雖然很多職業院校專門開設了“C語言程序設計”,但由于計算機編程在理論層面的高度抽象性和操作層面極強的實踐性,大部分職業院校學生難以在有限的課程周期內熟練掌握C語言程序的設計能力。這一核心技能的結構性短板制約了職業院校學生單片機系統開發能力的形成和發展。例如,由于很多學生在C語言學習中未能熟練掌握自定義函數的編寫,因而難以在單片機課程開發中設計出可讀性強的模塊化程序。
在職業教育課程改革的大背景下,任務驅動、項目教學等理念在職業院校已獲得廣泛認可,許多學校也在專業課教學中著手實施項目教學法。然而,項目質量卻參差不齊。[8]部分教材雖然改變了之前連篇累牘介紹理論知識的局面,在形式上將教學任務分割成若干項目,但這些項目的設計缺乏科學論證。例如,有教材將“Proteus仿真軟件的操作”單獨設置成一個項目。不可否認,Proteus是單片機開發應用中的一個基本工具,但正是因為其具有工具的屬性,在所有單片機系統開發中都會用到這款軟件,將其單獨設置成一個教學項目缺少合理性和必要性。又如,部分教材會安排“單片機控制交通信號燈系統”項目。就單片機開發能力培養的角度而言,這個項目綜合了最小系統搭建、程序控制I/O口電平等諸多知識和技能點,是體現理實一體化教學的理想載體。但在真實的應用場景中,交通燈的控制很少通過單片機系統來實現,因而這樣的項目與實際脫節。
當前,以Proteus為代表的虛擬仿真軟件已被廣泛應用于51單片機的學習與開發。與傳統的開發板、實驗箱等設備相比,Proteus虛擬仿真軟件因具有交互界面友好、操作效率高、穩定性好、維護成本低等諸多優勢而深受單片機教學者的青睞。[9]雖然仿真軟件在很大程度上有助于單片機課程教學效率的提高,但由于單片機系統自身軟硬件結合的復雜屬性,而Proteus仿真軟件僅能夠實現程序調試和部分硬件設計的功能,單純依靠Proteus仿真軟件不足以全面培養學生開發單片機系統的能力。然而,許多職業院校在單片機課程教學過程中把Proteus仿真軟件作為主要的施教策略,壓縮乃至完全取消實物操作訓練。過度依賴Proteus仿真軟件將對學生軟件專業能力的形成與發展帶來以下兩方面障礙。一是造成專業認知的偏差。例如,Proteus仿真軟件中51單片機的引腳排列與實物芯片存在差異,I/O口電平與真實系統不一致,最小系統可直接驅動數碼管等負載。這些Proteus仿真軟件自身的漏洞會在一定程度上誤導學生,使他們對單片機系統的認識簡單化。二是難以形成完備的系統調試、故障診斷經驗。許多實物在調試中才會出現如虛焊、元器件型號不匹配、仿真結果與實物測試不一致等問題,這些在Proteus仿真軟件中無法呈現,學生難以在單一的仿真學習中獲得應對處理這方面問題的經驗。
課程評價是檢驗教學效果的重要手段。就職業院校單片機課程而言,培養具備開發、調試單片機系統能力的技術技能型人才是課程的既定目標,也是檢驗課程教學效果的第一標尺。然而,當前職業院校單片機課程的評價大多沿用傳統的紙筆考試的設計思路,難以反映真實的教學效果。一是評價形式過于單調。許多職業院校對單片機課程的考核仍采用閉卷答題,題型以傳統的填空、選擇、簡答、計算等形式為主。這種考核對以理論知識學習為主導的課程尚存一定的合理性,但對以培養應用能力為主的單片機課程,評價方式與教學目標存在明顯的不匹配。二是評價內容過于淺顯。單片機課程的考核內容多聚焦書本知識,較少涉及在真實生產實踐場景中被高度關注的工藝流程、工作規范、生產安全、成本控制等元素,忽視了對交流溝通、團隊合作等職業素養的考查。三是評價主體過于單一。教師作為出題者,在課程考核中占據主導地位。然而,由于職業院校教師到企業學習鍛煉的經歷十分有限,其自身的專業認知與產業前沿信息不可避免地存在脫節,這種偏差將對課程評價的實施造成負面影響。[10]
電路分析、程序編寫等前置知識、技能在單片機課程學習中占有基礎地位。鑒于職業院校學生對前置課程的知識技能掌握不夠扎實的現狀,單片機教學有必要進行查漏補缺,盡可能減小學生因前置知識、技能缺陷對單片機課程學習造成的負面影響。具體施教策略如下。一是有的放矢,精準對接。這主要是針對新的單項教學任務需以某些特定的舊知(技)為支撐的情況。如學生在學習“單片機控制的數碼管顯示系統”時,需要先復習C語言中數組的定義與讀取等相關知識,以及用萬用表檢測判斷數碼管共陰/共陽屬性的技能。又如,學生在學習“中斷控制”時,需回顧C語言自定義函數編寫的要點。二是新舊并舉,耦合共進。這主要是針對多項新的教學任務需反復依托某些舊技能的情況。如每開發一個單片機應用系統,都需要用到EDA制圖軟件,但在單片機課程剛開始時,部分學生對EDA軟件的使用技能比較生疏,此時不必系統地回顧和復習EDA軟件的使用,而是利用每次新教學項目開發單片機系統的契機引入EDA軟件制圖環節,讓學生在反復練習中重拾舊技能,實現新知舊識的共同進階。
針對單片機課程教學項目與真實應用場景脫節的現狀,教師需秉持能崗一體的設計理念,在深入調研生產一線和生活場景、提煉典型工作任務的基礎上對項目進行優化。一是按“實用+情境”的標準遴選項目內容。“單片機控制交通燈”鮮有實際應用場景,但若將項目改成“單片機控制跑馬燈”,既可最大程度地保持原有的教學內容不變,又因為該案例在真實生活情境中有跡可循,能真正實現教學內容合理性與實用性的統一。二是按“類別+層次”編排教學時序。單片機控制的許多負載如LED、數碼管、點陣、液晶顯示均屬于顯示模塊,可將這些項目歸為一類,并根據模塊的復雜程度,設計“跑馬燈控制系統→數字時鐘→數字指示牌→俄羅斯方塊游戲機”的序列化進階式項目群,加強項目間的有機聯系。三是按“規范+開放”原則優化綜合項目。在課程的后半段,學生已初步具備單片機系統開發能力。此時若在項目中繼續設置過多限制(如給出唯一的原理圖、規定可使用的元器件),不利于學生發散性思維等高階專業能力的培養。教師可在設定必要的技術規范的前提下,讓學生自主制定設計方案,為學生融入真實的工作崗位做好必要的鋪墊。
針對單片機課程教學中過度側重仿真軟件的課堂樣態,有必要強化基于實物的操作訓練,補齊學生因過于依賴仿真軟件造成的專業能力短板。具體可從以下三方面入手。一是優化課程結構,提高實物操作課時配比。對缺少實物訓練或實物訓練比例過低的職業院校,需調整課程計劃,在課時分配上體現每個單片機系統開發項目都包含實物訓練的總體原則。二是結合軟件仿真,擴充實物操作教學內容。在課程標準上,明確實物教學的具體內容。在課程實施時,所有的教學項目不僅要在仿真中達到設計效果,還要制作出實物,并在實物中調試出相應的結果。在此過程中,學生要熟悉從軟硬件設計到產品制作、調試的所有環節,并有機會應對處理仿真軟件與實物調試結果不一致等高級技術難題,從而獲得真實單片機開發所需的閉環式全過程體驗。三是完善設施保障,配齊實物操作教學資源。要提前規劃,安排好單片機實物開發所需的訓練場地、PCB制版設備、焊接臺等設施,預備好數量充足的芯片、元器件等材料,確保實物操作有序、有效開展。
要打破單片機課程評價內容單薄、形式單調、主體單一的困境,職業院校需從以下三方面入手。一是堅持學校與企業并舉。邀請企業一線技術骨干參與課程評價方式制訂、考核實施等環節,確保評價內容與生產實際相符,評價主體應多元多樣,規避因教師自身專業能力局限對評價結果造成的偏差,彰顯企業在職業教育中辦學主體的地位。二是堅持過程與結果并重。摒棄“一考定乾坤”的陳舊考評理念,增加平時的項目學習成果在課程考核中的權重,將項目開發中的工藝水平、操作規范等內容納入評價體系。有條件的學校也可增設項目展示環節,并將學生展示中的表現如語言表達、課件制作等作為考核指標,盡可能形成多維、全面、客觀的評價機制。三是堅持傳統與創新并存。一方面,保留已有評價機制中合理、有效的成分。另一方面,充分挖掘資源,創新評價機制。有條件的職業院校可利用信息技術,收集能表征學生單片機系統開發能力的數據(如軟、硬件系統的設計用時,元器件、耗材的花費成本,電路焊制過程中需要返工的焊點個數等),作為專業水平評估的重要數據來源。
當前職業教育正處于大有可為的戰略機遇期,而電子信息領域又處于技術更新迭代的上升期。“單片機技術應用”是職業院校電子信息專業的一門核心課程,在雙期疊加的關鍵階段,教師需深刻理解職業教育高質量發展的本質內涵,把握電子信息技術發展的基本規律,擺脫教學困境,優化課堂生態,助力職業院校“三教改革”的實施。希望本文探討的實施策略能給職業院校單片機課程的教學改革帶來些許啟示,并在持續的實踐中得到改進和完善,為單片機課程教學效果的提升和職業院校的提質培優、增值賦能提供強有力的支持。