季紅梅 / 安徽財貿(mào)職業(yè)學院
高職單片機教學研究
——定時器應用教學
季紅梅 / 安徽財貿(mào)職業(yè)學院
教學須因材施教、因人施策。面對高職學生群體,運用怎樣的教學方法才能達到最佳教學效果呢?根據(jù)自己多年教學體會,認為高職課堂教學,既不能等同于高中教學,也不能完全照搬高校教學,它必須具有高職的特色:理論適用、技能為主,課堂教學既要注重知識性,更要注重趣味性,通過學生跟著老師做、學生學著自己做、理論實踐相結(jié)合、現(xiàn)場教學做總結(jié)的方式,達到加快理解掌握單片機功能應用的技能。
高職教學;單片機應用;理論結(jié)合實訓
單片機在工業(yè)儀表、實時分散控制、物聯(lián)網(wǎng)應用等方面都有著不可或缺的作用。在高職學院單片機的課堂教學成為電子技術、物聯(lián)網(wǎng)技術甚至計算機應用專業(yè)等相關專業(yè)的重要專業(yè)基礎課,特別是當前各類高職技能大賽項目的機器人控制、非接觸識別等科目,單片機相關知識點的學習掌握更是重中之重。而常規(guī)的單片機教學模式是從芯片原理到編程使用講解,理論性強、記憶內(nèi)容多,往往一開始就使得不少學生難以理解接授,產(chǎn)生畏難情緒。因此,設計出一套適合高職學生的教、學、做一體化模式,就像過去師傅帶徒弟一樣,使學生通過做、學、教的實踐體會,真正在做中學,在實踐中理解,在理解中提升,達到加快理解掌握單片機功能應用技能的教學目標。下面本人以定時器的教學設計為例,設計教學模式如下。
首先,在開始定時器知識點教學之前,應該通過實驗演示、圖片、視頻等方式給同學們展示單片機的應用實例,同時啟發(fā)大家推舉生活中遇到的相關實例,越是接近生活的實例越是能激起同學們學習的興趣。教師需要充分準備具備較強的相關知識應對學生提出的難題實例,適當引用到后續(xù)實訓中。
其次,對于學習單片機相關專業(yè)的同學,都能熟練使用電腦的優(yōu)勢,以電腦為例,用比擬法教學,使得同學們基本了解單片機的基本構(gòu)件,參見圖 1。
圖1 功能比較圖
其三,強化二進制與十六進制的應用知識教學。計算機基礎對于二進制的教學僅僅告訴了同學們一種數(shù)制方式,我們需要同學們充分了解以下問題:
1.什么是二進制?一個字節(jié)幾位二進制數(shù)?
2.什么是十六進制?一個十六進制表示幾個字節(jié)?
3.為何要使用二進制、十六進制?
4.十進制數(shù)0-15用十六進制如何表示?
5.一個字節(jié)用十六進制如何表示?
6.二進制與十六進制如何快速轉(zhuǎn)換?
其四,在充分了解了二進制與十六進制,掌握位操作的概念,認識0和1標識的狀態(tài)應用,特別是必須牢記如何置0與位置1。對于位置0和位置1總結(jié)出一個算式,能理解就自己設置,不能理解就按照老師給的算式設置,強行記憶。
位操作要點:
1.能夠直接位訪問的,直接設置
例如:EA=0 或 EA=1
2.字節(jié)訪問的位操作,改變操作的某位,不能影響其他位的狀態(tài)
置0用&=~算式,置1用|=。(案例略)
通過一定數(shù)量的練習,保證同學們能夠熟練進行狀態(tài)設置位操作?;A準備好了,興趣提起來了,能夠使得同學們期待你的下一次課程,那么你才是成功的授者。
單片機以CC2530為教學應用對象。
在開始定時器教學之前,需要通過幾個小實驗,展示位操作的學習成果,學習通過I/O口寄存器的設置,設計LED燈的每秒閃爍一次的實驗,通過不同參數(shù)調(diào)整延時,可以體會一下要求達到的時間精度的不可控性,導出了精確時間定時需要定時器…通過精確計算時間,獲得準確的LED定時閃爍。
CC25030定時器T1的主要功能是這樣介紹的:
◆五個捕獲/比較通道
◆16位定時器
◆自由運行、模模式、正數(shù)/倒數(shù)計數(shù)操作
◆時鐘分頻系數(shù):1、8、32、128
◆在每個捕獲/比較和最終計數(shù)上生成中斷請求
如果我們就是上述功能展開教學,能聽下去的同學可預見的是寥寥無幾。所以教學設計直奔主題:T1是16位定時器,有自由重載模式、模模式、正倒數(shù)模式,計數(shù)范圍0-65535(復習十六進制,討論此數(shù)來由),假定使用32MH時鐘,分別帶同學們學習三種不同模式下的定時器的應用。
(1)計數(shù)次數(shù)獲得
計數(shù)的時間間隔由時鐘頻率計算獲得,假設使用32MHz時鐘8分頻,獲得0.5s的時間間隔,需要計數(shù)多少次數(shù)呢?頻率Hz的倒數(shù)是秒,定時器計數(shù)次數(shù)獲得:需要的時間秒數(shù)/(1/分頻后頻率Hz),如果次數(shù)大于65535,需要程序控制計數(shù)若干次。0.5s/(1/(32*106/8))s就是0.5s需要的計數(shù)次數(shù),計算結(jié)果大約是65535*30次。
(2)自由重載模式
所謂自由重載模式就是,16位計數(shù)器從0開始計數(shù)加1直到65535時加1計數(shù)溢出,計數(shù)器重新載入0再次計數(shù)到65535如此重復。參見圖2。
圖2 自由重載模式
自由重載模式案例參考代碼:32MHz時鐘8分頻,獲得0.5s的時間間隔LED閃爍,時間間隔精確度有差異。
#include "ioCC2530.h" // 引用頭文件,包含對CC2530的寄存器、中斷向量等的定義
//定義led燈端口
* 函數(shù)名稱:init
* 功 能:初始化系統(tǒng)IO,定時器T1控制狀態(tài)寄存器
(3)模模式
自由重載模式計數(shù)次數(shù)區(qū)間是0-65535很難匹配精確的適合秒數(shù)的計數(shù)次數(shù),因此導出使用模模式。模模式是采用比較計數(shù)次數(shù)達到T1CC0寄存器指定的參數(shù)(初始化中預置)時,計數(shù)溢出計數(shù)器重新載入0再次計數(shù)到T1CC0。參見圖3。例如:32MHz并128分頻時獲得0.5s計數(shù)次數(shù)是62500*2即可,可以獲得精確定時計數(shù)。
圖3 模模式
模模式下案例:32MHz時鐘128分頻,獲得0.5s的時間間隔LED閃爍,時間間隔精確度無差異。修改參數(shù)如下:
T1CTL=0x0e; // 配置128分頻,模模式計數(shù)工作模式,并開始啟動
T1CCTL0 |= 0x04; //設定timer1通道0比較模式,定時器1的通道0的中斷
//使能T1CCTL0.IM默認使能
T1CC0L =62500 & 0xFF; // 把62500的低8位寫入T1CC0L
T1CC0H=((62500& 0xFF00) >> 8); //把 62500 的高 8 位寫入T1CC0H
//計數(shù)次數(shù)為2次即可獲得0.5s計時間隔。
(4)正倒數(shù)模式
正倒數(shù)模式即是計數(shù)器0加到T1CC0上限再減到0為一次計數(shù)溢出,相當于二次模模式。參見圖4。例如:32MHz128分頻時獲得0.5s計數(shù)次數(shù)是1次,可以獲得精確定時計數(shù)。
圖4 正倒數(shù)模式
正倒數(shù)模式下案例:32MHz時鐘8分頻,獲得0.5s的時間間隔LED閃爍,時間間隔精確度無差異。修改參數(shù)如下:
T1CTL=0x0f; // 配置128分頻,模比較計數(shù)工作模式,并開始啟動
T1CCTL0 |= 0x04; //設定timer1通道0比較模式,定時器1的通道0的中斷
//使能T1CCTL0.IM默認使能
T1CC0L =62500 & 0xFF; // 把62500的低8位寫入T1CC0L
T1CC0H=((62500& 0xFF00) >> 8); //把 62500 的 高 8 位 寫 入T1CC0H
//計數(shù)次數(shù)為2次即可獲得0.5s計時間隔。
(5)CC25030其他定時器T2、T3、T4簡介
T2定時器被系統(tǒng)使用,T3、T4基本功能與T1類似,但要注意,只有T1定時器為16為定時器,其他均為8為定時器,相同的定時間隔相差256倍。
(6)設計實驗案例
定時LED燈閃爍,定時跑馬燈(正向反向變換),定時顯示計數(shù)等等。幾種功能可以通過按鍵切換,通過調(diào)整按鍵延時,觀察按鍵反應時間,引導出后續(xù)知識點中斷功能的應用。
(1)教學方法
常規(guī)做法是教師教(理論或原理)學生聽學,本課程采用教師做學生模仿做,實現(xiàn)練習目標之后,總結(jié)實現(xiàn)實訓的過程(步驟),再對應原理(理論)加以理解。教師提出拓展目標案例,學生在理解的基礎上完成拓展實訓??偨Y(jié)為:做、學、教,拓展提升。
(2)教學設備利用
由于場地受限,本實驗室目前僅有13套設備,教師使用一套,同時只能有12組學生參與實驗,對于近50人的班級,我們采用分2組且同學自帶筆記本上課方式,二人一組共享一套設備,基礎設計編程使用各自的筆記本電腦,連接調(diào)試分時使用實驗設備,既充分利用設備資源也能達到高效教學的目標。
經(jīng)過二屆學生的教學實踐,學生基本都能夠掌握教授單片機的應用技能。教學過程中,盡量將學習的知識點劃分為幾個固定的基本步驟,一點一點添加或通過循序漸進修改初始化的部分參數(shù),即可實現(xiàn)不同類型的設置方式,完成相關要求項目,方便學生學習及記憶。開始學生按照老師要求的方法記憶式學做實驗,多做幾個實驗,即可在教師的指導啟發(fā)下完成自主設計的實驗項目,在最后的課程實訓周,能夠獨立完成較高難度的綜合實訓項目,達到教學目標。
[1]姜仲 劉丹 ZigBee技術與實訓教程[M]北京 清華大學出版社 2014.
[2]物聯(lián)網(wǎng)無線傳感網(wǎng)實訓教程[M]北京 新大陸時代教育科技有限公司 2014.
[3]本書編委 ZigBee技術開發(fā)-CC2530單片機原理及應用[M]北京 清華大學出版社 2015.
[4]楊玥 單片機與接口技術-基于CC2530的單片機應用[M]北京 清華大學出版社 2017.
季紅梅,安徽財貿(mào)職業(yè)學院 云桂信息學院。