劉新竹
(武昌工學院信息工程學院,湖北武漢,430465)
單片機是一門綜合實踐性很強的課程,要求學生在懂得單片機的硬件原理基礎上能進行軟件編程。想要在教學過程中能有較好的教學效果,只靠理論學習是遠遠不夠的,必須讓學生在學習過程中勤于動手實踐,將所學的單片機的理論知識應用到實踐中,因此單片機的實踐教學對于單片機的教學來說占有舉足輕重的地位。此外,國內各級電子競賽中,有一半以上的競賽題目是要求用簡單8位單片機作為控制器完成[1]。電氣信息專業(yè)學生的課程設計、畢業(yè)論文等,很多是需要用單片機系統(tǒng)來完成研究的,也就是說對于單片機實踐教學要求為學生提供一個電子系統(tǒng)應用的綜合平臺。
電路模塊固定,學生只能完成一些簡單的驗證性實驗。而且這些電路模塊一般是相互獨立的,不能像一個實際應用項目那樣形成一個完整的單片機控制系統(tǒng)[2]。學生在做實驗時,只需按實驗指導書中的內容,簡單連幾根線,對整體電路是如何連接,沒有透徹的理解。學生做完實驗后,對單片機系統(tǒng)只有一些淺顯、片面的認識,不能對單片機的系統(tǒng)開發(fā)形成系統(tǒng)概念,也不能有效培養(yǎng)學生開發(fā)單片機應用系統(tǒng)的能力。
單片機接口應用技術和控制技術不斷更新,這些新技術并沒有在單片機實踐教學系統(tǒng)中體現(xiàn)出來[3]。體系合理的單片機綜合實踐平臺尤其重要。本單片機實踐平臺各功能模塊相對獨立,也可以組成統(tǒng)一的單片機系統(tǒng)。各部分獨立時,可完成單片機實驗教學的各項基本硬件實驗(如:輸入/輸出控制、定時器/計數(shù)器、D/A轉換、A/D轉換、鍵盤輸入與顯示、串口通信等)。學生可以在這些實驗中將所學理論知識與相關模塊結合,通過實驗中的練習,加深相關知識的理解。實驗平臺極方便地作為單片機各章節(jié)理論教學中的實踐教學。學生在實踐中將各功能模塊按一定的連接方式連接起來就可組成幾個簡單實用的控制系統(tǒng)。如簡單功能的電子密碼鎖、單片機控制水塔水位系統(tǒng)、電子鐘、電子房卡、投票系統(tǒng)、電梯控制模擬系統(tǒng)等。通過這些完整的項目建設,讓學生全面掌握單片機硬件和軟件有機的結合,熟悉單片機應用系統(tǒng)開發(fā)過程,培養(yǎng)學生具有開發(fā)單片機應用系統(tǒng)的能力。這些項目可作為在單片機理論教學結束后的課程設計中的綜合實驗及擴展實踐。實驗平臺也給學生提供可以按照自己設計的電路,自行搭建,組合開發(fā)新的實驗內容。通過各種接口連接到外接資源區(qū),實現(xiàn)新電路的開發(fā)。這些開放的系統(tǒng),讓學生在做畢業(yè)設計或電子競賽中,開發(fā)電路板來擴展實驗項目和內容。培養(yǎng)學生的開拓創(chuàng)新能力,提高學生對硬件電路的設計與分析能力[4]。
開放式項目驅動單片機綜合實踐教學平臺是采用擴展式結構,即由一塊主板連接多塊實驗板組成。主板是在單片機基本系統(tǒng)的基礎上擴展多樣化的接口和總線(圖1)。具有驅動多個外圍接口芯片的能力,提供單片機的基本型實驗和應用型實驗。
在硬件方面,通用的單片機實驗板為基本配置,每一個試驗臺上將配備一套該設備。根據不同的實驗過程,在主板上可以插接相應的實驗板,學生可以通過實驗來擴展主板與實驗板,達到實驗目的。
主板的設計應該具有體積小和造價低廉的特點,在開放性的實驗過程中,應該方便學生實踐。同時,主板也應該具備無需外接電源,使用通用的USB接口。主板應該具備CPU,也應該可以通過擴展來進行更多的實驗。另外,主板也應該提供一些散件,供學生通過焊接了解部分實驗過程。
該實踐平臺內置仿真器的軟件開發(fā)平臺使用Keil uVision4軟件,Keil uVision4可使用C語言源程序、匯編語言源程序或混合語言源程序。它支持眾多不同公司MCS51構架的芯片,甚至ARM。可以連接多個目標文件生成燒錄HEX文件并具有功能齊全的軟件模擬調試及硬件調試環(huán)境[5]。
Keil uVision4軟件引入靈活的窗口管理系統(tǒng),使開發(fā)人員能夠使用多臺監(jiān)視器,并提供了視覺上的表面對窗口位置的完全控制的任何地方。新的用戶界面可以更好地利用屏幕空間和更有效地組織多個窗口,提供了高效的環(huán)境來開發(fā)應用程序[6]。
該實踐平臺重點包括單片機通用實驗模塊的功能。另篩選出在工業(yè)控制、科學研究等領域應用比較廣泛的接口技術,包括USB總線、I2C總線、單總線、液晶顯示、語音提示等實驗。并以這些基本模塊的實驗可組建成電子密碼鎖、電子房卡等簡單實用的測控系統(tǒng)為主線的項目教學模塊。
實踐平臺在設計中采用各模塊相對獨立,使用時可用連接線將各個模塊連接起來綜合應用,達到根據教學情況的需求,對實驗內容分層次、分階段進行的目的。
圖1 實驗平臺結構
作為開放式的實驗平臺,主板電路模塊化,根據單片機教學所需不同層次的實驗項目,該實驗平臺可供3種不同層次的學生使用。
初級階段:該階段主要配合單片機的理論教學進行,針對單一功能模塊實驗,學生學著理解單片機的硬件,編寫簡單功能的程序,仿真和調試[7]。
初級階段設計有基礎型實驗,主要是讓學生初步掌握單片機基本原理、單片機內部資源和擴展資源的應用。實驗內容有:中斷系統(tǒng)實驗,定時器/計數(shù)器實驗,A/D和D/A轉換實驗,串口通信接口實驗,存儲器擴展實驗,鍵盤顯示接口實驗等。應用型實驗:用單片機進行外設的簡單控制:步進電機實驗、直流電機測速與控制實驗、溫度測控實驗、串轉并實驗、脈寬調速實驗等。
中級階段:學生選擇功能完善的主板,對著硬件電路圖和實驗平臺等,用連線將實驗平臺的各個模塊綜合起來組成一些實用的控制系統(tǒng)。如:電子密碼鎖、單片機控制水塔水位、電子房卡、投票系統(tǒng)、電梯控制模擬系統(tǒng)等。中級階段可適合學生在學完單片機后的綜合課程設計。
以電子鎖為例,介紹設計的步驟:
(1)系統(tǒng)需求分析:根據電子鎖系統(tǒng)想要實現(xiàn)的功能進行系統(tǒng)需求分析。
(2)系統(tǒng)總體設計:電子鎖的系統(tǒng)總體設計如圖2所示。
(3)硬件設計
鍵盤部分:鍵盤部分采用4×4矩陣鍵盤。直接用I/O構成,并且采用中斷方式。
LED顯示部分:LED顯示采用8個共陰極LED數(shù)碼管構成,采用動態(tài)顯示。
外接EPROM部分。
蜂鳴器部分:蜂鳴器采用一個單獨I/O口部分。
按鍵開關和發(fā)光二極管部分。
(4)軟件部分
軟件設計采用模塊化設計和自頂向下的程序設計,將整個系統(tǒng)分為主程序和子程序,其中子程序部分又分為鍵盤部分,LED顯示程序,外接EPROM讀寫程序(像按鍵開關、發(fā)光二極管、蜂鳴器輸出等都只需要簡單的幾條語句,就可以實現(xiàn),不需要編寫子程序)。在軟件編程過程中首先考慮主程序的設計,然后考慮各子程序的設計。
通過完整的設計,讓學生在實現(xiàn)這些實驗項目的過程中,硬件上要用連接線,將實驗平臺的多個單一功能模塊組合起來構建成新的測控電路,軟件上要多次用到初級階段實驗中的程序作為子程序,讓學生能將硬件與軟件有機結合,逐漸形成系統(tǒng)的概念[8]。
高級階段:學生在畢業(yè)設計或電子競賽環(huán)節(jié)中,在教師指導下自己設計電路原理圖。設計、裝配電路板,編程和調試,最終構成一個單片機的應用系統(tǒng)或新的功能。
開放式項目驅動單片機綜合實驗平臺,給學生提供了一個創(chuàng)新的平臺,使學生不再局限于驗證性實驗上。以開放式的項目驅動方式提高學生對硬件電路設計與分析能力,建立學生對單片機的系統(tǒng)概念,培養(yǎng)學生將硬件與軟件有機結合的綜合應用能力,整個系統(tǒng)反映了當今主流單片機的控制技術,實驗體系合理,系統(tǒng)可移植性強。
[1]徐坤,吳定允,周子昂,等.單片機實驗教學平臺若干問題的思考及改進方案[J].周口師范學院學報,2011,28(2):59-61.
[2]汪建,楊風開,曹江.一種新型單片機/ARM/DSP實驗裝置的研制[J].電氣電子教學學報,2012,34(2):65-67.
[3]劉輝,王新輝,張文希.從電子設計競賽看單片機實驗教學的改革與創(chuàng)新[J].長沙大學學報,2006,20(5):98-100.
[4]楊風開,徐慧平.開放式單片機電氣控制綜合實驗教學平臺[J].中國電力教育,2012(27):89-90,94.
[5]李慶,江漢紅,亓科.基于S51單片機與CPLD的綜合實驗系統(tǒng)研制[J].電氣電子教學學報,2009,31(3):75-77.
[6]馮剛.單片機實驗教學平臺的改革[J].計算機教育,2010(2):144-146.
[7]李焱.單片機教學實驗平臺的設計[D].重慶:重慶大學,2007.
[8]金龍國.單片機原理與應用[M].北京:中國水利水電出版社,2005.