鄭祥明
(亳州學(xué)院電子與信息工程系,安徽 亳州 236800)
單片機(jī)課程是電類專業(yè)重要的專業(yè)課程之一,是培養(yǎng)學(xué)生掌握單片機(jī)硬件結(jié)構(gòu)、接口技術(shù)、硬件設(shè)計(jì)、軟件設(shè)計(jì)并具備初步工程實(shí)踐能力和解決實(shí)際問題能力的重要工具,具有實(shí)踐性強(qiáng),應(yīng)用范圍廣的特點(diǎn)[1]。但是,在實(shí)際教學(xué)過(guò)程中學(xué)生普遍反應(yīng)單片機(jī)難學(xué),而且單片機(jī)種類繁多,在學(xué)習(xí)的過(guò)程中學(xué)生很難找到共性,舉一反三,學(xué)以致用[2]。針對(duì)課程實(shí)踐性強(qiáng)的特點(diǎn)和創(chuàng)新型人才培養(yǎng)的要求,筆者提出基于創(chuàng)新實(shí)驗(yàn)系統(tǒng)開發(fā)的單片機(jī)課程教學(xué)改革與實(shí)踐方案。方案以ATmega16單片機(jī)為控制核心,涉及I/O控制、常用傳感器及無(wú)線通信模塊的應(yīng)用等,包含系統(tǒng)的原理圖設(shè)計(jì)、PCB板設(shè)計(jì)、焊接調(diào)試及程序設(shè)計(jì)等主要環(huán)節(jié)。體現(xiàn)了以實(shí)踐為主,理論為輔;以學(xué)生為主,教師為輔的原則,引導(dǎo)學(xué)生通過(guò)實(shí)踐環(huán)節(jié)發(fā)現(xiàn)問題和解決問題,更加突出單片機(jī)的實(shí)踐性、應(yīng)用性和工程性,有利于培養(yǎng)學(xué)生主動(dòng)學(xué)習(xí)和創(chuàng)新意識(shí)的養(yǎng)成[3]。
單片機(jī)技術(shù)不僅涉及硬件電路設(shè)計(jì),還需熟練掌握軟件設(shè)計(jì)知識(shí),因此本課程在教學(xué)計(jì)劃的制定與實(shí)施原則上以實(shí)踐為引領(lǐng),教師為主導(dǎo)、學(xué)生為主體;在結(jié)構(gòu)上主要分為硬件電路設(shè)計(jì)和軟件程序設(shè)計(jì)兩部分,其中硬件電路設(shè)計(jì)主要介紹單片機(jī)的I/O口資源分配、基本控制及外圍電路設(shè)計(jì)和驅(qū)動(dòng)電路選型[4]。
硬件電路設(shè)計(jì):在教師指導(dǎo)下讓學(xué)生完成單片機(jī)最小系統(tǒng)的設(shè)計(jì)、基本外圍電路設(shè)計(jì)、印制電路板設(shè)計(jì)與制作、焊接與硬件測(cè)試和其他基于單片機(jī)系統(tǒng)的硬件設(shè)計(jì)。
軟件程序設(shè)計(jì):按由易到難,由簡(jiǎn)單到復(fù)雜的學(xué)習(xí)思維分別指導(dǎo)學(xué)生依次完成板載資源程序設(shè)計(jì):LED流水燈實(shí)驗(yàn)、數(shù)碼管顯示實(shí)驗(yàn)、獨(dú)立按鍵實(shí)驗(yàn)、矩陣鍵盤實(shí)驗(yàn)、定時(shí)中斷實(shí)驗(yàn)、1602液晶顯示、12864液晶顯示、18B20溫度監(jiān)控實(shí)驗(yàn)(可分別通過(guò)數(shù)碼管顯示、1602顯示、12864顯示等)、溫濕度監(jiān)控實(shí)驗(yàn)、數(shù)字時(shí)鐘設(shè)計(jì)和串口通信等實(shí)驗(yàn)項(xiàng)目;對(duì)基礎(chǔ)知識(shí)掌握較扎實(shí),有一定綜合應(yīng)用能力的同學(xué)可引導(dǎo)他們進(jìn)行基于單片機(jī)的系統(tǒng)設(shè)計(jì),例如:基于nRF24L01的無(wú)線通信系統(tǒng)設(shè)計(jì)、智能車控制等實(shí)踐項(xiàng)目。
單片機(jī)實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)是課程實(shí)施的基礎(chǔ),首先必須充分理解單片機(jī)最小系統(tǒng)的工作原理、外圍電路的設(shè)計(jì)思路和ATmega16單片機(jī)I/O資源合理分配等。因此教師在原理圖設(shè)計(jì)階段需及時(shí)指導(dǎo)學(xué)生并提出修改意見,在印制電路板設(shè)計(jì)時(shí)要求學(xué)生熟練使用Altium Designer、Cadence等EDA電路設(shè)計(jì)軟件。
圖1 系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)總體設(shè)計(jì)包括ATmega16最小系統(tǒng)設(shè)計(jì)和外圍電路設(shè)計(jì),其中最小系統(tǒng)電路由電源、晶振電路和復(fù)位電路組成,是單片機(jī)系統(tǒng)核心單元[5]。外圍電路包括顯示模塊、按鍵模塊、通信模塊及傳感器模塊等,本實(shí)驗(yàn)系統(tǒng)根據(jù)課程需要設(shè)計(jì)了包括LED顯示單元、數(shù)碼管顯示單元、蜂鳴器、獨(dú)立按鍵及矩陣鍵盤、串口通信模塊、DS18B20、nRF24L01等常用傳感器接口電路和液晶顯示接口電路等。同時(shí),為便于后期創(chuàng)新實(shí)驗(yàn)項(xiàng)目的拓展,本系統(tǒng)將所有I/O口全部引出,增強(qiáng)了系統(tǒng)的實(shí)用性和可開發(fā)性,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
在系統(tǒng)PCB板設(shè)計(jì)時(shí)要兼顧系統(tǒng)的實(shí)用性、可操作性和產(chǎn)品的美觀等要求并遵循電路設(shè)計(jì)基本原則,以手動(dòng)布局、布線、添加淚滴、鋪銅等完成系統(tǒng)的印制電路板設(shè)計(jì)[6]。本系統(tǒng)將所有的電阻、LED燈、電容及部分按鍵等均采用貼片封裝,大大縮小了實(shí)驗(yàn)系統(tǒng)的體積。
本系統(tǒng)有貼片封裝和直插式封裝兩種封裝形式,課程實(shí)施過(guò)程中采用手工焊接完成創(chuàng)新實(shí)驗(yàn)系統(tǒng)的焊接,必要時(shí)教師需輔導(dǎo)學(xué)生進(jìn)行貼片元件焊接技能訓(xùn)練。焊接時(shí)要注意焊接步驟,首先焊接貼片元件,然后焊接直插式元件。焊接時(shí)不要虛焊、漏焊以及注意LED燈、鉭電容、數(shù)碼管、MAX232等元件的極性和方向。焊接完成后首先檢測(cè)有無(wú)虛焊、漏焊、短路等情況,確定無(wú)故障后再通電檢測(cè):下載測(cè)試程序測(cè)試各模塊是否正常等工作。系統(tǒng)成品的尺寸為:長(zhǎng)9.9 cm,寬9.3 cm,高1.5 cm,具有體積小、成本低、功能強(qiáng)、便于擴(kuò)展等優(yōu)點(diǎn),系統(tǒng)實(shí)物圖如圖2所示。
圖2 系統(tǒng)實(shí)物圖
AVR單片機(jī)可選擇的編譯器有ICC AVR和Avr Studio等,根據(jù)筆者的實(shí)踐經(jīng)歷,建議初學(xué)者使用ICC AVR。操作步驟為打開ICC AVR編譯器,點(diǎn)擊Project中的New新建工程;File中的New新建文件,可根據(jù)需要保存為.c文件或者.h文件;將所有工程文件下的.c文件和.h文件添加到工程中;點(diǎn)擊Build Project編譯和生成.hex文件。
本系統(tǒng)選用的是Atmel公司生產(chǎn)的USB ISP免驅(qū)型編程下載器,使用AVR-ISP接口標(biāo)準(zhǔn),與設(shè)計(jì)的ATmega16創(chuàng)新實(shí)驗(yàn)系統(tǒng)完全兼容。該下載器提供XP和WIN7兼容的proisp1.72版本上位機(jī)軟件,采用超穩(wěn)定自動(dòng)多級(jí)調(diào)速固件,下載過(guò)程無(wú)需人為干預(yù)與設(shè)置,編程器自動(dòng)選擇最快速度穩(wěn)定編程,且編程完成不影響目標(biāo)板的程序運(yùn)行。操作步驟:首先,將USB ISP下載器一端通過(guò)USB與電腦相連,另一端通過(guò)10PIN灰色排線與創(chuàng)新實(shí)驗(yàn)系統(tǒng)ISP接口相連;其次,給實(shí)驗(yàn)系統(tǒng)提供電源,然后打開proisp1.72上位機(jī)軟件,在“Select Chip”欄選擇相應(yīng)的AVR單片機(jī)型號(hào),本系統(tǒng)為ATmega16A;最后,點(diǎn)擊“調(diào)入Flash”打開已生成的.hex文件,點(diǎn)擊“自動(dòng)”即可燒寫成功。
實(shí)踐教學(xué)是單片機(jī)課程教學(xué)的重要組成部分,是培養(yǎng)學(xué)生實(shí)踐動(dòng)手能力和創(chuàng)新應(yīng)用能力的載體。而單片機(jī)系統(tǒng)又是一個(gè)硬件和軟件結(jié)合非常緊密的系統(tǒng),這就要求學(xué)生具備硬件電路設(shè)計(jì)與軟件設(shè)計(jì)的綜合技能。筆者根據(jù)教學(xué)實(shí)際需要和創(chuàng)新實(shí)驗(yàn)系統(tǒng)的資源設(shè)計(jì)了基礎(chǔ)篇、提高篇和創(chuàng)新篇3個(gè)模塊,通過(guò)對(duì)單片機(jī)I/O端口的控制和各種外圍設(shè)備的接口電路、驅(qū)動(dòng)電路等方面的應(yīng)用提高學(xué)生的軟件設(shè)計(jì)能力[7]。
3.3.1 基礎(chǔ)篇
基礎(chǔ)篇程序設(shè)計(jì)圍繞ATmega16單片機(jī)I/O配置的介紹、片內(nèi)資源的實(shí)驗(yàn)驗(yàn)證及其簡(jiǎn)單擴(kuò)展的應(yīng)用等,把軟件設(shè)計(jì)內(nèi)容加載到實(shí)驗(yàn)系統(tǒng)上,通過(guò)直觀的實(shí)驗(yàn)現(xiàn)象把設(shè)計(jì)者的設(shè)計(jì)思想展示出來(lái),增強(qiáng)初學(xué)者感性認(rèn)識(shí),有利于提高學(xué)生的學(xué)習(xí)興趣,能夠快速有效地引導(dǎo)學(xué)生入門ATmega16單片機(jī)。本文以流水燈實(shí)驗(yàn)、數(shù)碼管顯示實(shí)驗(yàn)、鍵盤實(shí)驗(yàn)、中斷、定時(shí)/計(jì)數(shù)器、LCD顯示和串口通信等實(shí)驗(yàn)為例,通過(guò)項(xiàng)目式驅(qū)動(dòng)教學(xué)法把理論與實(shí)踐相結(jié)合,讓學(xué)生在學(xué)中做,做中學(xué),高效引導(dǎo)學(xué)生快速入門ATmega16單片機(jī)。
3.3.2 提高篇
提高篇程序設(shè)計(jì)是在基礎(chǔ)知識(shí)掌握的基礎(chǔ)上利用2~3個(gè)知識(shí)點(diǎn)設(shè)計(jì)的實(shí)驗(yàn)項(xiàng)目,一方面培養(yǎng)學(xué)生對(duì)系統(tǒng)電路的理解和控制能力;另一方面,逐步增加程序設(shè)計(jì)的難度,提高其程序設(shè)計(jì)能力。同時(shí),在提高篇中可適當(dāng)增加常用傳感器的檢測(cè)和控制實(shí)驗(yàn),例如數(shù)字溫度傳感器DS18B20、數(shù)字溫濕度傳感器DHT11、超聲波測(cè)距、繼電器、直流電機(jī)和步進(jìn)電機(jī)等。在指導(dǎo)教師引導(dǎo)下讓學(xué)生完成基于單片機(jī)的監(jiān)測(cè)控制系統(tǒng)實(shí)驗(yàn)項(xiàng)目,在實(shí)踐中不斷激發(fā)學(xué)生的求知欲和學(xué)習(xí)興趣。
3.3.3 創(chuàng)新篇
創(chuàng)新篇程序設(shè)計(jì)是單片機(jī)課程知識(shí)的綜合應(yīng)用與創(chuàng)新能力的綜合體現(xiàn),突出單片機(jī)的工程性與應(yīng)用性,可以為實(shí)際問題提供解決方案。因此,創(chuàng)新篇的項(xiàng)目設(shè)計(jì)要具有一定的開放性和拓展性,最好是聯(lián)合校企合作企業(yè)進(jìn)行共同設(shè)計(jì)、研發(fā)。這個(gè)模塊具有一定的難度,在課程實(shí)施過(guò)程中需根據(jù)學(xué)生具體情況選做。
學(xué)科競(jìng)賽旨在推動(dòng)高校教學(xué)改革,引導(dǎo)和促進(jìn)學(xué)科體系建設(shè),有利于應(yīng)用型和創(chuàng)新型人才培養(yǎng),是培養(yǎng)和檢驗(yàn)學(xué)生實(shí)踐能力、創(chuàng)新能力和應(yīng)用能力重要平臺(tái)[8]。在學(xué)習(xí)完單片機(jī)課程或具備基本單片機(jī)開發(fā)能力的同學(xué)可參加的學(xué)科競(jìng)賽有全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽、智能車競(jìng)賽、“挑戰(zhàn)杯”競(jìng)賽和省級(jí)單片機(jī)與嵌入式等相關(guān)賽事。
學(xué)科競(jìng)賽一般與專業(yè)課程體系或課程內(nèi)容緊密相連,通過(guò)參與學(xué)科競(jìng)賽的備賽學(xué)習(xí),學(xué)生能夠更深刻地理解課程教學(xué)體系。在單片機(jī)相關(guān)學(xué)科競(jìng)賽中歷練和成長(zhǎng),有助于引導(dǎo)學(xué)生理論結(jié)合實(shí)際,培養(yǎng)學(xué)生分析問題、提出解決方案的能力和團(tuán)隊(duì)合作的精神,進(jìn)而提高學(xué)生的綜合實(shí)踐能力與創(chuàng)新意識(shí)。
學(xué)科競(jìng)賽是教學(xué)改革的風(fēng)向標(biāo),單片機(jī)課程團(tuán)隊(duì)通過(guò)指導(dǎo)單片機(jī)相關(guān)的學(xué)科競(jìng)賽可以更有效地了解學(xué)科發(fā)展趨勢(shì)和課程改革方向。一方面,有利于促進(jìn)單片機(jī)課程教學(xué)改革,指導(dǎo)教師把學(xué)科競(jìng)賽備賽和競(jìng)賽階段的項(xiàng)目融入到課程的實(shí)驗(yàn)教學(xué)過(guò)程中,讓全體學(xué)生受益;另一方面,學(xué)生通過(guò)更多綜合性和應(yīng)用性的實(shí)驗(yàn)項(xiàng)目的實(shí)踐,增強(qiáng)了單片機(jī)綜合應(yīng)用能力;此外,學(xué)科競(jìng)賽還有利于促進(jìn)青年教師的成長(zhǎng),不斷提升教學(xué)團(tuán)隊(duì)的教學(xué)質(zhì)量。
本課程的考核由期末實(shí)踐考核、理論考試和平時(shí)表現(xiàn)3部分組成,其中期末實(shí)踐考核的項(xiàng)目由指導(dǎo)老師根據(jù)課程內(nèi)容,重點(diǎn)考察學(xué)生的基礎(chǔ)知識(shí)掌握情況、靈活運(yùn)用所學(xué)知識(shí)的能力和解決實(shí)際問題的能力等,占期末總成績(jī)的40%;理論考試為學(xué)期末的閉卷考試成績(jī),本項(xiàng)考核成績(jī)占總成績(jī)的40%;平時(shí)表現(xiàn)是教師根據(jù)學(xué)生的出勤、平時(shí)實(shí)驗(yàn)的完成情況和課堂表現(xiàn)等作出的評(píng)價(jià),占總成績(jī)的20%。
通過(guò)基于ATmega16單片機(jī)實(shí)驗(yàn)系統(tǒng)開發(fā)的教學(xué)改革與實(shí)踐,進(jìn)一步強(qiáng)化了學(xué)生的電路設(shè)計(jì)、印制電路板設(shè)計(jì)、焊接和程序設(shè)計(jì)能力。單片機(jī)實(shí)驗(yàn)系統(tǒng)的研發(fā)與實(shí)踐拓展了單片機(jī)課程實(shí)踐環(huán)節(jié)的學(xué)習(xí)空間,有利于引導(dǎo)學(xué)生學(xué)會(huì)學(xué)習(xí)、主動(dòng)學(xué)習(xí)和主動(dòng)實(shí)踐的意識(shí),在實(shí)踐中理解和掌握單片機(jī)應(yīng)用技術(shù)。對(duì)培養(yǎng)學(xué)生的實(shí)踐動(dòng)手能力、發(fā)現(xiàn)問題和解決問題能力等方面有積極影響,對(duì)進(jìn)一步深化單片機(jī)課程改革有一定借鑒意義。