張佳明,王文瑞,孫浩,衣紅鋼
(北京科技大學機械工程學院,北京 100083)
一流的實驗教學是“雙一流”大學建設中極為重要內容[1]。實驗教學能夠有效地加強理解、強化認知、提升實踐能力與創新能力,對一流專業人才培養有著重要的促進作用。研究性教學是一種具有創造性的教學活動,使學生由被動學習轉變為主動學習,提升學生參與感,通過激發學生主動思考、探索和實踐,形成發現、分析和解決問題的能力[2]。因此,研究性教學模式得到了國內外眾多高校的探索與實踐[3-6],已逐漸成為一流大學本科教學的特點之一[7]。
《微機原理與應用》實驗課程能夠加深非電類學生對微機系統工作原理、系統組成及工作方式的理解,但由于微機系統硬件關系龐雜、內容瑣碎、空洞抽象,非電專業的學生普遍反映學習難度大、學習興趣低。
盡管各高校教師已對此開展了一些探索與實踐[8-11],但仍未形成系統融合各芯片應用技術的教學環節。
為此,基于研究性教學思想,系統地整理教學內容與層次,按照提出問題、解決思路、關鍵知識點、實驗項目執行的流程,設計了階梯遞進式的實驗教學項目,激發學生的學習興趣,提高微機系統軟硬件應用能力與創新意識,培養運用研究性思維解決工程問題的能力,為微機原理及其它課程的實驗教學提供新的思路。
“微機原理與應用”課程以8086微處理器為主線,包含I∕O接口技術、中斷技術、微機指令系統,以及可編程并行接口8255A、定時器∕計數器8253∕8254、中斷控制器8259A 等芯片的使用方法。在課堂教學環節中,8086CPU、I∕O接口芯片、可編程接口芯片的工作原理、相互連接方式以及信息交換規則等內容抽象復雜、難以掌握。上述問題本應通過實踐得到改善,但由于實驗教學環節仍然存在以下問題,尚未達到預期的教學目標。
首先,實驗內容陳舊。在傳統實驗教學中,主要對單個芯片的功能開展驗證性實驗,學生按照實驗指導書給定的步驟順序完成芯片導線連接、編制程序、運行程序、驗證現象,缺乏設計參與感,無法體會系統內部運行和變化過程,整個實驗過程枯燥乏味,不利于激發學生探索和求知的欲望,難以形成自主思考意識和創新能力。
其次,實驗設備開放程度低。微機原理實驗箱只保留了接口芯片的少量管腳供學生連接,對于微機系統中時鐘CLK、地址線A19-A16、地址∕數據分時復用信號AD15-AD0、地址鎖存ALE、讀信號-----RD、寫信號-----WR等許多重要管腳被固定在實驗箱內部,使學生對微機系統硬件層面仍停留在課堂教學的抽象概念中。學生能對硬件做的工作很少,缺乏電路原理設計的過程,導致實驗課程成為了“軟件調試課”。
并且,由于實驗課程依賴于實驗設備來開展,受實驗室場地、時間的限制,學生只能在少量的實驗學時或實驗室具備開放條件時才能進行調試,遠遠無法滿足學生的需求。另外,對于開展研究性實驗所需的各類擴展元器件難以充分保證,限制了學生主觀能動性的發揮。
研究性教學是一種在教師的組織下,引導學生進行以問題為導向的主動探索、主動思考、主動實踐的教學方法、教學策略、教學模式[12]。其核心思想在于通過學生獨立思考、自主學習、自主實踐,發展其研究性思維和創新能力[13]。研究性教學的實施應從以下幾個要點著手開展:
(1)科學設置教學內容。在研究性教學模式中,應避免出現傳統教學中滿堂灌輸的方式,教師的教學重點為基本理論和基本方法的講解,對于記憶性的知識點、易于理解的內容,不在課堂中進行講授,提前布置給學生作為預習內容在課前自學。
(2)合理設計引導問題。建立基于問題引導的教學模式,在教學過程中拋給學生問題,引導學生基于現有知識分析問題、發現新問題、解決問題,在此過程中自主內化知識形成自己的理解。因此,要求教師在研究性教學內容設計中,能夠根據學習主題創設合理的情境并提出引導性的問題,激發學生的興趣和探究激情。同時,組織師生互動、雙向交流,鼓勵學生質疑批判和發表獨立見解,對于學生提出的創新想法,提供必要的技術資料與研究方法指導。培養學生科學研究的思維方式,提升學生對理論與實踐、知識與技術的整合運用和創新實踐能力。
(3)階梯遞進式推進。對于初次參與實驗的本科生,尚未形成解決復雜問題的能力,直接面對綜合性問題往往會無從下手,失去信心與興趣。在研究性教學項目設計時,教師要將復雜系統拆分成幾個子項目,按照由基礎到復雜的順序階梯遞進式地呈現給學生,最終形成一個完整的系統。在此過程中,培養學生的工程思維與解決復雜綜合問題的能力。
(4)重新定位教師角色。在研究性實驗教學環節中,教師的職責需要重新定義,教師不再將全部知識點傳授給學生,而是側重對知識體系框架和基本理論的講授,更加注重促進學生自主學習與調查研究,并在關鍵點給予提示或幫助,充當教學過程中的組織者、指導者、參與者和評價者的角色。
由此可見,在研究性教學設計過程中,要將上述要點真正落到實處,就要充分發揮教師的主導作用,真正體現學生的主體地位,才能激發學生主動學習和自主實踐的興趣,促進工程思維和創新思維的形成[14]。
針對微機原理與應用課程實驗教學中存在的問題,基于上述研究性實驗項目設計要點,充分運用問題引導的教學模式,通過科學的階梯遞進式推進,引導學生自主學習微機系統運行原理,掌握8086CUP、I∕O接口及8255A、8253、8259A可編程接口芯片的使用方法,培養學生根據現有知識發現問題、分析問題、解決問題的思維,最終形成綜合運用微機系統解決工程實際問題的能力。
為了解決實驗箱開放程度低、運行過程不直觀、場地時間受限等問題,采用了Proteus仿真平臺。該平臺支持8086CPU系統,具有豐富的實驗資源,便于學生操作。同時,支持匯編程序編寫,能夠進行軟硬件仿真運行,顯示芯片引腳狀態變化,動態演示芯片的工作原理與工作過程[15]。
基于8086CPU的電壓報警系統綜合實驗,按照階梯遞進的原則分為5個子實驗項目,每個實驗項目由教師提出問題,引導學生分析實驗任務并提出解決思路,教師講授關鍵知識點后,學生自主執行實驗項目,包括相關資料學習、硬件電路設計、程序編制以及仿真調試。在執行過程中組織學生交流討論,引導學生逐層分析任務,自主學習知識,最終完成研究性實項目,實施流程,如圖1所示。

圖1 實驗教學實施流程圖Fig.1 Flow Chart of Experiment Teaching Implementation
(1)實驗一:利用ADC0808芯片實現電壓采集
實驗一為微機原理與應用的基礎實驗,實驗原理簡單,但對基礎知識要求較多,包括:ADC0808模數轉換芯片,8位鎖存器芯片74LS273 與8086CPU 地址總線連接方式及其地址鎖存原理,74LS138譯碼器的地址譯碼原理,或門、或非門,74LS244數據緩沖器工作原理,以及滑動變阻器、直流電壓表的使用等。
首先,教師組織學生開展相關知識的學習。介紹8086CPU的總線分時復用原理,地址鎖存引腳ALE控制74LS273芯片鎖存I∕O 地址信號。然后,由于ADC0808芯片沒有片選引腳,需要通過START和OE引腳狀態控制AD轉換的開啟與數據輸出,通過74LS244 芯片引腳緩存ADC0808 芯片的EOC 狀態位,判斷AD轉換是否完成。因此,通過74LS138芯片、或門、或非門的組合,將地址信號轉換為特定輸出,與8086CPU的引腳狀態進行邏輯運算,實現ADC0808芯片的控制與狀態讀取,具體使用的芯片以及引腳,如表1所示。

表1 地址信號轉換電路引腳Tab.1 Address Signal Conversion Circuit Pin
以ADC0808芯片的AD轉換啟動控制引腳START為例,芯片地址70H對應地址線低8位狀態為01110000B,174LS138芯片引腳AB6~AB4輸入1,Y6引腳輸出0,同時CPU的-----WR輸出0,通過或非門輸出1,將ADC0808芯片START引腳置高電平,芯片啟動AD轉換,電路連接,如圖2所示。在此過程中,使學生掌握了微機系統中多芯片共同存在確定譯碼地址的方法,理解了芯片譯碼地址的本質。

圖2 利用ADC0808芯片實現電壓采集的電路圖Fig.2 Diagram of Voltage Acquisition Circuit Using ADC0808 Chip
學生理解上述知識點后,在Proteus平臺繪制電路原理圖,編寫程序將AD轉換結果保存在AL寄存器中,通過查看寄存器中的數值驗證程序是否正確。通過本項實驗內容,引導學生熟悉軟件操作、掌握地址和數據總線分時復用以及ADC0808芯片使用方法等。
(2)實驗二:利用可編程并行接口芯片8255A控制多路電壓采集
在實驗二中,指導學生理解8255A可編程并行接口芯片的使用方法,重點理解芯片工作方式、控制字的設置方法等知識點。
在實驗一的基礎上,將74LS138、74LS244 等接口芯片替換為8255A芯片,由于該芯片有片選引腳(CS)ˉ、讀取引腳(RD)ˉ與寫入引腳(WR)ˉ,可使用A、B、C 端口對ADC0808 芯片進行讀寫操作,將8255A 芯片A 口連接ADC0808 芯片數字量輸出端OUT1~OUT8,讀取AD 轉換結果。將被測電壓增加為5 路,將8255A芯片B口連接ADC0808芯片ADD A~C3位地址輸入線,進行被測電壓通道的選擇。8255A 芯片C0 口讀取AD 轉換狀態EOC端口,C7口控制啟動引腳START和地址鎖存允許引腳ALE。74LS138 譯碼器Y0 引腳作為8255A 芯片的譯碼信號,A、B、C 端口以及控制寄存器地址分別為40H、42H、44H和46H,電路連接如圖3所示。各芯片對應譯碼器引腳以及端口地址,如表2所示。

表2 譯碼器引腳與對應端口地址Tab.2 Decoder Pin and Corresponding Port Address

圖3 8255A與ADC0808芯片實現電壓測量的電路圖Fig.3 Circuit Diagram of Voltage Measurement Using 8255A and ADC8080 Chip
本實驗程序整體思路不變,在編寫程序之前,需要引導學生根據8255A芯片端口的工作方式、數據輸入輸出確定芯片控制字,在程序中完成芯片初始化編程,然后通過A、B、C 端口控制ADC0808芯片完成5路電壓的AD轉換。
(3)實驗三:利用七段數碼管顯示最大電壓值
在實驗三中,指導學生學習七段數碼管顯示數字的原理,由于4位七段數碼管的顯示需要連接12根管腳,原8255A芯片管腳不足,需要啟用第二片8255A芯片(下文簡稱8255A-2),B口連接8根段碼引腳,C口高4位連接位碼引腳。
8255A-2芯片初始化編程由學生自行完成,74LS138譯碼器Y2引腳作為8255A-2芯片的譯碼信號,其A口、B口、C口和控制寄存器地址分別為50H、52H、54H和56H,電路連接,如圖4所示。

圖4 8255A與七段數碼管實現電壓顯示的電路圖Fig.4 Circuit Diagram of Voltage Display Using Seven Section Digital Tube and 8255A Chip
在顯示電壓之前,需要得出5路電壓的最大值,在這里向學生介紹“冒泡法”編程得到最大值的方法。然后,取電壓最大值的三位有效數字,分別與數字段碼換位操作,逐位輸出并延時,將電壓顯示在數碼管上。
(4)實驗四:利用8253芯片實現響鈴與閃燈報警
在實驗四中,設置第5路電壓為警戒值,當前4路電壓超過設定值時,輸出特定頻率方波驅動LED閃爍、蜂鳴器報警。需要指出的是,雖然利用延時程序操作也可以輸出方波,但會占用較多CUP資源,且輸出頻率不精確,因此需要使用8253芯片。
這里需要利用與門、或門實現對應LED燈和蜂鳴器的激活,8253芯片OUT0與8255A-2芯片A口低4位接入與門,驅動蜂鳴器。同時OUT1與8255A-2芯片A口低4位接入與門,驅動LED燈。8255A-2芯片A口高4位連接或門,接入8253芯片門控引腳GATE0 和GATE1。74LS138 譯碼器Y4 引腳作為8253 芯片的譯碼信號,計數器0、1、2以及控制寄存器地址分別為60H、62H、64H和66H,電路連接,如圖5所示。

圖5 利用8253芯片實現響鈴與閃燈報警的電路圖Fig.5 Circuit Diagram of Ring Bell and Flashing Light Alarm Using 8253 Chip
在程序中,根據CLK0時鐘頻率與目標頻率計算計數值,完成8253的初始化編程。當有電壓超過警戒值時,8255A-2芯片A口低4位對應引腳置1,A口高4位引腳將8253芯片門控信號置1,芯片開始計數,OUT0和OUT1輸出方波信號,驅動對應LED閃爍、蜂鳴器報警。
(5)實驗五:利用8259A芯片實現緊急事件的報警
在實驗五中,利用8259A中斷控制芯片實現緊急事件的報警。指導學生學習中斷工作的原理、中斷向量表初始化、8259A芯片的初始化編程以及中斷服務程序如何編寫等知識點。
74LS138譯碼器Y6引腳作為8259A芯片的譯碼信號,其對應地址為70H 和72H,電路連接,如圖6所示。當發生緊急事件時,按下“緊急”按鈕,請求送入8259A芯片的引腳IR0,中斷請求被觸發。按下“復位”按鈕,請求送入8255A芯片的PC3引腳,緊急事件解除。

圖6 利用8259A芯片實現緊急事件中斷處理的電路圖Fig.6 Circuit Diagram of Emergency Interrupt Processing Using 8259A Chip
需要提醒學生的是,程序中8259A芯片的初始化、中斷向量表的定義需要編寫在主程序之前。為了能夠判斷何時退出當前的中斷服務,要在中斷服務子程序中不斷檢測“復位”按鈕的狀態,若PC3口輸入為高電平時,保持當前中斷服務狀態;當輸入變為低電平時,則退出當前的中斷服務。
在實驗中,可充分利用Proteus仿真平臺資源豐富的優勢,在掌握基本接口芯片使用方法的基礎上,鼓勵學生嘗試其他接口芯片和元器件的使用或加入更多的功能,例如加入點陣、LCD顯示屏、增加不同的響鈴音調、閃燈頻率或燈光組合等,設計出更加完善的電壓報警系統。
在高校“雙一流”建設過程中,研究性教學方法的應用對一流人才培養至關重要。在研究性教學模式下,將教師角色定位為學習的組織者和引導者,設置了以問題為牽引的階梯遞進式實驗項目,加強了師生互動和雙向交流。利用Proteus軟件開展研究性教學,向學生充分展示了系統硬件、軟件的設計以及調試過程,通過教師精心設計的研究性實踐教學內容,充分激發學生的主觀能動性,鼓勵學生對專業知識的自主探究。通過研究性實驗教學模式改革,教學質量與學生學習興趣得到了明顯提升,培養了學生的科學研究思維和創新實踐精神,為實現創新型國家培養了高質量人才。