段廣云
《單片機(jī)原理及接口技術(shù)》作為工科院校相關(guān)專業(yè)的重要專業(yè)必修課,也是一門實(shí)踐性很強(qiáng)的課程。但是由于該課程理論知識較為抽象,實(shí)驗(yàn)教學(xué)與工程實(shí)際開發(fā)脫節(jié),導(dǎo)致學(xué)生掛科率高居不下,學(xué)生的實(shí)際動(dòng)手能力沒有得到有效鍛煉,面對工程實(shí)際開發(fā)項(xiàng)目時(shí)束手無策。筆者從事單片機(jī)教學(xué)多年,了解該課程的實(shí)驗(yàn)教學(xué)現(xiàn)狀,本文旨在分析利用傳統(tǒng)實(shí)驗(yàn)箱進(jìn)行實(shí)驗(yàn)教學(xué)的不足之處,并提出了將單片機(jī)開發(fā)板和仿真軟件相結(jié)合的實(shí)驗(yàn)教學(xué)模式。
傳統(tǒng)實(shí)驗(yàn)箱教學(xué)模式的弊端
實(shí)驗(yàn)箱設(shè)計(jì)過于死板
筆者所在高校對于單片機(jī)實(shí)驗(yàn)教學(xué)采用的還是傳統(tǒng)的實(shí)驗(yàn)箱模式,這種實(shí)驗(yàn)箱的硬件電路和各項(xiàng)參數(shù)在出廠時(shí)均已設(shè)置好,而電路的連線方式往往與實(shí)際電路的連接方式不同,學(xué)生進(jìn)行實(shí)驗(yàn)時(shí)只需連接幾根線即可,每一個(gè)實(shí)驗(yàn)項(xiàng)目都已給出硬件的連接方式,甚至都已經(jīng)明確哪個(gè)接口跟哪個(gè)接口連接,所以很容易完美呈現(xiàn)實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)時(shí),學(xué)生通過PC機(jī)上的仿真軟件把匯編程序輸?shù)絇C機(jī)上(有時(shí)甚至無需輸入,直接從PC機(jī)調(diào)用即可),然后在仿真軟件上直接進(jìn)行匯編和調(diào)試,再通過串口通信接口把由匯編語言的源程序編譯好的機(jī)器碼直接輸入實(shí)驗(yàn)箱系統(tǒng)。由于實(shí)驗(yàn)箱配套的仿真軟件具有專用性,調(diào)試程序時(shí)跟實(shí)際開發(fā)過程相距甚遠(yuǎn),語法規(guī)則設(shè)計(jì)也較為死板,即使學(xué)生把實(shí)驗(yàn)內(nèi)容吃透,在面對實(shí)際工程開發(fā)時(shí)依然沒有經(jīng)驗(yàn)。這種實(shí)驗(yàn)與實(shí)際的單片機(jī)開發(fā)在過程上存在很大的差異,學(xué)生基本沒有了解硬件系統(tǒng),更是沒有了解軟件的編程、匯編和寫入單片機(jī)的整個(gè)過程。實(shí)驗(yàn)完成后,很多學(xué)生還是對實(shí)驗(yàn)內(nèi)容知之甚少,只是浮于表面地觀察實(shí)驗(yàn)現(xiàn)象。這樣的實(shí)驗(yàn)很難引起學(xué)生的興趣,更無法對單片機(jī)課程的學(xué)習(xí)起到較好的促進(jìn)作用。
綜合性實(shí)驗(yàn)無法開展
由于實(shí)驗(yàn)箱設(shè)置的死板和單一,這種利用實(shí)驗(yàn)箱的實(shí)驗(yàn)教學(xué)模式通常以驗(yàn)證性的實(shí)驗(yàn)為主,主要內(nèi)容為匯編指令的使用及程序的簡單編程,單片機(jī)外部擴(kuò)展電路的知識涉及甚少,因此難以開展包含硬件開發(fā)及外圍接口電路編程的綜合設(shè)計(jì)實(shí)驗(yàn),導(dǎo)致學(xué)生的實(shí)驗(yàn)知識綜合能力較差,學(xué)生的自主設(shè)計(jì)和創(chuàng)造能力也普遍存在問題。而在單片機(jī)的應(yīng)用過程中,硬件開發(fā)及針對外圍接口電路的編程最為廣泛。不積極開展綜合性實(shí)驗(yàn),既不利于發(fā)揮學(xué)生的學(xué)習(xí)主動(dòng)性,也不利于培養(yǎng)學(xué)生的工程意識及解決實(shí)際問題的能力。
工程實(shí)踐能力得不到鍛煉
實(shí)驗(yàn)箱實(shí)驗(yàn)內(nèi)容的單一以及與工程實(shí)際開發(fā)過程相距甚遠(yuǎn),導(dǎo)致學(xué)生做實(shí)驗(yàn)時(shí)沒有興趣,實(shí)驗(yàn)結(jié)束后隨便寫個(gè)實(shí)驗(yàn)報(bào)告應(yīng)付了事,而且實(shí)驗(yàn)箱性能穩(wěn)定,實(shí)驗(yàn)過程很少出現(xiàn)差錯(cuò),學(xué)生雖然可以很好地完成實(shí)驗(yàn),但是面對實(shí)際工程項(xiàng)目中的問題時(shí)不知出錯(cuò)的原因,這樣的實(shí)驗(yàn)教學(xué)模式不利于培養(yǎng)學(xué)生的實(shí)際動(dòng)手能力,工程實(shí)踐能力也得不到很好的鍛煉,偏離了本科生的培養(yǎng)目標(biāo)。
將單片機(jī)開發(fā)板與仿真軟件相結(jié)合進(jìn)行實(shí)驗(yàn)教學(xué)
單片機(jī)開發(fā)板
單片機(jī)開發(fā)板采用方便、易學(xué)的設(shè)計(jì)理念,以單片機(jī)為核心,輔以靈活的外圍電路設(shè)計(jì)而成,具有靈活的USB調(diào)試模式,與實(shí)際的工程開發(fā)過程一致,再配套相應(yīng)的實(shí)驗(yàn)?zāi)K,可以開展綜合性實(shí)驗(yàn),各功能模塊相互獨(dú)立,模塊之間用排線快速連接。實(shí)驗(yàn)時(shí),學(xué)生可利用開發(fā)板上的模塊資源,根據(jù)自身需要構(gòu)建一個(gè)單片機(jī)系統(tǒng),使學(xué)生有自由發(fā)揮的空間,有助于學(xué)生利用自己的理論知識,并在實(shí)踐中得到應(yīng)用,體會(huì)到實(shí)踐帶來的樂趣,在引起學(xué)生興趣的同時(shí),還鍛煉了學(xué)生的動(dòng)手能力。
單片機(jī)開發(fā)板具有ISP可在線編程功能,無需編程器,可以通過軟件從USB接口直接下載程序,完成對單片機(jī)程序的燒錄,幾秒鐘即可完成,為實(shí)驗(yàn)教學(xué)中的調(diào)試提供了極大的方便。
另外,單片機(jī)開發(fā)板體積小,由USB供電,攜帶方便,在辦公室及個(gè)人電腦上均可操作,不用再拘泥于實(shí)驗(yàn)室做實(shí)驗(yàn)。
Keil軟件的使用
Keil 軟件是美國Keil Software公司(ARM公司之一)出品的51系列兼容單片機(jī)軟件開發(fā)系統(tǒng),支持8051微控制器體系結(jié)構(gòu)的Keil開發(fā)工具,適合每個(gè)階段的開發(fā)人員,如專業(yè)的應(yīng)用工程師、剛學(xué)習(xí)嵌入式軟件開發(fā)的學(xué)生。同時(shí),支持匯編語言和C語言的編程。匯編語言具有可讀性強(qiáng)、執(zhí)行速度快、工控領(lǐng)域應(yīng)用廣泛等諸多優(yōu)點(diǎn),所以如今各大高校依然將匯編語言作為本科生必須掌握的一門語言,單片機(jī)教學(xué)內(nèi)容以匯編語言為主線進(jìn)行設(shè)置,因此學(xué)生需要掌握匯編語言的編程技術(shù);與匯編語言相比,C語言在功能、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,而且易學(xué)易用,兩種語言都需要學(xué)生掌握。而Keil軟件提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境將這些部分組合在一起。利用單片機(jī)開發(fā)板進(jìn)行實(shí)驗(yàn)教學(xué)時(shí),配合Keil軟件進(jìn)行編程,可以同時(shí)體會(huì)匯編和C語言的調(diào)試過程,可使用戶的目標(biāo)板直接具有仿真功能,從而將單片機(jī)的易用性推向一個(gè)新的高度。
引導(dǎo)學(xué)生提升課外實(shí)踐能力
課堂教學(xué)和實(shí)驗(yàn)教學(xué)對于學(xué)生的單片機(jī)學(xué)習(xí)來說還是有所欠缺,學(xué)生依然沒有機(jī)會(huì)親手制作一塊單片機(jī)控制系統(tǒng)的電路板,而這對于提高學(xué)生的實(shí)踐能力來說非常重要。在單片機(jī)課程的學(xué)習(xí)過程中,讓學(xué)生體會(huì)一次單片機(jī)系統(tǒng)的設(shè)計(jì)、制作全過程,從自己設(shè)計(jì)硬件電路開始,自己編寫控制程序,進(jìn)行仿真驗(yàn)證,購買元器件,自己動(dòng)手用電烙鐵焊接電路板,進(jìn)行軟硬件的聯(lián)合調(diào)試,最終做出一套符合設(shè)計(jì)要求的單片機(jī)系統(tǒng),這對學(xué)生而言,將是學(xué)習(xí)過程中的莫大收獲。
學(xué)習(xí)使用 Proteus仿真軟件
學(xué)生設(shè)計(jì)硬件電路時(shí)可以采用Proteus仿真軟件,它是一款硬件電路設(shè)計(jì)的仿真軟件,學(xué)生可以很方便地設(shè)計(jì)以單片機(jī)為核心的外圍控制電路,且有多種型號的單片機(jī)可供選擇,再結(jié)合集成開發(fā)軟件Keil,能直接在單片機(jī)虛擬系統(tǒng)上對單片機(jī)進(jìn)行編程,學(xué)生能夠觀察到虛擬硬件系統(tǒng)在軟件中運(yùn)行的全過程。Keil軟件同時(shí)支持匯編語言和C語言的程序開發(fā),學(xué)生設(shè)計(jì)控制程序時(shí)還可以用兩種語言同時(shí)編程。使用時(shí),把用Keil軟件編寫的程序生成Hex文件,并嵌入到Proteus仿真軟件中,學(xué)生就可以在Proteus仿真軟件中觀察并驗(yàn)證仿真結(jié)果,實(shí)現(xiàn)了對學(xué)生同時(shí)進(jìn)行匯編語言和C語言的雙重訓(xùn)練,提高了學(xué)生的工程實(shí)踐能力。
完成一項(xiàng)單片機(jī)實(shí)際系統(tǒng)的開發(fā),鍛煉工程實(shí)際開發(fā)能力
在開始單片機(jī)的課程學(xué)習(xí)時(shí),教師應(yīng)該引導(dǎo)學(xué)生學(xué)習(xí)仿真軟件和編程軟件。隨著課程的進(jìn)一步深入,教師可以向?qū)W生布置一個(gè)開發(fā)一套單片機(jī)控制系統(tǒng)的項(xiàng)目任務(wù),項(xiàng)目大小不限,根據(jù)自身能力而定,教師可只提出一個(gè)設(shè)計(jì)的范圍要求,鼓勵(lì)學(xué)生大膽思考和創(chuàng)新,設(shè)計(jì)出新穎的作品。課程組事先準(zhǔn)備好大量的單片機(jī)實(shí)際工程開發(fā)的相關(guān)芯片、焊接工具、面包板、導(dǎo)線、排阻以及調(diào)試儀器等耗材,支持學(xué)生進(jìn)行單片機(jī)系統(tǒng)的實(shí)際開發(fā)。學(xué)生在課余進(jìn)行實(shí)際系統(tǒng)開發(fā)時(shí),教師可以隨時(shí)指導(dǎo),學(xué)期結(jié)束時(shí),每位學(xué)生上交一件單片機(jī)控制系統(tǒng)的作品。
經(jīng)歷一學(xué)期的摸索,學(xué)生們參與熱情高漲,不少學(xué)生都交出了以單片機(jī)為平臺(tái)的高質(zhì)量作品。實(shí)踐證明,通過硬件設(shè)計(jì),可以有效地激發(fā)學(xué)生學(xué)習(xí)單片機(jī)的積極性,鍛煉學(xué)生的工程實(shí)際開發(fā)能力。
結(jié)語
實(shí)驗(yàn)教學(xué)是單片機(jī)課程的學(xué)習(xí)過程中重要的一環(huán),通過以單片機(jī)開發(fā)板來代替?zhèn)鹘y(tǒng)實(shí)驗(yàn)箱教學(xué),再輔以仿真軟件的使用,能夠讓學(xué)生自己動(dòng)手完成單片機(jī)系統(tǒng)的開發(fā),充分調(diào)動(dòng)了學(xué)生們學(xué)習(xí)單片機(jī)課程的積極性。實(shí)踐證明,這種實(shí)驗(yàn)教學(xué)模式效果良好,學(xué)生的工程實(shí)際開發(fā)能力得到了進(jìn)一步提升。
基金項(xiàng)目:青海大學(xué)本科專業(yè)核心課程建設(shè)項(xiàng)目“單片機(jī)原理及接口技術(shù)”(項(xiàng)目編號:ZY17012)