胡少兵 鄧瑞 趙振龍 (長江大學地球物理與石油資源學院)
所謂智能油田,是指借助先進的計算機信息系統和專業技術,全面感知油田動態,自動操控油田行為,預測油田變化趨勢,科學輔助油田決策,實現智能化管理的油田。智能油田的建設是當前國際國內油田發展的大趨勢,而油氣勘探的智能化是智能油田建設的重要一環[1]。
我校勘查技術與工程專業(簡稱勘工專業)歷來是為油氣勘探培養人才的,智能油田的興起,對該專業人才的微機控制應用能力提出了新的要求。目前,該專業雖然開設了微機原理與應用的選修課,但不管從課程的教學大綱設置,還是從學時的安排上都沒有得到足夠的重視,泛泛的教學方法更沒有達到該課程的教學目的,再加上該專業學生沒有學過數字電子技術等與微機原理相關的基礎課程,使得該課程成為老師最難講、學生最難學的課程之一[2]。
考慮到勘工專業的主要學習任務還是其專業課程,不可能劃撥更多的學時來學習微機原理和其先導課程。因此,只有通過教學改革,選擇最實用的教學內容,采取最行之有效的教學方法,深挖課堂潛力,才能解決該課程教學中的問題,為智能化油氣勘探培養更優秀的人才。
按照以前勘工專業的教學大綱設定,微機原理與應用課程以講授16 位的8086 或32 位的80x86 為主。從學習難度來看,勘工專業的學生,并沒有學習電路基礎和數字電子技術等先導課程,86 系列機型的原理結構對他們來說過于復雜,基本從第一章的微處理器結構開始,學生就迷失于南橋北橋和大量的總線分類中,接下來的匯編指令系統,更是高深莫測。很快,學生的學習熱情和學習信心就會消失殆盡,老師的教學激情也會被學生的茫然逐漸磨滅。從實用性來看,80x86 也早已不適合給非電類專業的學生做硬件上的開發,雖然現在的個人電腦還有PCI 插槽可供擴展,但用它的非專業人士很少。一般來講,現在個人電腦的應用,主要是利用高級語言開發各種應用軟件,當需要采集數據或是控制外設時,只要調用接口或網絡協議控件即可完成。因此,86 系列機型對于勘工專業的學生來講,既復雜又不實用,完全不適合教學。
另一種比較流行的教學機型是8 位的MCS-51 系列單片機,該系列單片機原理和結構都比較簡單,且在目前的工業控制領域仍占有較大的市場。勘工專業的學生,學習微機原理與應用課程的主要目的是為了勘探設備的維護和使用,學習51系列機型能夠滿足該需求。
由于當前新型單片機層出不窮,教學內容不能只局限于51 系列,按照簡單、實用、新型的原則,Arduino 系列也是勘工專業較好的選擇。Arduino 是以AVR 單片機為核心進行的二次開發,起源于2005年,其設計的初衷就是為了方便一些非電子工程專業的學生做開發用,具有開源、廉價、簡單易懂的特性,它可以和LED、點陣顯示板、電機、各類傳感器、按鈕、網卡等各類可以輸出輸入數據或被控制的東西連接,在互聯網上各種案例、資料可以幫助用戶迅速制作電子設備[3]。
綜合考慮勘工專業課程設置的要求及學習微機原理與應用課程的目的,選擇51 系列單片機作為本課程主修機型,Arduino 系列作為輔修機型。
教學重點,應該根據學生的基礎來制定。勘工專業在開設本課程之前,在硬件方面,學習過電路與電子技術基礎課程,對數字電子技術有一定的了解,本課程應該以接口電路為硬件教學重點,主要介紹存儲器結構、定時器和計數器、中斷、串口、AD 和DA 轉換器、鍵盤和顯示接口電路;在軟件方面,學習過C 語言,具備基本的編程能力,本課程應該以單片機C 語言為軟件教學重點,這比讓學生重新學習匯編語言具有更高的效率,學生不必記憶匯編指令集,且對于相似的設計,還有豐富的開源代碼可以移植,對于以應用為主的勘工專業學生來講,這無疑是最合適的選擇。
該課程包括原理和應用兩個方面,原理部分是應用部分的教學基礎,但由于勘工專業與微機相關的先導課程開設較少,學生這方面底子薄弱,想通過本課程全面講清楚原理方面的知識是不可能的[4]。因此,原理教學只能根據學生的基礎及學習目的,有選擇性地講解最重要的原理部分,如指令執行過程、定時計數、中斷、I/O 口通信等。在總學時的分配上偏重于應用,原理部分與應用部分的占比為4:6。由于各種微機機型的原理都是大致相似的,所以原理部分只講解51 系列單片機;應用部分中51 系列和Arduino 系列各占一半。
傳統的理論教學與實踐教學一般是分開進行的,也就是在上完理論課后,再安排另外的學時到實驗室去做實驗。這種教學方法在硬件資源不豐富的情況下,具有更好的可操作性,但卻有兩個弊端:一是實驗室的硬件學生下課后帶不走,不利于課后自己操作演練;二是理論課講解時,學生不能實時跟隨演練,在學習興趣和學習效果上會大打折扣。考慮到當前中國物質經濟水平已得到極大豐富,大學生幾乎是人人都有筆記本電腦,51 單片機開發板和Arduino 開發板的價格低廉,配套傳感器和各種擴展電路也不貴,可以很方便地在電商平臺上購買。完全有條件實現理論與實踐融合的課堂教學方法,讓單片機開發板走進課堂,老師一邊講一邊演示,學生一邊學一邊實踐。
具體實施方法舉例說明。以一個班30 人為例,將學生分成每3 個人一個小組,每個小組上課時必須有一套單片機開發板和一臺筆記本電腦。注意,這套開發板最好是規定好型號,由學生分小組自行購買,因為學校購買的教學設備一般都是放在實驗室不能帶走的,這就大大限制了學生接觸單片機的時間,老師也不好布置課后作業。在上課時,比如老師講解到定時中斷的時候,單純的通過理論講解很難讓學生理解如何設置定時初值以及其特殊功能寄存器。老師這時候可以寫一段定時中斷程序,實現每0.5 秒控制發光二極管明暗狀態反轉一次,學生則仿照老師的程序進行修改。設置不同的定時方式和定時初值,觀察亮燈周期;修改中斷允許,觀察單片機開發板的反應等等。在這種舉一反三的實踐過程中,枯燥乏味的理論會變得有趣,且讓人印象深刻,極大地提高了學生的學習興趣和學習效果。
該課程原理部分的講解比較枯燥,對于初學者來講,有一定難度。這時作為老師,就要想辦法運用各種比喻,加深學生的理解[5]。以講解89C51 為例,在介紹存儲器時,因為單片機有數據存儲單元和程序存儲單元,且二者獨立編址,這會造成很多學生的混淆,根本分不清。講課時,可以讓學生虛擬的在腦袋里建立兩組柜子:其中一組柜子有256 個抽屜,每個抽屜里有8 格,最上面的128 個抽屜那是專用的,在程序運行時用戶不能用來存取數據,最下面的32 個抽屜,可以用來做4 組寄存器用,但一般只用最底下8 個抽屜做寄存器就夠了,其他的抽屜可以在程序運行時隨意存取數據;另外一組柜子有4096個抽屜,程序入口從0 號抽屜開始存儲,然后是5 級中斷跳轉的固定抽屜,主程序從第100 個抽屜開始存放就可以了。這樣一來,抽象復雜的存儲單元就變得形象起來,更易于理解。
該課程應用性強,應該采取平時成績、電子設計和現場考核相結合的方式,評定最終成績。以筆者本人執教班級的考核為例,班級共分10 組,每組布置一道難度系數差不多的電子設計題目,各組學生回去做,哪組最先做出來,該組的基礎分最高,依次遞降。現場考核則由老師逐組提問學生,要求現場修改設計內容,若能實現,則在該組基礎分上加分,否則視情況扣分。當然,這種考核方式主要是針對選修課的,必修課應該還要結合筆試成績。
近兩年,為了適應智能油田的發展需要,作者在不增加勘工專業微機原理與應用課程學時、不改變課程性質的情況下,通過對微機原理與應用課程在教學內容和教學方法兩方面的改革,大大提升了學生的學習興趣以及對本課程的掌握程度,也增強了學生在儀器設計方面的能力,有多位學生在大學生創新創業活動中選擇儀器設計類的題目,且取得了較好成績。當然,由于學時有限,學生相關基礎知識薄弱,與電子類專業相比,還是有一定差距,后續通過合理規劃,增強電子學基礎課程,相信勘工專業學生也能有不弱的儀器設計能力,且在專業方法上更具優勢。