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