李 俠
(安徽電子信息職業(yè)技術(shù)學(xué)院,安徽 蚌埠 233000)
關(guān)鍵字:物聯(lián)網(wǎng); CC2530單片機(jī);任務(wù)驅(qū)動(dòng)教學(xué)法
物聯(lián)網(wǎng)是通信網(wǎng)和互聯(lián)網(wǎng)的拓展應(yīng)用和網(wǎng)絡(luò)延伸,它利用感知技術(shù)與智能裝置對(duì)物理世界進(jìn)行感知識(shí)別,通過(guò)網(wǎng)絡(luò)傳輸互聯(lián),進(jìn)行計(jì)算、處理和知識(shí)挖掘,實(shí)現(xiàn)人與物、物與物信息交互和無(wú)縫鏈接,達(dá)到對(duì)物理世界實(shí)時(shí)控制、精確管理和科學(xué)決策目的。CC2530是德州儀器(TI)公司推出的用于2.4GHz IEEE802.15.4Zigbee應(yīng)用的一個(gè)真正的片上系統(tǒng)解決方案,它能夠以非常低的成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn),廣泛應(yīng)用于物聯(lián)網(wǎng),包括智能家居、工業(yè)控制、照明系統(tǒng)、消費(fèi)電子及醫(yī)療保健等領(lǐng)域。在高職院校的物聯(lián)網(wǎng)專業(yè)課程中,《CC2530單片機(jī)》是一門重要的專業(yè)核心課程,主要內(nèi)容包括單片機(jī)基礎(chǔ)知識(shí)、BasicRF通訊、Z-Stack協(xié)議棧等。開(kāi)設(shè)這門課程,多是依托新大陸公司的開(kāi)發(fā)板,使用的教材中的實(shí)驗(yàn)也多是引用新大陸公司推出的《物聯(lián)網(wǎng)無(wú)線傳感網(wǎng)實(shí)訓(xùn)教程》中的相關(guān)實(shí)驗(yàn),包括基礎(chǔ)實(shí)驗(yàn)、BasicRF無(wú)線通訊實(shí)驗(yàn)和Z-Stack組網(wǎng)實(shí)驗(yàn)三大部分。在CC2530的基礎(chǔ)實(shí)驗(yàn)中,包含了CC2530單片機(jī)并口知識(shí)、按鍵使用、外部中斷、定時(shí)器、串口通信等。這些實(shí)驗(yàn)中所用到的知識(shí)點(diǎn)較多、實(shí)驗(yàn)任務(wù)復(fù)雜,需要將用到的多個(gè)寄存器逐個(gè)配置,并需嚴(yán)格配置工程運(yùn)行環(huán)境。傳統(tǒng)的教學(xué)方法往往是教師先講授知識(shí)點(diǎn)、演繹,再讓學(xué)生通過(guò)做實(shí)驗(yàn)以驗(yàn)證所學(xué)知識(shí)點(diǎn)。而在講解這些知識(shí)時(shí),教師更多的是按照書本上的安排,以分立的實(shí)驗(yàn)來(lái)運(yùn)用這些知識(shí)點(diǎn)。導(dǎo)致初學(xué)的學(xué)生會(huì)在不相關(guān)聯(lián)的實(shí)驗(yàn)和新的知識(shí)點(diǎn)之間產(chǎn)生迷茫,失去學(xué)習(xí)興趣。建構(gòu)主義提出:只有當(dāng)一個(gè)人已有的知識(shí)無(wú)法解決他所面臨的問(wèn)題時(shí),真正的學(xué)習(xí)才會(huì)發(fā)生。根據(jù)建構(gòu)主義的思想,近幾年任務(wù)驅(qū)動(dòng)教學(xué)法應(yīng)運(yùn)而生。
任務(wù)驅(qū)動(dòng)教學(xué)法實(shí)際上就是將理論與實(shí)際相結(jié)合,運(yùn)用啟發(fā)的方式進(jìn)行教學(xué),將理論教學(xué)與實(shí)踐教學(xué)整合為一元結(jié)構(gòu)。對(duì)比傳統(tǒng)教學(xué)方法,任務(wù)驅(qū)動(dòng)教學(xué)的核心是圍繞“做”這個(gè)中心,將教師的“教”與學(xué)生的“學(xué)”融為一體,將知識(shí)傳授與技能訓(xùn)練融為一體,將學(xué)習(xí)過(guò)程與模仿工作過(guò)程、實(shí)際工作過(guò)程融為一體。任務(wù)驅(qū)動(dòng)式教學(xué)是將任務(wù)布置給學(xué)生,讓學(xué)生在完成任務(wù)的同時(shí)去學(xué)習(xí)與掌握理論知識(shí),完成任務(wù)也是對(duì)理論知識(shí)的驗(yàn)證,將“強(qiáng)迫式、被動(dòng)式”學(xué)習(xí)轉(zhuǎn)變?yōu)椤皞€(gè)性式、主動(dòng)式”學(xué)習(xí)。
下面我們就以一個(gè)具體的任務(wù)來(lái)說(shuō)明任務(wù)驅(qū)動(dòng)教學(xué)法在CC2530單片機(jī)課程中的應(yīng)用:用CC2530控制一個(gè)LED燈的閃爍。教學(xué)目的是使學(xué)生掌握并口、寄存器、按鍵、中斷、定時(shí)器等知識(shí),并學(xué)習(xí)借助互聯(lián)網(wǎng)及書本獨(dú)立解決問(wèn)題的技能。在教學(xué)中我將這個(gè)大任務(wù)又分成了由易到難的四個(gè)子任務(wù),具體如下:
1.子任務(wù)一:通過(guò)并口的高低電平變化控制LED燈的閃爍。
任務(wù)的操作過(guò)程:
(1)開(kāi)發(fā)板電路分析,通過(guò)分析電路可知對(duì)LED控制的引腳為P1.0。
(2)利用IAR集成開(kāi)發(fā)環(huán)境建立工程、編輯源程序、配置工程環(huán)境、編譯工程。
(3)將程序下載至開(kāi)發(fā)板、根據(jù)現(xiàn)象調(diào)試工程。
源代碼(部分)如下:
通過(guò)該實(shí)驗(yàn),使學(xué)生掌握CC2530總共有21個(gè)數(shù)字I/O引腳,這21個(gè)I/O 可配置為通用I/O端口(GPIO),可通過(guò)編程將I/O端口設(shè)置為輸出方式或輸入方式。并學(xué)習(xí)了與I/O口相關(guān)的寄存器(SFG),如Px:端口數(shù)據(jù)寄存器(x=0、1、2)、PxSEL:端口功能選擇寄存器(x=0、1、2)以及PxDIR:端口方向寄存器(x=0、1、2)。
2.子任務(wù)二:通過(guò)查詢按鍵狀態(tài)實(shí)現(xiàn)LED燈的閃爍。
任務(wù)的操作過(guò)程:
(1)開(kāi)發(fā)板電路分析,通過(guò)分析電路可知對(duì)LED控制的引腳為P1.0,按鍵所接引腳為P1.2。
(2)利用IAR集成開(kāi)發(fā)環(huán)境建立工程、編輯源程序、配置工程環(huán)境、編譯工程。
(3)將程序下載至開(kāi)發(fā)板、根據(jù)現(xiàn)象調(diào)試工程。
源代碼(部分)如下:
通過(guò)本任務(wù)的完成,使學(xué)生掌握了如何將I/O端口配置為輸入端口以及如何配置輸入模式,通過(guò)判斷按鍵狀態(tài)和按鍵消抖,實(shí)現(xiàn)了用按鍵控制LED燈閃爍,完成了既定任務(wù)。
3.子任務(wù)三:用按鍵的外部中斷控制LED燈的閃爍。
任務(wù)的操作過(guò)程:
(1)分析查詢按鍵狀態(tài)實(shí)現(xiàn)LED燈閃爍存在的問(wèn)題——消耗CPU資源,不能實(shí)現(xiàn)實(shí)時(shí)控制,引出外部中斷。
(2)學(xué)生通過(guò)查閱資料利用按鍵的外部中斷方式實(shí)現(xiàn)LED燈的閃爍。
(3)對(duì)學(xué)生遇到的問(wèn)題進(jìn)行分析,并總結(jié)中斷用到的寄存器、中斷向量、中斷優(yōu)先級(jí)、中斷服務(wù)程序等知識(shí)。
源代碼(部分)如下:
通過(guò)本次任務(wù)的完成,使學(xué)生理解了中斷、中斷源、中斷嵌套、中斷優(yōu)先級(jí)等概念,理解了中斷處理的過(guò)程,掌握了中斷處理函數(shù)的編寫。并通過(guò)與查詢按鍵狀態(tài)控制LED閃爍的工程相比較,使學(xué)生理解了通過(guò)中斷能夠?qū)PU解放出來(lái),并能夠?qū)崿F(xiàn)實(shí)時(shí)控制。
4.子任務(wù)四:通過(guò)定時(shí)器實(shí)現(xiàn)LED燈的閃爍。
任務(wù)的操作過(guò)程:
(1)在LED的閃爍中,如何實(shí)現(xiàn)LED亮和滅的時(shí)間長(zhǎng)度固定,引出定時(shí)器。
(2)學(xué)生通過(guò)查閱資料利用定時(shí)器方式實(shí)現(xiàn)LED燈的閃爍。
(3)對(duì)學(xué)生遇到的問(wèn)題進(jìn)行分析,并總結(jié)定時(shí)器、定時(shí)器初始化、定時(shí)器工作模式、定時(shí)器中斷服務(wù)函數(shù)等知識(shí)。
源代碼(部分)如下:
定時(shí)/計(jì)數(shù)器是CC2530的重要資源之一,定時(shí)/計(jì)數(shù)器的基本功能是實(shí)現(xiàn)定時(shí)和計(jì)數(shù),整個(gè)工作過(guò)程中不需要CPU進(jìn)行過(guò)多參與,節(jié)省了CPU資源并能夠?qū)崿F(xiàn)周期性運(yùn)行。CC2530的定時(shí)器比51單片機(jī)的定時(shí)器功能更多。通過(guò)該任務(wù)的完成,使學(xué)生掌握了定時(shí)/計(jì)數(shù)器概念、作用和工作原理,與定時(shí)器/計(jì)數(shù)器相關(guān)的寄存器配置。
上述的四個(gè)子任務(wù)均實(shí)現(xiàn)了利用CC2530控制LED的閃爍,對(duì)比如表1所示。子任務(wù)一通過(guò)電平的高平變換和延時(shí)實(shí)現(xiàn)LED的閃爍,使學(xué)生掌握了GPIO的設(shè)置。子任務(wù)二通過(guò)查詢按鍵是否被按下實(shí)現(xiàn)LED的閃爍,使學(xué)生學(xué)會(huì)對(duì)按鍵的操作。子任務(wù)三是對(duì)子任務(wù)二的改進(jìn),由于查詢的方式會(huì)消耗CPU資源,從而引入中斷及其相關(guān)操作。子任務(wù)四通過(guò)定時(shí)器實(shí)現(xiàn)了LED在固定周期內(nèi)閃爍,使學(xué)生進(jìn)一步學(xué)習(xí)了由定時(shí)器引發(fā)的中斷操作。通過(guò)四個(gè)實(shí)現(xiàn)相同效果的子任務(wù),使學(xué)生牢固掌握了所涉及的知識(shí)點(diǎn),并通過(guò)做出對(duì)比掌握每個(gè)子任務(wù)運(yùn)用的知識(shí)點(diǎn)的優(yōu)劣,從而為將來(lái)設(shè)計(jì)電路做好準(zhǔn)備。
表1 四個(gè)子任務(wù)對(duì)比分析
通過(guò)任務(wù)驅(qū)動(dòng)的教學(xué)法在《CC2530單片機(jī)》課程中的應(yīng)用,使學(xué)生成為教學(xué)中的主體,還學(xué)習(xí)的主動(dòng)權(quán)給學(xué)生。當(dāng)學(xué)生因遇到問(wèn)題使任務(wù)沒(méi)有順利完成時(shí),迫切希望能夠得到老師的指導(dǎo)或查閱資料解決問(wèn)題。任務(wù)驅(qū)動(dòng)教學(xué)法具有以下優(yōu)勢(shì):①使學(xué)生能夠明確學(xué)習(xí)目標(biāo),并提高學(xué)習(xí)興趣。②能夠?qū)⒎稚⒌闹R(shí)點(diǎn)與實(shí)際工程相結(jié)合,更加深入理解知識(shí)點(diǎn)的作用及對(duì)知識(shí)點(diǎn)的運(yùn)用。③培養(yǎng)了學(xué)生獨(dú)立解決問(wèn)題的能力,提高學(xué)習(xí)效果。④實(shí)現(xiàn)了師生間的良性互動(dòng),激發(fā)了學(xué)生的學(xué)習(xí)熱情。⑤能夠?yàn)閷W(xué)生將來(lái)走上工作崗位做好零阻力的對(duì)接。
安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報(bào)2019年1期