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