倪曉軍 章 韻
摘要:文章分析了傳統(tǒng)單片機教學(xué)方法的不足,提出了基于實例化的單片機教學(xué)改革思路,介紹了以MCS-51單片機為核心的模塊化實驗平臺的特點及該平臺在單片機教學(xué)改革中以及對提高學(xué)生實踐能力的作用。
關(guān)鍵詞:單片機;實例化;模塊化;實驗平臺;教學(xué)改革
中圖分類號:G642 文獻標(biāo)識碼:B
1引言
MCS-51系列單片機因結(jié)構(gòu)緊湊、指令系統(tǒng)靈活、成本低、開發(fā)工具普及等原因,得到了非常廣泛的應(yīng)用。目前幾乎所有工科大專院校都開設(shè)了單片機原理及應(yīng)用等課程。但多年的教學(xué)實踐經(jīng)驗也表明,單片機原理與應(yīng)用課程的教學(xué)質(zhì)量較難保證,其主要原因是:傳統(tǒng)的灌輸式課堂教學(xué)方法、過多的理論課時抑制了學(xué)生學(xué)習(xí)的積極性,而較少的實驗課時又使本門課程的理論和實踐脫節(jié)。如何根據(jù)單片機原理與應(yīng)用課程的特點,尋求一種能較好培養(yǎng)學(xué)生實踐能力的教學(xué)方法,是每一位任課教師都應(yīng)深入思考的問題。
2傳統(tǒng)單片機教學(xué)模式的不足之處
目前,大多數(shù)單片機課程在教學(xué)內(nèi)容設(shè)置和教學(xué)順序安排方面仍然采用傳統(tǒng)的先基礎(chǔ)后應(yīng)用的模式,即從介紹單片機的硬件結(jié)構(gòu)、指令系統(tǒng)及尋址方式入手,然后依次講解匯編語言程序設(shè)計、系統(tǒng)總線擴展及接口技術(shù),最后介紹應(yīng)用系統(tǒng)設(shè)計實例。在上述安排中,課堂理論教學(xué)的學(xué)時大大多于實驗教學(xué)的學(xué)時,例如對于32學(xué)時的單片機原理與應(yīng)用,通常實驗只分配4~6學(xué)時。同時,實驗環(huán)節(jié)通常安排在“匯編語言程序設(shè)計”之后才開始進行。這種教學(xué)體系的不足之處在于:
(1) 課程開始時原理性內(nèi)容太多,內(nèi)容較為枯燥,學(xué)生理解困難,影響學(xué)習(xí)熱情;
(2) 側(cè)重于原理知識介紹,應(yīng)用系統(tǒng)設(shè)計及實驗學(xué)時不足,不利于培養(yǎng)學(xué)生的實踐能力;
(3) 因課時限制,程序設(shè)計語言的介紹止步于匯編語言,更常用的C51則無暇顧及;
(4) 實驗系統(tǒng)功能固定,缺少和南京郵電大學(xué)通信類教學(xué)內(nèi)容相關(guān)的實驗內(nèi)容,實驗學(xué)時少,不利于進行較為復(fù)雜的綜合性、設(shè)計性實驗,使學(xué)生在構(gòu)建實際的單片機應(yīng)用時缺少系統(tǒng)化的思路。
上述幾個原因中,對教學(xué)質(zhì)量影響最大的原因就是實驗課時不足、實驗系統(tǒng)功能固定以及缺少通信類實驗內(nèi)容,不利于學(xué)生進行綜合性、設(shè)計性實驗,學(xué)生無法對所學(xué)知識融會貫通。同時,單片機原理與應(yīng)用課程通常在第六或第七學(xué)期作為選修課開出,而此時學(xué)生由于找工作或考研等多方面因素的影響,對這些課程的重視程度不夠,也使得教學(xué)效果大打折扣。
3通過實例化教學(xué)加強單片機課程的實踐環(huán)節(jié)
對于單片機這類實踐性較強的課程,在教學(xué)中更應(yīng)該強調(diào)學(xué)以致用。為了能更好地培養(yǎng)學(xué)生單片機技術(shù)應(yīng)用能力,激發(fā)學(xué)生的學(xué)習(xí)主動性,我們在單片機教學(xué)過程中進行了實例化教學(xué)的探索。所謂的“實例化”教學(xué),就是把單片機課程中所要教授的各項理論知識和實踐技能按由淺入深的原則分解到一個個具體的實驗實例中,通過讓學(xué)生在教學(xué)過程中按順序完成這些實驗來達到教學(xué)目的。在實例的設(shè)計和順序安排上必須注意循序漸進,各部分內(nèi)容既循序漸進,又互相聯(lián)系,前面的實例為后續(xù)的實例打基礎(chǔ),后續(xù)的實例在不斷引入新內(nèi)容和新概念的同時,也對前面實例中提到的知識點進行適當(dāng)?shù)闹貜?fù),以加深學(xué)生對教學(xué)內(nèi)容的理解。
為了達到上述的教學(xué)目的,作者在主持單片機教學(xué)改革項目時,決定自行設(shè)計模塊化的單片機通信接口實驗平臺,以配合單片機教學(xué)方式及教學(xué)內(nèi)容的改革。
4單片機模塊化實驗系統(tǒng)的特點
4.1實驗平臺的主要特點
(1) 提供豐富的基本接口實驗?zāi)K,這些模塊主要通過單片機的I/O端口控制。
(2) 提供單片機總線擴展接口,用于控制功能較復(fù)雜的器件。
(3) 提供多種通信接口實驗?zāi)K,如串行口、電話通信接口、網(wǎng)絡(luò)通信接口、GSM/GPRS接口等。
(4) 選用具有IAP功能及集成MON51調(diào)試跟蹤功能的CPU,下載實驗代碼及動態(tài)跟蹤調(diào)試方便,不用仿真器,極大地降低了實驗系統(tǒng)的成本。
(5) 實驗平臺上CPU可選擇多種晶振頻率,方便不同種類實驗的需求。
(6) 大多數(shù)實驗電路均實現(xiàn)模塊化設(shè)計,學(xué)生進行實驗時首先必須設(shè)計電路并動手連接,既解決了單片機在控制復(fù)雜系統(tǒng)時I/O端口不足的問題,又有利于通過不同模塊的組合設(shè)計新的實驗,也可以鍛煉學(xué)生的動手能力。改變了以往很多實驗系統(tǒng)不需要搭電路,只要運行例子代碼即可完成實驗的不足。
4.2實驗平臺的功能
本實驗平臺目前可進行的驗證性實驗約有三十多個,包括通過單片機的輸入輸出接口可直接完成的實驗,如通過單片機控制LED、LED點陣、獨立鍵盤、行列式鍵盤、數(shù)碼管、E2PROM、實時鐘、串行A/D、串行D/A、溫度傳感器、紅外接收器、液晶顯示器、直流電機、步進電機等,實驗內(nèi)容基本涵蓋了單片機應(yīng)用領(lǐng)域的各個方面,除了滿足單片機原理及應(yīng)用課程的課內(nèi)實驗的需求外,還可供學(xué)生進行課外科技創(chuàng)新活動使用。
除了單片機I/O端口可直接控制的接口模塊之外,本實驗平臺還設(shè)計了單片機擴展總線接口,并在總線上接入了32K字節(jié)RAM存儲器、擴展了并行輸入/輸出端口、串行口、電話用戶線接口、以太網(wǎng)通信接口以及獨立的GSM/GPRS模塊等器件,在此基礎(chǔ)上,可進行十多個和通信相關(guān)的實驗,如單片機控制擴展串口芯片與PC機的串行通信、基于RS-485接口的多機通信、模擬電話用戶摘掛機及脈沖撥號、DTMF信號的接收和識別、TCP/IP協(xié)議棧測試、GPRS數(shù)傳通信、GSM短消息收發(fā)等。這些通信類實驗是本實驗平臺的主要特色之一,包含了多種通信方式和通信協(xié)議,大部分都屬于設(shè)計性和綜合性實驗,具有一定的趣味性和挑戰(zhàn)性,對于培養(yǎng)學(xué)生的分析能力、實踐能力、數(shù)據(jù)處理能力及資料查閱能力等都大有幫助。
5實驗平臺的硬件設(shè)計
實驗平臺的硬件結(jié)構(gòu)框圖如圖1所示。
5.1實驗平臺CPU的選擇
實驗系統(tǒng)選擇NXP公司(原Philips公司)的P89V51RD2單片機作為CPU。該CPU為8052內(nèi)核,片內(nèi)包含64K字節(jié)的Flash存儲器、1K字節(jié)的擴展RAM,以及SPI接口、雙數(shù)據(jù)指針、硬件看門狗電路及5通道的PCA電路等資源;同時該CPU還具有ISP/IAP以及在線仿真功能,可通過串行口更新應(yīng)用程序代碼或下載Mon51仿真代碼供跟蹤調(diào)試程序使用,不需要硬件仿真器即可完成各種實驗代碼的在線調(diào)試,功能強大,性價比高,極其適合實驗類應(yīng)用的需求。
CPU的串行口通過RS-232電平變換電路和實驗微機的串行口相連,完成實驗代碼下載及在線調(diào)試工作。
5.2I/O控制類接口模塊的設(shè)計
所謂I/O控制類接口,指的是可以通過單片機的并行I/O端口引腳直接控制的實驗電路部分的接口。例如對于4×4行列式鍵盤,當(dāng)采用掃描法工作時,共有4根行掃描線和4根列掃描線,在實驗平臺中將這8根掃描線引出到圖1中所示的I/O控制接口部分。在實驗時,可選擇單片機P0~P3中的某個并行端口,用8芯扁平電纜將I/O控制接口部分的鍵盤掃描線和CPU的并行端口連接起來即可進行實驗。
與鍵盤接口類似,實驗平臺中的1602字符點陣液晶顯示模塊、實時鐘、E2PROM存儲器、串行A/D、串行D/A、溫度傳感器、紅外接收模塊、8位共陰級數(shù)碼管模塊、可獨立驅(qū)動的數(shù)碼管、按鍵、LED、撥動開關(guān)、移位寄存器、CPLD模塊、步進電機及直流電機等器件和設(shè)備都是通過單片機的I/O端口引腳直接控制的方式進行實驗的,但是單片機本身的I/O端口引腳只有32根,無法同時控制所有的資源。為了解決這個矛盾,在電路設(shè)計時,將這類器件的受控引腳引出到接插件上,所有和受控引腳引出線相連的接插件就構(gòu)成了I/O控制接口。在進行具體的實驗時,根據(jù)實際電路的設(shè)計要求,使用兩端帶有接插件的扁平電纜將CPU的并行I/O端口和I/O控制接口中相應(yīng)設(shè)備的受控引腳連接起來即可。各器件的供電電路、時鐘電路、驅(qū)動電路等單獨設(shè)計,在電路板上統(tǒng)一部署,無需通過I/O控制接口控制。
在實驗平臺的電路設(shè)計中,所有器件和設(shè)備引出的控制引腳和單片機的I/O端口引腳均已根據(jù)各自的特性進行了預(yù)處理,如上拉、下拉等,以確保未參與實驗的引腳在懸空時狀態(tài)的確定性,避免引起器件、設(shè)備的誤動作或損壞。
5.3總線控制類接口模塊的設(shè)計
在很多應(yīng)用場合,MCS-51單片機片內(nèi)資源不能滿足要求,此時就要進行系統(tǒng)擴展,引出地址總線、數(shù)據(jù)總線和控制總線用于控制外部器件設(shè)備。此時單片機的P0端口在ALE信號的控制下實現(xiàn)時分復(fù)用,擴展為數(shù)據(jù)總線和地址總線的低8位,P2端口擴展為地址總線的高8位,P3端口的P3.6和P3.7引腳分別用于擴展總線的寫選通和讀選通信號??偩€上可以掛接多個設(shè)備或器件,設(shè)備或器件通過地址譯碼選通,由CPU進行讀寫。
本實驗平臺設(shè)計了總線擴展接口(A)和(B),總線擴展接口(A)和CPU的P0~P3端口復(fù)接,總線擴展接口(B)則和地址鎖存器及地址譯碼電路連接。當(dāng)需要進行總線擴展時,通過40芯扁平電纜將電路板上的總線擴展接口(A)和(B)連接起來即可。此時單片機的P0、P2及P3.6、P3.7作為總線控制引腳使用,不可再當(dāng)作普通I/O端口使用。
擴展總線使用A15對32K字節(jié)的RAM進行片選,同時通過74HC138地址譯碼電路提供8個地址譯碼輸出,譯碼電路如圖2所示。
圖2中的74HC138采用讀寫信號相與作為使能信號之一,這樣就保證了只有當(dāng)單片機進行外部總線訪問時才選通74HC138進行地址譯碼。實驗平臺使用這些地址譯碼輸出選通相關(guān)的設(shè)備或器件進行讀寫。具體內(nèi)容如表1所示。
6配套實驗的設(shè)計及教學(xué)改革
6.1驗證性實驗
驗證性實驗是為了驗證并鞏固課程中已學(xué)習(xí)過的知識點而設(shè)計的實驗。單片機本身的知識點主要在于其指令系統(tǒng)及內(nèi)部資源如并行端口、定時器/計數(shù)器、串行口等的控制和使用。
各學(xué)校開設(shè)的單片機原理類課程的學(xué)時數(shù)基本都是32學(xué)時,其中實驗學(xué)時一般在4~8學(xué)時之間,能夠進行的實驗的數(shù)量并不多。為此我們對教學(xué)內(nèi)容及實驗方式進行了改革,增加部分基礎(chǔ)實驗的實驗課時,并為此設(shè)計了4~6個驗證性實驗的實例,例如通過I/O端口及循環(huán)延時控制LED實現(xiàn)跑馬燈、通過定時中斷控制LED實現(xiàn)跑馬燈、獨立按鍵的掃描、單片機串行口數(shù)據(jù)的收發(fā)等。這些實驗的控制流程簡單,代碼量小,非常容易理解,主要側(cè)重于單片機指令系統(tǒng)及單片機內(nèi)部資源的使用。實例同時提供匯編語言與C語言兩種版本,由老師事先調(diào)試運行完畢,在進行課內(nèi)實驗時,讓學(xué)生直接在該實驗系統(tǒng)上運行。由于實驗代碼已事先調(diào)試完畢,所以學(xué)生在短時間內(nèi)可以完成所有的實驗,通過對閱讀實際代碼、編譯、連接工程、模擬調(diào)試、下載代碼并執(zhí)行這樣一個完整的開發(fā)過程的實踐,切實掌握單片機應(yīng)用系統(tǒng)的開發(fā)流程及開發(fā)工具的使用,并能體會到機器指令、匯編語言和高級語言之間的關(guān)系,為進一步完成后續(xù)的綜合性及設(shè)計性實驗打下基礎(chǔ)。為了防止學(xué)生在完成驗證性實驗時走過場,我們還針對每個實驗設(shè)計了一些思考題,在驗收實驗時要求學(xué)生現(xiàn)場修改并執(zhí)行,可充分檢驗出學(xué)生對實驗內(nèi)容的了解程度,起到督促學(xué)生認(rèn)真進行實驗的作用。
6.2綜合性實驗
綜合性實驗是指學(xué)生在具有一定的知識和技能的基礎(chǔ)上,運用某一門課程中的多個知識點或多門課程的相關(guān)知識對實驗技能和方法進行綜合訓(xùn)練的一種復(fù)合型實驗。
對于單片機課程而言,綜合性實驗一般在課程結(jié)束前進行,此時學(xué)生已經(jīng)基本掌握了單片機的內(nèi)部資源及外擴設(shè)備的原理,可以運用多個知識點完成綜合性實驗。我們準(zhǔn)備了兩個綜合性實驗:短消息收發(fā)終端的設(shè)計和分布式溫度采集系統(tǒng)。短消息收發(fā)終端設(shè)計實驗要求學(xué)生掌握通過單片機外擴總線擴展串行通信接口,實現(xiàn)擴展串行接口和單片機本身串行口之間的數(shù)據(jù)緩沖、中斷式數(shù)據(jù)收發(fā)、數(shù)據(jù)包分析等功能;分布式溫度采集系統(tǒng)實驗要求學(xué)生掌握單片機多機通信的原理、多機通信環(huán)境下數(shù)據(jù)包收發(fā)的設(shè)計和實現(xiàn)、通過I/O端口模擬總線時序?qū)U展設(shè)備進行操作等知識。上述兩個實驗學(xué)生可按三人一個小組,任選一個完成。由于它們都引入了功能較復(fù)雜的外部設(shè)備,學(xué)生必須在課外預(yù)先進行一定的準(zhǔn)備,鍛煉了學(xué)生資料查閱能力、系統(tǒng)分析能力、分工合作能力及編程實踐能力。
6.3設(shè)計性實驗
設(shè)計性實驗是指給定實驗?zāi)康?、要求和實驗條件,由學(xué)生自行設(shè)計實驗方案并加以實現(xiàn)的一種探索型實驗。設(shè)計性實驗不但要求學(xué)生綜合課程中的多個知識點和各種實驗原理來設(shè)計實驗方案,而且要求學(xué)生能充分運用已學(xué)的知識去發(fā)現(xiàn)問題、解決問題。開設(shè)設(shè)計性實驗的目的是讓學(xué)生在實踐中將相關(guān)的基礎(chǔ)知識、基本理論得以實踐、融會貫通,培養(yǎng)其獨立發(fā)現(xiàn)問題、解決問題的能力,以最大限度發(fā)揮學(xué)生學(xué)習(xí)的主動性,相對于綜合性實驗而言,要求更高、難度更大。
對于設(shè)計性實驗,我們充分利用自制實驗設(shè)備豐富的系統(tǒng)資源,準(zhǔn)備了十余個題目,大部分和通信相關(guān),同時還涉及單片機內(nèi)部及擴展資源的使用,例如模擬電話用戶接口設(shè)計、串口/以太網(wǎng)轉(zhuǎn)換模塊設(shè)計、短信監(jiān)控系統(tǒng)設(shè)計等。這些實驗只指定了實驗的基本要求和可用的資源,具體的實驗方案和實際的設(shè)計過程都由學(xué)生自行完成。通過這樣的實驗過程,學(xué)生們可以把分散、獨立的知識融會貫通,整合為一體,最大程度上了解并掌握了單片機系統(tǒng)開發(fā)的全過程,使學(xué)生的創(chuàng)新能力、設(shè)計能力及實踐能力得到了充分的鍛煉。
由于課時的限制,設(shè)計性實驗并不要求作為課內(nèi)實驗完成。我們針對設(shè)計性實驗進行了教學(xué)改革的嘗試,鼓勵學(xué)生選擇一到兩個設(shè)計性實驗,在課程結(jié)束后的半學(xué)期內(nèi)利用課外時間到開放實驗室去完成。學(xué)生完成實驗,提交實驗報告,經(jīng)實驗教師檢查合格后可根據(jù)實驗學(xué)時獲得一定的自主個性化學(xué)分,以此來激發(fā)同學(xué)們選做實驗的積極性。
7結(jié)語
本文介紹的單片機實驗教學(xué)系統(tǒng)具有以下特點:實例化的基礎(chǔ)實驗可使學(xué)生盡快掌握單片機應(yīng)用系統(tǒng)設(shè)計思路及開發(fā)工具的使用;豐富的系統(tǒng)資源及資源的模塊化設(shè)計可組合出較多的實驗內(nèi)容,并在該實驗平臺上實現(xiàn)了同時進行驗證性、綜合性和設(shè)計性實驗的功能,提高了實驗平臺的性價比;在綜合性、設(shè)計性實驗內(nèi)容的安排上偏向于通信領(lǐng)域各種技術(shù)的應(yīng)用,符合本校的辦學(xué)特色。
目前該實驗系統(tǒng)已批量生產(chǎn),首批80套設(shè)備投入使用后,經(jīng)過一個學(xué)期兩個大班實驗教學(xué)的試點,教學(xué)效果良好,極大地提高了學(xué)生的學(xué)習(xí)興趣及綜合創(chuàng)新能力。
參考文獻:
[1] 倪志蓮. 單片機課程的實驗教學(xué)改革[J]. 實驗室研究與探索,2006,25(7):843-844.
[2] 陳亮. 單片機課程的教學(xué)改革[J]. 實驗室研究與探索,2008,27(9):121-123.
[3] 廖平. 單片機實驗教學(xué)的改革[J]. 實驗室研究與探索,2004,23(7):36-38.
[4] 馬忠梅. 單片機的C語言應(yīng)用程序設(shè)計[M]. 北京:北京航空航天大學(xué)出版社,2003.
[5] 焦振宇. 淺談新形勢下我國高校單片機教學(xué)的課程改革[J]. 高教論壇,2005,2(1):102-105.
[6] 秦曉梅. 單片機綜合設(shè)計實驗課程的建設(shè)與開發(fā)[J]. 實驗技術(shù)與管理,2004(2):114-118.
[7] 陳鑒富. 單片機實驗系統(tǒng)的研制[J]. 中國現(xiàn)代教育裝備,2008(3):90-92.