倪曉軍 章 韻



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