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