滕召勝, 高云鵬, 唐 求, 溫 和, 郭斯羽
(湖南大學 電氣與信息工程學院, 湖南 長沙 410082)
“單片機”是信息類專業(yè)的主干專業(yè)基礎課,是一門專業(yè)性、實踐性很強的課程[1~2]。傳統(tǒng)的單片機實驗在實驗室進行,以演示性、驗證性實驗居多[3~4],由于這類實驗缺乏系統(tǒng)性、啟發(fā)性和設計性,導致學生對單片機的理解不夠深入,實際應用能力難以提高。近年來,“口袋實驗室”以其便捷、隨時隨地、自主實驗等顯著優(yōu)越性,得到了迅速發(fā)展[5~7]。
在多年課堂教學與實踐教學基礎上,針對電氣信息類專業(yè)人才培養(yǎng)要求,我們探索單片機實踐教學改革,開發(fā)了一款以ADuC848為核心的功能強、成本低、體積小的單片機最小系統(tǒng)作為“口袋實驗室”,提出了“單片機傳統(tǒng)實驗室+單片機虛擬實驗平臺+單片機口袋實驗室”的三結(jié)合實驗教學模式,把教師授課、學生學習、實驗項目有機結(jié)合在一起,在實踐中取得了很好的效果,提高了學生的單片機實踐興趣,培養(yǎng)了學生的研發(fā)意識與工程實踐能力,增強了學生的創(chuàng)新意識。
在多年教學實踐和實驗資源基礎上,我們構(gòu)建的“單片機傳統(tǒng)實驗室+單片機虛擬實驗平臺+單片機口袋實驗室”結(jié)合的單片機實驗教學體系,如圖1所示。在實驗教學體系中,①單片機傳統(tǒng)實驗室主要完成演示性、驗證性等基礎性實驗,促進學生認識單片機、了解單片機。②單片機虛擬實驗平臺主要完成設計性實驗和初步綜合性實驗項目,為學生的單片機工程應用奠定基礎。③單片機口袋實驗室主要完成綜合性實驗、工程設計創(chuàng)新性實驗。
單片機口袋實驗室解決了傳統(tǒng)固定實驗室單片機實驗與教學脫節(jié)的問題,有助于解決實驗內(nèi)容與社會需求結(jié)合不緊密的問題,讓學生實現(xiàn)了想做就做的愿望,有利于培養(yǎng)學生的專業(yè)綜合知識應用能力,為后續(xù)學科競賽、畢業(yè)設計、創(chuàng)新設計、科研實踐打下堅實基礎。
圖1 單片機實驗教學體系簡圖
單片機傳統(tǒng)實驗室利用實驗箱完成80C51單片機實驗,實驗箱采用外掛式51/96通用單片機仿真器,適應Windows XP等操作系統(tǒng)的調(diào)試軟件。實驗箱具有開放式4×6鍵盤實驗電路、128×64組成的LCD圖文實驗電路、16×16點陣電路和8155、8250、8251、8253、8255、0809、0832、RS232/485等常用芯片接口電路,配備了小型直流電機、步進電機、溫度壓力、電子音響電路喇叭、8 MHz頻率源模塊、開關(guān)邏輯電平輸入/輸出電路,主板上還配有數(shù)控式實驗演示裝置。生產(chǎn)廠家設計、提供了各實驗項目的電路接線圖、C語言源程序、匯編語言源程序,學生通過解讀、模仿,驗證實驗項目的預定功能,進行的主要是演示性、能驗證性實驗。圖2為單片機實驗箱的實物圖[8]。
圖2 單片機實驗箱
單片機傳統(tǒng)實驗室主要完成演示性、驗證性、基礎性實驗,實驗內(nèi)容包括:
(1)軟件實驗。主要實現(xiàn):清零程序、拆字程序、拼字程序、數(shù)據(jù)區(qū)傳送子程序、數(shù)據(jù)排序子程序、查找相同數(shù)據(jù)個數(shù)子程序、無符號雙字節(jié)快速乘法子程序、多分支程序以及脈沖計數(shù)、電腦時鐘設計等實驗。
(2)硬件實驗。主要實現(xiàn):P1口亮燈實驗、P1口轉(zhuǎn)彎燈實驗、P3.3口輸入/P1口輸出實驗、工業(yè)順序控制實驗、8255 A/B/C口輸出方波實驗、8255 PA口控制PB口、8255控制交通燈、簡單I/O擴展實驗、ADC0809轉(zhuǎn)換實驗、DAC0832轉(zhuǎn)換實驗、8279鍵盤顯示實驗、I2C儲存卡讀寫實驗、繼電器控制實驗、步進電機控制、小直流電機調(diào)速實驗、16*16 LED點陣顯示實驗、8250可編程異步通訊接口實驗(自發(fā)自收)、8251可編程通訊接口實驗(與PC機)、單片機RS-232/485串行發(fā)送實驗(雙機通訊)、單片機RS-232/485串行接收實驗(雙機通訊)、溫度壓力實驗等。
上節(jié)所述的單片機實驗箱硬件電路是固定的,實驗內(nèi)容難以改動,顯然不能適應單片機技術(shù)的快速發(fā)展和單片機系統(tǒng)的多樣化應用需求,也不利于培養(yǎng)學生的單片機工程開發(fā)能力和設計創(chuàng)新意識。利用單片機虛擬實驗平臺,可以在一定程度上彌補上述不足。
單片機虛擬實驗平臺為單片機實驗室每臺PC機上安裝了Proteus軟件仿真系統(tǒng),編譯調(diào)試環(huán)境選用集編輯、編譯和調(diào)試于一體,支持多種匯編和C語言編程KeilC51 uVision3軟件,Proteus軟件支持KeilC51uVision3 聯(lián)合調(diào)試[9]。學生在自主學習Proteus和KeilC51 uVision3的使用方法和二者聯(lián)合調(diào)試方法后,利用Portus虛擬仿真環(huán)境,可以在計算機上自行設計原理圖,編寫源代碼,完成程序調(diào)試,觀察運行結(jié)果,完成所需實驗[10],節(jié)省開發(fā)時間和開發(fā)費用,逐漸適應工程實踐。
圖3為單片機虛擬實驗平臺原理圖[11]。
單片機虛擬實驗平臺上可完成的實驗項目較多,主要有:驗證性實驗(含I/O口實驗、中斷實驗、定時器實驗等)、設計性實驗項目(含時鐘電路及其實時顯示設計、16×16點陣漢字顯示設計等)、綜合性實驗項目(含溫度控制系統(tǒng)設計、步進電機控制系統(tǒng)設計等)。
圖3 單片機虛擬仿真實驗平臺
課堂聽課、課后看書、演示實驗、驗證實驗、虛擬仿真實驗都不可能使學生完全學會單片機[11,12]。例如:Proteus仿真環(huán)境下的單片機,在沒接晶振電路和復位電路的情況下可以運行,而實際單片機不能;再如虛擬仿真實驗結(jié)果可能導致理解偏差。單片機學習過程必須強調(diào)邊做邊學、學做結(jié)合。但單片機實驗箱、單片機虛擬實驗平臺都只能在指定實驗室進行實驗,學生必須在規(guī)定時間、地點利用指定設備完成指定的實驗項目,不僅以演示性、驗證性為主,學生的主動性受限,實驗內(nèi)容也常與教學內(nèi)容脫節(jié)、滯后[12],而且不能保證學生在有實驗激情、創(chuàng)作靈感迸發(fā)的時候進行實驗與開發(fā)。此外,實驗箱體積大、攜帶不便、更新周期長、技術(shù)相對落后、數(shù)千元一套的成本過高,不可能實現(xiàn)學生人手一套。
為此,我們開發(fā)了基于ADuC848的單片機口袋實驗室,既可用于前期的51單片機的教學實驗,完成功能與綜合性較強的單片機課程設計,又有利于學生完成后續(xù)的單片機應用研究。
ADuC848是ADI公司的一款具有軍品標準的8051兼容單片機,具有大容量64 KBFlash ROM、4 kB片上Flash、2304字節(jié)片上RAM、高性能單循環(huán)內(nèi)核。它將16位多通道Σ-Δ型ADC和Flash微控制器完全集成在一個芯片上,運行速度比標準的8051高近20倍,外部晶振32 kHz可倍頻至12.58 MHz,ISP在線高速下載編程,具有24個I/O口、11個中斷源(2個優(yōu)先級)、雙數(shù)據(jù)指針、內(nèi)部節(jié)電模式、12位D/A轉(zhuǎn)換器以及UART、SPI和I2C串行通信模式、看門狗定時器WDT和電源監(jiān)視器PSW等。52引腳的ADuC848的MQFP封裝僅14×14 mm,工作溫度可達125 ℃,正常工作最大電流4.8 mA,節(jié)電模式下最大電流僅20 μA。ADuC848可用一個RS-232串口完成程序調(diào)試、下載和燒錄,方便開放與在線升級。
在學習了單片機系統(tǒng)的基礎知識、焊接與調(diào)試工藝后,我們?yōu)閷W生發(fā)放了ADuC848單片機系統(tǒng)套件,人手一套,由學生焊接、裝配。
圖4為基于ADuC848的單片機口袋實驗室的實物圖(外形13.8×10.2 cm)。
圖4 單片口袋實驗室實物
學習初期,讓學生在單片機袋實驗室上進行基礎電路與簡單程序設計,以基本輸入/輸出控制、按鍵輸入、數(shù)碼管顯示等驗證型、演示型實驗為主,培養(yǎng)學生興趣,也有利于促進學生掌握單片機最小系統(tǒng)及軟件譯碼、硬件顯示等基本概念,理解I/O口。具有一定基礎后,再增加鍵盤管理、顯示管理內(nèi)容并開展與單片機查詢、中斷、定時器、串口控制、時序控制等相關(guān)的且有一定技巧性的設計型實驗;學會交互電路的程序設計方法。隨著學生對單片機學習的深入,自然產(chǎn)生技能擴展的需求,此時通過在口袋實驗室上進行的應用型、設計型實驗,進一步掌握硬件資源擴充、接口芯片運用、定時器/計數(shù)器工作方式擴展、A/D轉(zhuǎn)換與D/A轉(zhuǎn)換應用、輸入/輸出模塊使用等技能,為后期單片機系統(tǒng)的科研應用打下良好基礎。
單片機口袋實驗室可以完成的實驗項目非常豐富,既可以完成諸如I/O口控制、定時/中斷、數(shù)碼顯示、矩陣式鍵盤管理、A/D與D/A轉(zhuǎn)換、步進電機控制等基礎實驗,也能實現(xiàn)諸如程控多種信號發(fā)生器、多功能搶答器、計數(shù)器、簡易電子琴、數(shù)字密碼鎖、微波爐控制器、洗衣機控制器、仿電梯控制器、仿汽車自動報站、電壓監(jiān)視器等大量系統(tǒng)設計實驗。以口袋實驗室為核心,配合一定的外部電路及程序,還可實現(xiàn)更多的測量及控制功能。
針對電氣信息類人才培養(yǎng)要求,我們提出了“單片機傳統(tǒng)實驗室+單片機虛擬實驗平臺+單片機口袋實驗室”的三結(jié)合實驗教學模式,將傳統(tǒng)的教師為主體的實驗教學向?qū)W生為主體的實驗教學轉(zhuǎn)化,讓學生由簡及繁地開展各類實驗,循序漸進地掌握單片機的應用技能,為后續(xù)工程應用打下堅實基礎。以我校測控技術(shù)與儀器專業(yè)為例,學生因此提高了單片機學習興趣,參與單片機的創(chuàng)新設計與學科競賽成果豐碩,例如:單相防竊電電能表開發(fā)獲評全國大學生創(chuàng)新性實驗計劃十佳案例,防作弊電子秤榮獲ADI中國大學創(chuàng)新設計競賽一等獎,肉類水分快速測定儀獲“挑戰(zhàn)杯”全國大學生課外學術(shù)科技作品競賽一等獎、中國大學生創(chuàng)業(yè)計劃競賽金獎,便攜式電能質(zhì)量監(jiān)測儀獲得“挑戰(zhàn)杯”全國大學生課外學術(shù)科技作品競賽三等獎。這些成果反過來又大大激發(fā)了學生對單片機的學習興趣。