單片機虛擬實驗室的建立
單片機課程是機電、自動化等專業的一門重要課程,可以充分體現學生利用已學知識解決實際工程問題的能力。由于該學科是多基礎、多理論的實踐性學科,在教學過程中必須軟件硬件結合,因此有學生感到難學,教師感到難教這樣的尷尬。
現代科技的發展,促進了計算機技術在軟件和硬件上的飛速發展,利用計算機軟件的仿真技術,可以充分地仿真諸如電路的工作等實際的工程問題。作者無意中找到一款軟件Proteus,解決了許多的問題,而單片機虛擬實驗室也是以該軟件為核心建立起來的。
1 實驗的組織
在單片機的理論教學和實驗中,所涉及到的內容包括了四方面,即單片機系統資源、軟件技術、硬件接口電路、軟件和硬件結合的應用系統。因此教師在進行教學時,應該充分考慮課程的特點并作合理的模塊劃分,在每次實驗課程前作適當的準備工作,以使教學任務能集中和突出。以下例子中所涉及到的單片機均為51 系列。
(1)系統資源的實驗教學
任何一種單片機均提供了一定的系統資源。對于51 系列單片機來講,其所提供的資源是以寄存器和存儲器的方式體現出來的。對于寄存器內容的查看,可以采用多種可以模擬仿真51 單片機的軟件來實現。對于Proteus 軟件來講,可以執行在debug 菜單下registers 菜單項命令打開相應的窗口。對于系統內部存儲器的查看,同樣是執行debug 菜單下的 internal memory 菜單項命令打開相應的窗口。
(2)軟件技術
在軟件技術的實驗中所涉及到的內容主要包括對語言中具體語句的執行效果驗證、算法的具體實現、程序中語法錯誤的檢查和邏輯錯誤的驗證等內容。對于純軟件的實驗教學內容,教師在實驗設置時應充分考慮到學生的能力并作好具體的準備工作,以達到預期的教學目的。
例如,對于兩個16 位二進制數的乘法運算R4R5×R6R7=R3R4R5R6R7 的匯編語言實現。為了較為直觀地驗證程序執行的正確性,教師在之前應該設計一個硬件電路,能完成數據的輸入(帶顯示)和結果的輸出(顯示),并設計主程序、bcd 碼到二進制的轉換、二進制碼到bcd 碼的轉換、bcd 碼到顯示碼的轉換、顯示等程序的設計,學生只在實驗中進行乘法運算的算法設計并作為子程序加入系統中即可。
(3)硬件接口電路
單片機的接口電路所涉及到的知識涵蓋了電子電路設計的相關領域,也涉及到單片機應用系統具體的工作需要。接口電路部分涉及到線路的連接、元器件的選擇、工作方式的設置、電路工作的穩定性和可靠性、電路的空間需求等等許多方面的知識和內容;但就學生實驗來講,所涉及到的并不需要這么全面。作為Proteus 仿真軟件,其仿真電路時所模擬的元件真實工作情況,和單片機應用系統的實際工作環境還是有一定的差別。因此只能根據教學的需要,讓學生自行設計電路并設置其工作方式。其實驗可以通過兩種方式組織實施,一是根據具體的要求,讓學生設計接口電路并編寫相應的程序;一是根據程序的要求,設計單片機接口電路。例如,對于鍵盤輸入和顯示(數碼管)接口電路的設計,可以采用比較多的方法來實現。選擇何種方法,與鍵盤中鍵的數量和數碼管的個數以及顯示的方式等都有關系。選擇一種采用幾種方法都能實現的鍵盤鍵數(如12 個)和顯示位數(如4 位或4 位半),提出具體的諸如必須預留的口地址、成本控制等要求,讓學生自行設計接口電路。當然,對于如A/D 轉換等接口電路的設計,教師應該在事先設計出單片機電路的其它部分,并以模塊的方式進行處理,給學生提供電路的接口信號。
(4)軟件和硬件結合的應用系統
軟件和硬件的結合,就是一個單片機的應用系統了。這一步的實驗可以在課程設計中以課題的方式提出來處理,也可以將其分解成不同的接口部分在接口電路的多次實驗中分次完成。在這一階段,硬件電路的設計已經不是最為關鍵的了,而軟件系統的設計、調試和運行才是實驗的主要內容。因此可以以建議性的意見給出具體的硬件電路,并提出該電路所需要完成的具體工作,由學生進行軟件的設計和調試。
(5)觀摩實驗
學生自行設計的硬件系統和軟件,一般存在著某方面的不足,當給出了相應的實驗設計任務后,學生就算能順利的完成,但其中所涉及到的有些方式方法并不能在自己的設計中充分領悟。Protues 系統提供了相應的一些范例,比如單片機系統中的計算器示例,當教師講述了其中涉及到的所有(子)程序的功能并將其
合理地組織在一起的時候,結合該系統的硬件,將對學生進行程序的設計和系統硬件的設計方法,產生比較大的影響。
2 用Proteus 軟件虛擬單片機實驗的優點
采用Proteus 仿真軟件進行虛擬單片機實驗,具有比較明顯的優勢,如涉及到的實驗實習內容全面、硬件投入少、學生可自行實驗、實驗過程中損耗小、與工程實踐最為接近等。當然其存在的缺點也是有的。
(1)內容全面
內容全面包括其能實驗的內容包括軟件部分的匯編、C51 等語言的調試過程,也包括硬件接口電路中的大部分類型。對同一類功能的接口電路,可以采用不同的硬件來搭建完成,因此采用Protues 仿真軟件進行實驗教學,克服了用單片機實驗教學板教學中硬件電路固定、學生不能更改、實驗內容固定等方面的局限性,可以擴展學生的思路和提高學生的學習興趣。
(2)硬件投入少,經濟優勢明顯對于傳統的采用單片機實驗教學板的教學實驗,由于硬件電路的固定,也就將單片機的CPU 和具體的接口電路固定了下來。在單片機的實際教學中,如果要涉及到51 系列,也要涉及到PIC16 系列,那么為了教學必然要投入兩種單片機的實驗教學板;同時在教學過程中所涉及到的接口電路,也需要有較大的投入和儲備,以利于實驗的進行和在實驗過程中元件損毀后的更換。Protues 所提供的元件庫中,大部分可以直接用于接口電路的搭建,同時該軟件所提供的儀表,不管在質量還是數量上,都是可靠和經濟的。如果在實驗教學中投入這樣的真實的儀器儀表,僅儀表的維護來講,其工作量也是比較大的。因此采用軟件的方式進行教學,其經濟優勢是比較明顯的。
(3)學生可自行實驗,鍛煉解決實際工程問題的能力
實驗能力和實驗設計能力的培養,是工科學生解決實際工程問題能力中較為重要的。傳統的實驗教學中,忽視了學生實驗能力的培養,對于實驗設計能力的培養,則很少涉及到。因此學生學習了理論,要想將其應用到實際的工程實踐中,其難度是比較大的。還有,學生畢業后想對單片機控制技術或智能儀表等有較深的研究和學習,如果采用傳統的實驗教學方法,則學生需要購置的設備比較多,增加了他們學習和研究的投入。采用仿真軟件后,學習的投入變得比較的小,而實際工程問題的研究,也可以先在軟件環境中模擬通過,再進行硬件的投入,這樣處理,不僅省時省力,也可以節省因方案不正確所造成的硬件投入的浪費。
(4)實驗過程中損耗小,基本沒有元器件的損耗問題
在傳統的實驗教學過程中,都涉及到因操作不當而造成的元器件和儀器儀表的損毀,也涉及到儀器儀表等工作時所造成的能源消耗。采用Protues 仿真軟件進行的實驗教學,則不存在上述的問題,其在實驗的過程中是比較安全的。
(5)與工程實踐最為接近,可以了解實際問題的解決過程
在進行課程設計或進行大實驗的時候,可以具體的在Protues 中做一個工程項目,并將其最后移植到一個具體的硬件電路中,讓學生了解將仿真軟件和具體的工程實踐如何結合起來,利于學生對工程實踐過程的了解和學習。
(6)大量的范例,可供學生參考處理
在系統的設計時,存在對已有資源的借鑒和引用處理,而該仿真系統所提供的較多的比較完善的系統設計方法和設計范例,可供學生參考和借鑒。同時也可以在原設計上進行修改處理。
(7)協作能力的培養和鍛煉
一個比較大的工程設計項目,是由一個開發小組協作完成的。了解和把握別人的設計意圖和思維模式,是團結協作的基礎。在Proteus 中進行仿真實驗時,所涉及到的內容并不全是學生獨立設計完成的,因此對于鍛煉學生的團結協作意識,是有好處的。
評論
查看更多