單片機(jī)課程是機(jī)電、自動化等專業(yè)的一門重要課程, 可以充分體現(xiàn)學(xué)生利用已學(xué)知識解決實(shí)際工程問題的能力。在實(shí)際教學(xué)中,受資源限制,學(xué)生動手實(shí)踐的機(jī)會有限。解決此問題的有效辦法是利用計(jì)算機(jī)軟件的仿真技術(shù),搭建虛擬實(shí)驗(yàn)平臺。
一、Lab VIEW仿真軟件簡介
Lab VIEW是一個(gè)業(yè)界領(lǐng)先的工業(yè)標(biāo)準(zhǔn)軟件工具,是由美國國家儀器(NI)公司研制開發(fā),用于開發(fā)測試、測量和控制系統(tǒng)。Lab VIEW軟件提供了強(qiáng)大的科學(xué)運(yùn)算、靈活的程序設(shè)計(jì)流程、高質(zhì)量的圖形可視化與界面設(shè)計(jì)、便捷的與其他程序和語言接口的功能,所有Lab VIEW在仿真通訊實(shí)驗(yàn)備受教師關(guān)注。但是其軟件本身提供的信號發(fā)生函數(shù)比較固定,在控制領(lǐng)域中不宜適用,而現(xiàn)實(shí)中實(shí)現(xiàn)數(shù)據(jù)采集往往很多是利用美國NI公司提供的專用數(shù)據(jù)采集卡,其價(jià)格昂貴,不便于普通技校教學(xué)實(shí)驗(yàn)的推廣。
二、仿真實(shí)驗(yàn)的優(yōu)缺點(diǎn)
由于學(xué)生在學(xué)習(xí)單片機(jī)課程時(shí),通常需要完成多個(gè)實(shí)驗(yàn),它們在單片機(jī)的教學(xué)中起到非常重要的承上啟下作用。這些實(shí)驗(yàn)原理性強(qiáng),比較復(fù)雜,學(xué)生難以理解,教學(xué)效果往往不理想。針對以上出現(xiàn)的問題,我們考慮如果能提供一個(gè)軟件仿真平臺,把所做實(shí)驗(yàn)的理論模型和構(gòu)成這些模型的硬件電路清晰地展現(xiàn)在學(xué)生眼前,可以任意調(diào)節(jié)參數(shù)、改變電路,觀察參數(shù)對模型的影響。利用仿真技術(shù)在單片機(jī)實(shí)驗(yàn)教學(xué)中的應(yīng)用,由以下幾個(gè)優(yōu)點(diǎn):
一是克服了學(xué)生預(yù)習(xí)實(shí)驗(yàn)一般只根據(jù)實(shí)驗(yàn)指導(dǎo)書預(yù)習(xí),感性認(rèn)識不深, 效果較差。
二是克服了教師課內(nèi)講解,板書加上現(xiàn)場演示,學(xué)生對實(shí)驗(yàn)內(nèi)容認(rèn)識較深,學(xué)習(xí)效果較好。
三是克服了教學(xué)形式單一,內(nèi)容固定,難以提高學(xué)生的學(xué)習(xí)積極性和主動性。
四是避免在實(shí)驗(yàn)的硬件電路較復(fù)雜,學(xué)生初次做實(shí)驗(yàn)時(shí)由于盲目的操作,造成硬件電路及元器件的損壞。
五是降低實(shí)驗(yàn)室實(shí)驗(yàn)經(jīng)費(fèi)。
利用仿真工具采用直觀的圖形、圖像、動畫等幫助學(xué)生理解那些抽象的理論。但計(jì)算機(jī)仿真實(shí)驗(yàn)也有其缺點(diǎn),計(jì)算機(jī)仿真實(shí)驗(yàn)并不能代替學(xué)生做真實(shí)的實(shí)驗(yàn)。一味地依賴計(jì)算機(jī)仿真實(shí)驗(yàn),而不在實(shí)驗(yàn)臺上實(shí)現(xiàn)電路,那么培養(yǎng)的學(xué)生只會在軟件中看懂電路,識別元器件,大大降低實(shí)際動手能力和維修能力。
三、測控系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)
目前許多普通技師學(xué)院由于經(jīng)費(fèi)或者其他的原因,單片機(jī)技術(shù)和測控系統(tǒng)等這些課程的實(shí)驗(yàn)環(huán)節(jié)都被壓縮了,很多學(xué)生做實(shí)驗(yàn)都用現(xiàn)成的實(shí)驗(yàn)器材,加上很多人只是追求表面上的成功,不會多花心思去思考實(shí)驗(yàn)的原理和改進(jìn)等方面的問題。這些都限制了現(xiàn)在學(xué)生的動手能力和創(chuàng)新能力的發(fā)展。鑒于Lab VIEW對虛擬串口的支持,這使得單片機(jī)測控實(shí)驗(yàn)有了很好的仿真條件。下面通過測控系統(tǒng)的一個(gè)具體實(shí)例來說明仿真實(shí)驗(yàn)在單片機(jī)教學(xué)中的應(yīng)用。
1.需求分析和硬件設(shè)計(jì)
現(xiàn)有一臺信號發(fā)生器正常工作時(shí),它的電壓值在一定范圍內(nèi)變化,要求設(shè)計(jì)一測控系統(tǒng)來記錄信號的實(shí)時(shí)曲線并對信號進(jìn)行分析。首先,我們需要設(shè)計(jì)一個(gè)測控系統(tǒng),根據(jù)以上的要求我們可以利用單片機(jī)應(yīng)用技術(shù)方面的知識設(shè)計(jì)一簡單的測控電路。
采用虛擬串口芯片MAX2將PC機(jī)和該測控系統(tǒng)連接起來。PC機(jī)接收到系統(tǒng)傳來的信號,使用Lab VIEW在PC機(jī)上直接對數(shù)據(jù)進(jìn)行分析和處理。
2.單片機(jī)軟件設(shè)計(jì)
系統(tǒng)軟件由主程序和若干子程序構(gòu)成,有A/D轉(zhuǎn)換子程序、中斷定時(shí)子程序組成。
系統(tǒng)開機(jī)后,首先執(zhí)行主程序,完成系統(tǒng)初始化工作,然后調(diào)用A/D轉(zhuǎn)換子程序,調(diào)用中斷定時(shí)子程序,等待中斷時(shí)間結(jié)束單片機(jī)將數(shù)據(jù)傳輸?shù)絇C機(jī)上,然后循環(huán)執(zhí)行。
3.Lab VIEW程序設(shè)計(jì)
在設(shè)計(jì)中,Lab VIEW作為上位機(jī)數(shù)據(jù)處理系統(tǒng),完成對單片機(jī)采集的數(shù)據(jù)信號進(jìn)行一系列的變換處理。首先,Lab VIEW創(chuàng)建串口對象并初始化,然后向單片機(jī)命令并接收處理單片機(jī)發(fā)回的相應(yīng)數(shù)據(jù)。
Lab VIEW的GUI在科研實(shí)踐和工程實(shí)踐中有著廣泛的應(yīng)用,尤其是在圖形處理技術(shù)、人工智能等方面。采用GUI可以設(shè)計(jì)出一套友好的界面實(shí)現(xiàn)對系統(tǒng)的控制和數(shù)據(jù)等方面的處理。
單片機(jī)實(shí)驗(yàn)教學(xué)采用Lab VIEW仿真軟件相結(jié)合的方式,克服了用昂貴的數(shù)據(jù)采集卡實(shí)驗(yàn)教學(xué)中硬件電路固定、硬件投入少、學(xué)生不能更改等方面的局限性,可以使學(xué)生充分的學(xué)以致用,理論與實(shí)踐統(tǒng)一的效果,更進(jìn)一步激發(fā)了他們對學(xué)習(xí)的興趣。
(作者單位:鎮(zhèn)江技師學(xué)院)