4.1 定時器1中斷方式控制LED閃爍_第1頁
4.1 定時器1中斷方式控制LED閃爍_第2頁
4.1 定時器1中斷方式控制LED閃爍_第3頁
4.1 定時器1中斷方式控制LED閃爍_第4頁
4.1 定時器1中斷方式控制LED閃爍_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

任務2.4定時器1中斷方式控制LED閃爍【任務要求】采用定時器1,每隔5s使LED1閃爍1次?!局R鏈接】CC2530芯片共有T1、T2、T3和T4定時/計數器,各自具有如下特點:

T1為16位定時/計數器,支持輸入采樣、輸出比較(PWM)功能,具有5個獨立的輸入采樣/輸出比較通道,每一個通道對應一個I/O口。

T2為MAC定時器。

T3和T4為8位定時/計數器,支持輸出比較和PWM功能,具有2個獨立的輸出比較通道,每一個通道對應一個I/O口。定時/技術器的基本原理

定時/計數器,是一種能夠對內部時鐘信號或外部輸入信號進行計數,當計數值達到設定要求時,向CPU提出中斷處理請求,從而實現定時或者計數功能的外設。

定時/計數器的最基本工作原理是進行計數。不管是定時器還是計數器,本質上都是計數器,可以進行加1(減1)計數,每出現一個計數信號,計數器就會自動加1(自動減1),當計數值從0變成最大值(或從最大值變成0)溢出時,定時/計數器就會向CPU提出中斷請求。CC2530的定時/計數器CC2530共有5個定時/計數器,其中定時器1是一個16位的定時器,為CC2530中功能最全的一個定時/計數器,在應用中應優(yōu)先選用。定時器1的工作模式有三種:

<1>

自由運行模式:計數器從0x0000開始,在每個活動時鐘邊沿增加1,當計數器達到0xFFFF時溢出,計數器重新載入0x0000并開始新一輪的遞增計數。該模式的計數周期是固定值0xFFFF,當達到最終計數值0xFFFF時,標志位T1IF和OVFIF被設置。

<2>

模模式:計數器從0x0000開始,在每個活動時鐘邊沿增加1,當計數器達到T1CC0寄存器保存的值時溢出,計數器又將從0x0000開始新一輪的遞增計數,模模式的計數周期可由用戶自行設定。

<3>

正計數/倒計數模式:計數器反復從0x0000開始,正計數到TICC0保存的最終計數值,然后再倒計數回0x0000,當達到最終計數值時,標志位T1IF和OVFIF被設置。

CC2530的定時/計數器中斷系統定時器有3種情況能產生中斷請求:

<1>

計數器達到最終計數值(溢出或回到零)。

<2>

輸入捕獲事件。

<3>

輸出比較事件(模模式時使用)。

使用模模式要特別注意,需要開啟通道0的輸出比較模式,否則計數器的值達到T1CC0后,是不會產生溢出中斷的。相關寄存器【任務實施】第一步,搭建系統。將ZigBee模塊固定在NEWLab平臺上。第二步,新建工作區(qū)、工程和源文件,并對工程進行相應配置。第三步,程序設計分析。1.初始化T1中斷。2.設置T1CTL,使T1處于8分頻的自由模式,T1計數器每8/(32×106)s增加1,所以T1計數器計數到0xFFFF時,發(fā)生溢出中斷,整個過程耗時大約為0.016s。因此,需要中斷300次才使LED1閃爍一次。3.LED1與P1.0相連,設置P1.0引腳為GPIO、輸出狀態(tài)。第四步,編寫、分析、調試程序。1.編寫程序。具體程序代碼見本教材資源。2.編譯、下載程序。編譯無錯后,下載程序,可以

溫馨提示

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

評論

0/150

提交評論