王玉琳, 陳甦欣, 衛(wèi)道柱, 宋守許
(合肥工業(yè)大學(xué) 機械工程學(xué)院, 合肥 230009)
單片機以其功能強、體積小、功耗低、價格便宜、穩(wěn)定可靠、面向?qū)崟r控制等獨特優(yōu)點,已廣泛應(yīng)用于工業(yè)控制、儀器儀表、設(shè)備與產(chǎn)品的自動化、機器人以及家用電器等領(lǐng)域,成為工業(yè)技術(shù)改造和產(chǎn)品更新?lián)Q代的理想“干將”[1]。
我校機械類專業(yè)“單片機與接口技術(shù)”這門課,主要基于目前國內(nèi)使用最多、最成熟的MCS-51系列單片微型計算機,系統(tǒng)闡述MCS-51單片機的硬件結(jié)構(gòu)、功能特點、指令系統(tǒng)、程序設(shè)計、中斷技術(shù)、外部功能擴(kuò)展以及工程應(yīng)用等知識。該課程是培養(yǎng)機電一體化技術(shù)、測控技術(shù)與電氣工程技術(shù)人才的重要專業(yè)基礎(chǔ)課,是機械類專業(yè)學(xué)生學(xué)習(xí)機電控制的敲門磚。課程組實施本課程的教學(xué)時,以CPU芯片為基礎(chǔ),以接口設(shè)計為主線,以應(yīng)用系統(tǒng)設(shè)計為目的。
目前,我校機械學(xué)院機械類專業(yè)分布在合肥和宣城兩個校區(qū),每年約有900多人選修“單片機與接口技術(shù)”這門課。該課為機械類專業(yè)必修的專業(yè)基礎(chǔ)課,理論學(xué)時36,實驗學(xué)時12,累計總學(xué)時48.3個學(xué)分。自2001年開課以來,師生們總是感覺“單片機與接口技術(shù)”既難教又難學(xué),教學(xué)效果一直不盡人意,主要問題在于:
(1)采用大篇幅的原理介紹引導(dǎo)學(xué)生入門,學(xué)生聽起來枯燥乏味。
(2)過分渲染單片機的工作原理,忽略了工程應(yīng)用,激發(fā)不了學(xué)生的興趣。
(3)過多講解匯編指令,沒有將軟件指令與硬件電路相結(jié)合,學(xué)生感到很抽象。
(4)孤立地講解每一條指令,學(xué)生聽起來沒有邏輯性,不理解一些指令的設(shè)計意圖。
(5)學(xué)生缺少工程應(yīng)用系統(tǒng)的系統(tǒng)化設(shè)計思想,設(shè)計應(yīng)用系統(tǒng)時不會協(xié)調(diào),常常顧此失彼。
可以看出,傳統(tǒng)的“滿堂灌”、“填鴨式”教學(xué)已經(jīng)無法滿足現(xiàn)代教學(xué)的需求[1-2],教師在課堂上不能調(diào)動學(xué)生主動學(xué)習(xí)的積極性,學(xué)生始終處于被動接受知識的地位,教學(xué)效果自然差。因此,亟待尋求新的教學(xué)方法解決本課程目前存在的迫切問題。
采用任務(wù)驅(qū)動教學(xué)法的三大因素介紹如下:
(1)單片機技術(shù)的迅速發(fā)展和快速更新,使單片機教學(xué)應(yīng)接不暇,這是采用任務(wù)驅(qū)動法的第一因素。傳統(tǒng)教學(xué)模式是將一個一個知識點串起來去構(gòu)建知識體系,教學(xué)內(nèi)容相對穩(wěn)定,適合采用循序漸進(jìn)的方式。而單片機教學(xué)則不同,其知識點呈網(wǎng)絡(luò)型分布而不呈線性,即知識點之間的邏輯關(guān)系不是很強或者沒有邏輯關(guān)系,學(xué)生可以從任意一點入門,先學(xué)什么、后學(xué)什么并無嚴(yán)格規(guī)定,這就使得單片機的知識體系較難把握[5]。
(2)隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,學(xué)生獲取單片機知識信息的渠道大大增多,且學(xué)生個體差異較大,這是采用任務(wù)驅(qū)動教學(xué)法的第二因素。以前,學(xué)生主要依靠教師在課堂講授的方式獲取單片機知識,現(xiàn)在情況則不同了,學(xué)生既可以在線下也可以在線上,通過各種各樣的渠道獲取與單片機課程相關(guān)的知識。
(3)素質(zhì)教育的推進(jìn)對單片機的教學(xué)提出了更高的要求,這是單片機教學(xué)采用任務(wù)驅(qū)動法的第三因素。
任務(wù)驅(qū)動教學(xué)使學(xué)習(xí)目標(biāo)十分明確,使教與學(xué)雙方都感到有利,易于接受。對教師而言,任務(wù)驅(qū)動教學(xué)使授課生動有趣,效果明顯;從學(xué)生的角度來說,任務(wù)驅(qū)動具有很強的吸引力,適合需要學(xué)生動手的操作類知識和技能的學(xué)習(xí)[5-7],尤其適用于學(xué)習(xí)“單片機與接口技術(shù)”這類直接面向控制工程的知識和技能。
興趣是一種魔力,興趣決定一切,它可以創(chuàng)造奇跡。任務(wù)設(shè)計的出發(fā)點就是要激發(fā)學(xué)生的興趣,滿足學(xué)生的探究欲望,最終目標(biāo)是完成教學(xué)任務(wù),達(dá)到教學(xué)大綱要求。對于一門完整的課程來說,需要掌握的知識點非常多,我們需要首先確定一個總?cè)蝿?wù),然后對總?cè)蝿?wù)進(jìn)行分解,分成一個一個具體的子任務(wù),當(dāng)學(xué)生順利完成每一個子任務(wù)后,這門課程的教學(xué)目標(biāo)即可達(dá)到[8]。同樣一門課程,針對不同專業(yè)的學(xué)生需要擬定不同的任務(wù)。本課程組的教師們在給機械類專業(yè)本科生授課時,將以下例子作為典型任務(wù)。
選擇MCS-51系列的嵌入式單片機AT89S52作為CPU,設(shè)計一臺數(shù)字控制系統(tǒng)用以控制兩坐標(biāo)的數(shù)控車床,要求如下:
(1)該系統(tǒng)需要配置64K字節(jié)的程序存儲器和32K字節(jié)的數(shù)據(jù)存儲器。
(2)車床縱向與橫向拖板的運動采用步進(jìn)電機拖動、滾珠絲杠傳動。
(3)采用兩只圓光柵分別檢測縱、橫兩臺步進(jìn)電機的旋轉(zhuǎn)角度。
(4)系統(tǒng)需要設(shè)置一個48按鍵的操作鍵盤。
(5)系統(tǒng)設(shè)有LCD高清顯示屏。
(6)系統(tǒng)設(shè)有20路輸入/輸出信號。
(7)系統(tǒng)具有螺紋零件的切削功能。
(8)系統(tǒng)可以控制4~6工位的自動回轉(zhuǎn)刀架。
(9)系統(tǒng)可以控制氣動卡盤并可感知對工件的夾緊力。
(10)系統(tǒng)可以控制車床主電機的正轉(zhuǎn)、反轉(zhuǎn)、停止以及無級變速。
(11)當(dāng)發(fā)生緊急情況時,系統(tǒng)可以接受緊急停車信號并具有超程保護(hù)功能。
(12)系統(tǒng)具有USB接口,可以與U盤方便地進(jìn)行數(shù)據(jù)傳輸。
機械類的本科生通常以機為主、電控為輔,他們確實覺得自動控制是非常重要且十分實用的知識,所以,這一任務(wù)一布置下去,立即引起同學(xué)的極大興趣。當(dāng)他們聽到教師說道:“你們只要認(rèn)真完成這些任務(wù),‘單片機與接口技術(shù)’這門課就可順利過關(guān)”時,大家更是躊躇滿志,信心百倍。
(1)AT89S52單片機內(nèi)含8K字節(jié)的EEPROM,系統(tǒng)現(xiàn)要64K字節(jié)的程序存儲器,尚需擴(kuò)展56K字節(jié),可選用64K字節(jié)的W27E512芯片。
(2)系統(tǒng)的32K字節(jié)數(shù)據(jù)存儲器可選用SRAM62256芯片。
(3)兩只圓光柵4個方向的角度脈沖需要4個16位的計數(shù)器進(jìn)行拾取,可以從AT89S52中選擇T0進(jìn)行一路計數(shù),再擴(kuò)展一片3通道的16位減法計數(shù)器8254,利用其引腳CLK0、CLK1和CLK2進(jìn)行另三路計數(shù)。
(4)系統(tǒng)操作鍵盤的48個按鍵可由8位并行接口芯片NEC8279自動管理。
(5)系統(tǒng)的LCD高清顯示屏可由SED1335液晶控制接口芯片進(jìn)行管理。
(6)系統(tǒng)的20路I/O信號可由8位可編程接口NEC8255芯片來管理。
(7)系統(tǒng)切削螺紋時采用AT89S52的T1計數(shù)器,讓其工作在“計數(shù)到中斷”的方式;螺紋的零位信號可由CPU的P1口提供一位進(jìn)行查詢。
(8)車床氣動卡盤的夾緊與松開可由74LS377進(jìn)行控制。
(9)采用壓力傳感器和A/D轉(zhuǎn)換器ADC0809來檢測氣動卡盤對工件的夾緊力大小。
(10)車床主軸電機的正轉(zhuǎn)、反轉(zhuǎn)、停止可由NEC8255來控制,電機無級變速可由D/A轉(zhuǎn)換器DAC0832控制交流變頻器來實現(xiàn)。
(11)數(shù)控系統(tǒng)的緊急停止和車床拖板的超程保護(hù)可由AT89S52的外部中斷INT0進(jìn)行檢測,并借助74LS244引腳進(jìn)行區(qū)分。
(12)數(shù)控系統(tǒng)通過D12接口芯片擴(kuò)展USB接口,該芯片可與AT89S52的RXD、TXD引腳進(jìn)行連接。
(1)AT89S52最小模式系統(tǒng)實驗:基于實驗室現(xiàn)有的多功能單片機實驗裝置,選擇AT89S52單片機搭建其最小模式系統(tǒng)電路。讓學(xué)生熟悉DIP封裝單片機40個引腳的功能,掌握單片機系統(tǒng)8根數(shù)據(jù)線和16根地址線的擴(kuò)展方法,學(xué)會搭建晶振電路和復(fù)位電路,學(xué)習(xí)P0~P3四個端口的指令操作。
(2)程序存儲器擴(kuò)展實驗:在上述數(shù)控系統(tǒng)中,程序存儲器用來存儲系統(tǒng)的底層程序,它決定了數(shù)控系統(tǒng)的功能屬性。AT89S52雖然內(nèi)含8KB的程序存儲器,但對于較大的數(shù)控系統(tǒng),尚需外擴(kuò)一定容量的程序存儲器EPROM。該實驗的目的是讓學(xué)生學(xué)會不同種類、不同容量程序存儲器的選擇、連接和編程。
(3)數(shù)據(jù)存儲器擴(kuò)展實驗:當(dāng)使用者操作數(shù)控系統(tǒng)時,需要設(shè)置參數(shù)、編制零件加工程序等,這些數(shù)據(jù)都將存儲在數(shù)據(jù)存儲器SRAM中。該實驗訓(xùn)練學(xué)生使用不同種類、不同容量的SRAM芯片進(jìn)行數(shù)據(jù)存儲器的擴(kuò)展,學(xué)會SRAM芯片與CPU的連接以及數(shù)據(jù)的讀/寫指令操作。
(4)矩陣鍵盤管理實驗:讓學(xué)生學(xué)會使用NEC8279芯片與CPU的連接,實現(xiàn)大型矩陣鍵盤按鍵動作的自動掃描,節(jié)省CPU的鍵查詢與掃描時間。掌握NEC8279芯片控制字、命令字的格式及編程方式。
(5)LCD顯示實驗:要求學(xué)生掌握液晶顯示控制器SED1335與單片機AT89S52的連接電路與編程方式,實現(xiàn)320×240分辨率液晶顯示屏的點陣字符和圖形顯示編程操作。
(6)AT89S52單片機定時/計數(shù)實驗:讓學(xué)生熟練掌握AT89S52單片機T0、T1、T2計數(shù)器/定時器的“單純計數(shù)”功能、“計數(shù)到中斷”功能以及“定時到中斷”功能,學(xué)會三個計數(shù)器/定時器與外設(shè)的連接以及編程設(shè)定方法。
(7)AT89S52單片機外部中斷實驗:讓學(xué)生學(xué)會INT0和INT1兩個外部中斷引腳的連接方法和編程方式。
(8)AT89S52單片機擴(kuò)展USB接口實驗:要求學(xué)生掌握USB接口芯片D12如何與單片機AT89S52進(jìn)行連接和編程,以實現(xiàn)單片機與外部設(shè)備之間的數(shù)據(jù)交換。
(9)外部計數(shù)器/定時器擴(kuò)展實驗:AT89S52只有3個16位的加法計數(shù)器/定時器,當(dāng)需要外擴(kuò)時,優(yōu)先選擇內(nèi)含三個16位計數(shù)器/定時器的8254芯片,該實驗要求學(xué)生掌握AT89S52如何擴(kuò)展連接8254芯片,學(xué)會使用指令對8254進(jìn)行控制和讀寫。
(10)8位可編程并行I/O接口芯片NEC8255擴(kuò)展實驗:要求學(xué)生學(xué)會將NEC8255芯片與AT89S52芯片進(jìn)行連接并采用指令控制讀寫,掌握數(shù)字電機(如步進(jìn)電機、伺服電機)的脈沖控制方式以及加減速運動控制方式,學(xué)會NEC8255芯片PC口的位控方式。
(11)8位簡單I/O接口擴(kuò)展實驗:要求學(xué)生學(xué)會常用簡單I/O接口芯片如74LS244、74LS377等如何與AT89S52芯片進(jìn)行連接與編程,從而進(jìn)行數(shù)字量的讀取或輸出。
(12)A/D轉(zhuǎn)換實驗:讓學(xué)生學(xué)會A/D轉(zhuǎn)換器ADC0809如何與AT89S52單片機進(jìn)行連接和編程;了解常用工程物理量通過哪些傳感器進(jìn)行采集,這些傳感器又是如何與ADC0809進(jìn)行連接的。
(13)D/A轉(zhuǎn)換實驗:本實驗將告訴學(xué)生如何將計算機的數(shù)字量轉(zhuǎn)換成工程模擬量。首先要求學(xué)生學(xué)會8位并行D/A轉(zhuǎn)換器DAC0832如何與AT89S52進(jìn)行連接與編程,其次要求學(xué)生掌握2線串行D/A轉(zhuǎn)換器MAX517如何與CPU進(jìn)行連接與編程。
縱觀上述的任務(wù)設(shè)計可以看出,一門抽象而又乏味的“單片機與接口技術(shù)”課程,被濃縮到了一臺令學(xué)生興趣倍增的機床微機數(shù)控系統(tǒng)上。而這臺功能豐富的控制系統(tǒng)又被分解成13個具體而又詳細(xì)的課程實驗,這些實驗本身也是令學(xué)生頗感興趣的小任務(wù)。只要學(xué)生順利完成這13個實驗任務(wù),他們就達(dá)到了這門課程的教學(xué)目標(biāo)。令學(xué)生望而生畏的匯編語言融入到了一項項具體的實驗任務(wù),一條條抽象的匯編指令得到了具體的功能體現(xiàn)。
教學(xué)實踐表明,“單片機與接口技術(shù)”課程采用任務(wù)驅(qū)動的教學(xué)方案,充分發(fā)揮了學(xué)生課程學(xué)習(xí)的主動性,既激發(fā)了學(xué)習(xí)興趣,又降低了學(xué)習(xí)難度。一個個具體任務(wù)的順利完成,讓學(xué)生充滿了成就感,大家摩拳擦掌、躍躍欲試,都想繼續(xù)新的探索、接受新的任務(wù)。針對每一項子任務(wù),都是學(xué)生通過實驗親自完成的,電路是他們自己設(shè)計的,器件是他們自己選擇的,程序也是他們自己編制的。因此,他們對課程的知識點理解得清楚,掌握得透徹,應(yīng)用得靈活。
任務(wù)驅(qū)動教學(xué)法的特點是,學(xué)生在教師的幫助下,緊緊圍繞一個共同的目標(biāo)任務(wù),在強烈的問題動機驅(qū)動下,充分利用各種資源,進(jìn)行自主探索學(xué)習(xí)和同學(xué)之間進(jìn)行互動協(xié)作,在完成既定任務(wù)的同時也得到了實踐鍛煉。在此過程中,要求轉(zhuǎn)換師生以前的角色與地位。首先,教師不能再用“滿堂灌”、“填鴨式”的教學(xué)方式,需要去組織和引導(dǎo)學(xué)生;其次,教師要走下講臺,走進(jìn)學(xué)生,到學(xué)生中間去進(jìn)行指導(dǎo),答疑解惑;再次,學(xué)生不再處于被動接受知識的地位,而是處于主動參與、發(fā)現(xiàn)探究和建構(gòu)知識的主體地位。
“單片機與接口技術(shù)”這門課程最終的目的是教會學(xué)生如何將單片機應(yīng)用到工業(yè)現(xiàn)場,所以我們在設(shè)計總?cè)蝿?wù)和子任務(wù)的時候一定要注重面向工業(yè)場景、針對工業(yè)控制,不要設(shè)計一些過于理論化的實驗任務(wù),需要最大程度激起學(xué)生的學(xué)習(xí)興趣。
“單片機與接口技術(shù)”這門課程內(nèi)容非常繁雜,既包括單片機本身的內(nèi)容又包括接口技術(shù)的內(nèi)容。掌握單片機及其接口技術(shù)的應(yīng)用是一個逐步積累的過程,所以我們在設(shè)計實驗任務(wù)的時候,既要考慮任務(wù)的工作量、知識量、重要性、難易度以及前后知識的邏輯關(guān)系等因素,又要從不同專業(yè)學(xué)生的實際出發(fā),充分考慮其現(xiàn)有的知識水平和動手能力,力爭循序漸進(jìn),做到因材施教[9]。
在設(shè)計實驗任務(wù)的時候盡量給學(xué)生留有獨立思考、獨立探索、自我拓展和創(chuàng)新創(chuàng)造的空間[10],著力培養(yǎng)學(xué)生探究式學(xué)習(xí)的技能。對于一些綜合性、設(shè)計性的實驗,方案不是惟一的,只要學(xué)生最終達(dá)到目標(biāo)即可,鼓勵他們采用多種不同方法,觸類旁通,舉一反三。
增設(shè)課外任務(wù)讓學(xué)生獲取更多的知識和能力,這本身就是任務(wù)驅(qū)動教學(xué)的延伸。課外任務(wù)的設(shè)計形式有多種,包括教師布置的設(shè)計報告,教師指導(dǎo)的各類科技競賽、大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目以及“互聯(lián)網(wǎng)+”大賽等。通過這些形式多樣的課外任務(wù),可以培養(yǎng)學(xué)生的創(chuàng)新精神,提升學(xué)生的創(chuàng)業(yè)意識,為今后順利走向社會奠定堅實的基礎(chǔ)。
任務(wù)驅(qū)動教學(xué)法對傳統(tǒng)教學(xué)法進(jìn)行了諸多革新,該方法始終把學(xué)生作為學(xué)習(xí)的主體,以單個或多個任務(wù)作為驅(qū)動,讓學(xué)生通過自主學(xué)習(xí)、獨立實驗,把書上死的理論變成活的應(yīng)用。通過教師的引導(dǎo)、點撥,使學(xué)生能夠觸類旁通、點面結(jié)合、溫故知新。近年來,作者所在課程組教師結(jié)合單片機技術(shù)與接口技術(shù)的最新應(yīng)用成果,按照機電產(chǎn)品的開發(fā)思路對單片機課程內(nèi)容進(jìn)行了重新調(diào)整和規(guī)劃,精心設(shè)計了大量的綜合型、創(chuàng)新型實驗,將最新的科研成果融入教學(xué)內(nèi)容,采用任務(wù)驅(qū)動教學(xué)法提升了學(xué)生的學(xué)習(xí)主動性,保證了教學(xué)內(nèi)容的實用性和先進(jìn)性,使學(xué)生學(xué)到的知識“有用、有效、先進(jìn)”。
該教學(xué)法2005~2008年期間在我校機電實驗班開始試行,2009年至今已在我校合肥和宣城校區(qū)每屆900多名機類專業(yè)學(xué)生中推廣應(yīng)用,教學(xué)效果顯著,深受師生歡迎。該方法較好地解決了教與學(xué)的矛盾,充分體現(xiàn)了學(xué)生在學(xué)習(xí)中的主體地位和教師的主導(dǎo)作用,充分調(diào)動了學(xué)生學(xué)習(xí)的積極性和主動性。在培養(yǎng)學(xué)生分析復(fù)雜問題、解決實際問題、理論知識應(yīng)用以及獨立創(chuàng)新設(shè)計能力等方面具有一定的借鑒作用,該方法值得在工科類的課程教學(xué)中進(jìn)行推廣。