單片機技術與應用電子教案 3.定時器1模模式下控制LED閃爍_第1頁
單片機技術與應用電子教案 3.定時器1模模式下控制LED閃爍_第2頁
單片機技術與應用電子教案 3.定時器1模模式下控制LED閃爍_第3頁
單片機技術與應用電子教案 3.定時器1模模式下控制LED閃爍_第4頁
單片機技術與應用電子教案 3.定時器1模模式下控制LED閃爍_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

課時教案課程:單片機技術與應用-基于CC2530的ZigBee技術開發與應用課題定時器1模模式下控制LED閃爍課時4教學目標知識:1.理解模模式的工作原理。2.掌握模模式下相關寄存器的配置。3.掌握模模式下T1初始化函數的設計方法。4.掌握模模式下T1中斷服務函數的設計方法。技能:1.會分析模模式的工作原理。2.會設置模模式下相關寄存器。3.會對模模式下T1定時器進行初始化。4.能夠依據任務要求設計模模式下定時/計數功能相關函數,將CCDebugger下載仿真器連接至電腦和實訓設備,進行仿真演示。素質:1.在任務實施過程中,具備動手、動腦和勇于創新的意識。2.在分析、解決問題過程中,具備團隊協作意識。重點1.模模式下與T1相關寄存器的設置2.模模式下T1初始化函數的設計難點1.模模式下T1中斷服務函數的設計教法任務驅動式學法自主探究小組合作教具試驗多媒體、PPT課件教學過程問題設計及知識點師生互動設計(問題與任務)定時器1自由運行模式下控制LED閃爍【任務描述】基于ZigBee模塊做基礎開發,利用定時功能實現每隔1sLED1閃爍1次。定時時間要求使用定時器1,32MHz時鐘頻率,工作模式為模模式,32分頻,要求每50ms產生一次溢出中斷。【任務分析】1.知識分析實現模模式下定時器1控制LED閃爍,理解模模式的工作原理,熟知模模式工作模式下與T1定時器相關寄存器的設置。2.設備分析定時器/計數器是CC2530單片機內部主要結構之一,實訓任務選擇ZigBee實訓模塊,會識讀此實訓模塊電路圖,理解此模塊定時器/計數器工作原理。3.技能分析實現定時器1模模式下控制LED閃爍,必須清晰模模式下溢出次數的計算方法,熟練運用IAR軟件進行模模式下定時/計數功能相關函數的編程,并能編譯、鏈接、調試程序,會利用CCDebugger仿真下載器,將仿真器的下載線連接到ZigBee實訓模塊與電腦,進行仿真演示。【知識儲備】一、模模式的工作原理模模式下,計數器從0x0000開始計數,定時器T1每個分頻后的時鐘邊沿增加1,即每s(CC2530單片機時鐘頻率是32MHz)增加1,當計數器達到寄存器T1CC0中值(16位寄存器,由T1CC0H和T1CC0L組合)時溢出,計數器重新載入0x0000,繼續遞增。當計數達到最大計數值寄存器T1CC0中值時,IRCON.T1IF和T1STAT.OVFIF兩個標志位被置1,若設置相應的中斷使能位T1MIF.OVFIM和IEN1.T1IE,將產生中斷請求。定時器1共有5對T1CCxH和T1CCxL寄存器,分別對應通道0到通道4。定時器1的定時功能使用T1CC0H和T1CC0L兩個寄存器,存放最大計數值的高8位和低8位。注意:1)如果定時器1的計數器開始于T1CC0以上的一個值,當達到最終計數值(0XFFFF)時,上述相應標志位被置1。2)模模式用于周期不是0XFFFF的場合。二、模模式下與T1定時器相關寄存器及設置根據模模式的工作原理可知判斷是否產生溢出,需要將計數值不斷與寄存器T1CC0中的值進行比較。所以模模式下與T1相關寄存器有:T1CCTL0:定時器1通道0捕獲/比較控制寄存器T1CC0H:定時器1通道0捕獲/比較值高位T1CC0L:定時器1通道0捕獲/比較值低位T1STAT:定時器1狀態寄存器T1CTL:定時器1控制寄存器。TIMIF:定時器1/3/4中斷屏蔽/標志【任務指導】1.搭建開發環境1)新建工作區,工作區名為:work3_2。2)新建工程,工程名為:project3_2。3)新建源程序文件,命名為test3_2.c。4)將test3_2.c文件添加到project3_2工程中。5)按鍵CTRL+S保存工作區。6)配置工程選項,“Project”->“Options”->“GeneralOptions”,“Device”->“TexasInstruments”->“CC2530F256”。7)配置linker,勾選Overridedefault8)配置Debugger,“Debugger”->“Setup”->“Driver”->“TexasInstruments”。2.在編輯窗口設計程序(1)準備工作引入CC2530必要的頭文件“iocc2530.h”,定義相關變量等。#include<iocc2530.h>#defineLED1P1_0unsignedcharcount;(2)設計端口初始化函數voidInit_Port()//端口初始化函數{P1SEL&=~0x01;//設置P1_0端口為GPIOP1DIR|=0x01;//定義P1_0端口為輸出LED1=0;//關閉LED1}(3)設計定時器T1初始化函數1)初始化函數設計基本流程:將定時器1的最大計數值寫入T1CC0。通過T1CCTL0寄存器開啟定時器1通道0的輸出比較模式。設置定時器1的相關中斷控制位。設置EA=1,使能總中斷;設置T1IE=1,使能T1中斷;設置TIMIF|=0x40或OVFIM=1,使能T1溢出中斷。設置分頻系數和工作模式并啟動定時器。2)定時器T1的最大計數值任務中系統時鐘為32MHz,分頻系數為32,溢出周期為50ms,則:,將其轉換為十六進制為0xC350。3)定時器1初始化函數如下:voidInit_T1()//定時器1初始化函數{T1CC0L=50000&0x00FF;//或T1CC0L=0x50;設置最大計數值的低8位T1CC0H=(50000&0xFF00)>>8;//或T1CC0H=0xC3;設置最大計數值的高8位T1CCTL0|=0x04;//開啟通道0的輸出比較模式TIMIF|=0x40;//定時器1溢出中斷使能T1IE=1;//定時器1中斷使能EA=1;//總中斷使能T1CTL=0x0A;//啟動定時器T1,設32分頻,模模式}(4)設計T1中斷服務函數1)基本設計思路:清除IRCON的T1中斷標志位T1IF及T1STAT的溢出中斷標志位OVFIF,因硬件會自動清零,即此語句可省略。判斷count是否達到溢出次數,如果達到即1秒定時到,count清零,執行中斷服務函數;否則count累加。2)T1中斷服務函數#pragmavector=T1_VECTOR__interruptvoidT1_ISR(){if(count>=20){count=0;LED1=!LED1;}else{count++;}}(5)設計主函數voidmain(){CLKCONCMD&=~0x7F;//晶振設置為32MHzwhile(CLKCONSTA&0x40);//等待晶振穩定Init_Port();//調用定時器1初始化函數Init_T1();//調用T1初始化函數while(1);}3.編寫、分析、調試程序編譯、下載程序。編譯無錯后,將CCDebugger與ZigBee模塊相連,并分別連接到電腦,下載程序,測試程序功能。教師引導學生分析任務教師引導學生分析理解模模式的工作原理小組合作探究模模式下與T1相關寄存器及其設置學生依據任務要求搭建開發環境學生編寫程序:引入頭文件,定義相關變量學生依據任務要求編寫端口初始化函數小組合作探究編寫T1初始化函數教師巡視指導評價教師引導學生編寫T1中斷服務函數學生編寫主函數學生實際動手操作,測試程序功能新知應用基于CC2530模塊做基礎開發,利用定時功能實現每隔1s,LED1和LED2交替閃爍1次,定時時間要求采用定時器T1,32MHz,工作模式為模模式,128分頻,已知溢出周期為200ms。了解學生對新知識

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論