◇重慶航天職業技術學院 傅釔中
本文分析了總線技術課程教學中存在的問題,提出引入虛擬仿真技術,使用Proteus和Keil軟件構建虛擬實驗平臺,進行虛擬仿真實驗,并以基于RS232總線的單片機雙機通信實驗為例,介紹了使用Proteus+Keil進行仿真實驗的過程。虛擬仿真技術可以打破時間、空間、實驗器材的限制,有效提高學生的實驗實踐質量,從而提高整體教學效果。
近年來,虛擬仿真技術在各類高校教學中得到越來越廣泛的應用。在本科方面,2019年教育部發布《關于一流本科課程建設的實施意見》,明確提出要建設1500門左右國家虛擬仿真實驗教學一流課程[1]。在職業教育方面,教育部經職業院校自愿申報、省級教育行政部門推薦、線上線下專家遴選、公示等環節,確定215個職業教育示范性虛擬仿真實訓基地培育項目,并鼓勵各地按照“先培育后認定”的方式,同步培育其他虛擬仿真實訓基地[2]。尤其是在當前新冠肺炎疫情背景下,線上線下混合式教學得到了快速的發展,在線實踐教學的高質量開展離不開虛擬仿真技術的有力支持。虛擬仿真技術在各類課程中的融入和應用成為了高校課程改革的一個研究熱點。
總線技術是電子信息工程技術專業(火箭軍、戰略支援部隊士官生)和應用電子技術專業(火箭軍士官生)的必修課,是一門理論與工程實踐結合緊密的技術基礎課。課程共48課時,其中理論40課時,實訓8課時,先修課程包括計算機應用基礎、模擬電子技術及應用、數字電子技術及應用、單片機應用技術等,教學內容包括總線技術基礎、通用總線技術、汽車總線技術、航空航天總線技術,是一門內容離散度高、綜合性強的課程。當前的總線技術課程教學中存在以下問題。
第一,課程涉及的總線種類繁多,應用場景復雜,在進行理論知識授課時,教師為了教學內容更加生動形象,除了傳統的ppt和板書以外,會根據需要靈活使用圖片、視頻等多媒體資源,并引用具體案例進行分析,但由于學生缺乏實際應用,所學的多種總線知識并不牢固,容易遺忘或混淆。
第二,課程主要以課堂教學為主,沒有設置明確的實踐實訓環節,實訓課時一般使用實驗板進行實驗,但課時少,覆蓋面窄,與實際工作應用場景不匹配,使得實驗達到的效果比較有限,很難保證學生在以后工作環境中可以靈活地運用所學知識。
第三,高校采用的實驗板一般是直接采購外部廠家制造的成品,或是由學校教師設計好電路,再交由外部廠家進行生產,其整體結構和電路都被固化,學生只可以做極少部分的連線調整,難以進行電路設計方面的實驗,一般只能根據教師的步驟進行驗證性實驗。
第四,實驗板數量有限,一般一個班只有10余套,經過長時間使用后,存在老化損壞現象,可能導致學生無法正確完成實驗。實驗通常只能在機房或實驗室進行,學生可以做實驗的時間、空間受到限制,一般在實訓課時間以外無法動手實踐,影響學生的實驗效果[3]。
為了解決這些問題,加強實驗實訓環節是一種有效的方案。但由于資金、設備、場地等因素,實際的實驗實訓很難開展。因此考慮引入虛擬仿真技術進行教學改革,以提升課程教學質量和學生的實踐能力。
虛擬仿真技術的主要特征是虛實結合[4],利用虛擬仿真軟件的模擬功能,構建高度仿真的虛擬實驗環境和實驗對象[5],模擬電路、設備、儀器等的運行情況,達到與真實實驗一致的目的。將虛擬仿真技術融入教學有如下優勢:第一,學生只需要在自己的電腦上安裝對應的仿真軟件即可進行實驗,不再需要額外的實驗器材,也不需要限定時間和場所,既降低了教學成本,又拓展了實驗教學的時間和空間,并方便開展線上線下混合式教學。第二,使用虛擬仿真技術進行實驗時,學生不再被傳統的實驗板所限制,能夠更加開放性地進行實驗和探索,可以有效發揮學生的主觀能動性,培養學生的創造力,激發學生的學習興趣。第三,教師授課時,對于一些不容易理解的知識點,也可以通過虛擬仿真實驗進行演示,在不提高教學成本的情況下令課程更加生動形象,便于學生理解和記憶。第四,實驗平臺可以在多門課之間復用,降低學生的學習成本,讓先修課程與后修課程具有更強的連續性,并可以開展跨課程綜合性實驗,讓學生融會貫通應用多門課程的知識、方法和技能[6]。第五,實驗內容更加豐富,可以根據社會生活和生產實踐前沿對實驗內容進行靈活變更,更加貼近社會對于人才技能的需求。
虛擬仿真實驗的選擇應具有一定的導向。一是重點選擇不具備真實實驗項目條件或實際運行困難的實驗,例如涉及高危極端環境、高成本高消耗操作等,通過虛擬仿真實驗可以規避這些問題;二是要承載先進教學內容,緊密聯系行業產業最新的發展成果,滿足社會發展對高校人才培養的需求;三是要包含綜合設計性實驗,并輔以線上的輔助教學資源,發揮學生主觀能動性,提高學生自主探索專業理論知識的能力[5]。
Proteus是一款優秀的EDA軟件,有“單片機仿真軟件”和“虛擬實驗室”的美稱[7]。它提供大量的元器件庫,支持多種處理器芯片,提供示波器、信號發生器等大量虛擬儀器儀表,支持字符型LCD模塊、LED點陣、數碼管等外部設備仿真[8],可以靈活進行電路的設計和修改,支持與Keil、ICCAVR等多種編譯器進行聯合仿真調試,在電子類專業的多門課程得到廣泛應用。
總線技術課程安排在大二第2學期,之前已經先修了單片機應用技術課程。根據總線技術課程的教學內容特點,在教學實施中,利用Proteus軟件和Keil軟件搭建虛擬仿真平臺,使用單片機作為仿真對象,通過虛擬仿真實驗來輔助理論和實踐教學,以改善課程的教學效果。
下面以基于RS232總線的單片機雙機通信實驗為例,介紹采用Proteus+Keil進行虛擬仿真實驗的過程。
單片機1與單片機2以RS232總線接口進行數據通信,使得單片機1配套的數碼管顯示單片機2的S2按鍵按下的次數,單片機2配套的數碼管顯示單片機1的S1按鍵按下的次數。
選用AT89C51單片機作為實驗對象。RS232總線采用單端傳輸,電氣特性采用15V到-15V的負邏輯電平,而AT89C51單片機的輸入輸出端口采用TTL電平,兩者的電平不一致,需要進行轉換。本次實驗選用MAX232芯片作為轉換芯片,該芯片可以實現TTL電平與232電平的雙向轉換,在民用中應用廣泛,可以滿足本次實驗的要求[9]。此實驗中單片機1和2功能上完全對稱,兩者的電路設計和軟件設計均可以復用。MAX232包含有兩對TTL電平轉232電平引腳(T1IN與T1OUT、T2IN與T2OUT)和兩對232電平轉TTL電平引腳(R1IN與R1OUT、R2IN與R2OUT),實驗中單片機1的輸出信號(TTL電平)先通過MAX232轉換為232電平,經過通路傳輸后,再通過MAX232轉換為TTL電平,被單片機2接收,完成單片機1向單片機2的通信,反之同理。
以單片機1的電路設計為例。根據實驗要求,單片機1在最小系統的基礎上,需要連接一個數碼管和一個按鍵。數碼管我們選用7SEG-MPX4-CA,是四位共陽極七段數碼管,其段引腳連接到單片機的P2.0~P2.7,位引腳連接到單片機的P1.0~P1.3。按鍵S1連接到單片機P3.5。通信部分使用單片機的P3.0(RXD)和P3.1(TXD)。P3.1(TXD)連接到MAX232芯片的T2IN引腳,對應的T2OUT連接到單片機2的MAX232芯片的R1IN引腳,用于往單片機2發送數據;P3.0(RXD)連接到MAX232芯片的R1OUT引腳,對應的R1IN引腳連接到單片機2的MAX232芯片的T2OUT,用于從單片機2接收數據。單片機1除最小系統外的電路圖如圖1所示。單片機2的電路圖與單片機1對稱設計即可。

圖1 單片機1接口電路
在Keil軟件中使用C語言進行程序設計。程序主要包含如下幾項功能:按鍵檢測、數碼管顯示、數據發送、數據接收。按鍵檢測用輪詢方式進行,雖然虛擬仿真中不會出現誤識別現象,但為了學生養成良好習慣,此處應加上消除抖動的設計。數碼管采用動態掃描方式,用輪詢方式實現。數據發送和接受通過AT89C51單片機的串口通信功能實現。由于學生已經先修了單片機應用技術課程,代碼實現對于學生來說難度不高。軟件設計流程圖如圖2所示。編譯調試通過后,生成hex可執行文件。

圖2 軟件流程圖
打開在Proteus軟件中繪制的實驗電路圖,雙擊AT89C51芯片,加載Keil軟件生成的hex文件,點擊仿真按鈕即可進行仿真。通過按下S1和S2按鍵,觀察對方的數碼管能否正常顯示按鍵次數,判斷電路設計和軟件實現是否正確。仿真效果如圖3所示。

圖3 仿真效果圖
上面完成了實驗的基礎部分,偏向于驗證性實驗,沒有發揮出學生學習的自主性和創造性。由于PC與單片機的通信在智能制造生產實踐中應用廣泛,可以安排學生自行上網查詢資料,完成基于RS232總線的PC與單片機通信仿真實驗,以鍛煉學生運用互聯網收集資料的能力和自主設計的創新能力,進一步提升學生的實踐能力。
虛擬仿真技術的引入可以有效解決總線技術課程中實驗實訓難以開展、效果不佳的問題,虛擬實驗演示對提升理論教學效果也有一定幫助。本文以Proteus+Keil構建虛擬仿真平臺,讓學生可以打破時間、空間、實驗器材的限制,隨時隨地開展虛擬仿真實驗,對于增加學生實踐時長、鍛煉學生創造性、提升學生實際動手能力有巨大的作用。