第四單元 定時器計數器應用
1、定時器/計數器的分類
cc2530中共包括5個定時器/計數器,分別是定時器1、定時器2、定時器3、定時器4和睡眠定時器。
2、定時器/計數器的作用
(1)計數器功能
對任意時間間隔的輸入訊號的個數進行計數,一般用來對外界事件進行 計數。其輸入訊號一般來自微控制器外部開關型感測器。
(2)捕獲功能
對規定時間間隔的輸入訊號的個數進行計數,當外界輸入有效訊號時,捕獲計數器的計數值。該功能通常用來測量外界輸入脈衝的脈寬或頻率,需要在外界輸入訊號的上公升沿和下降沿進行兩次捕獲,通過計算兩次捕獲的差值可以計算出脈寬或週期等資訊。
(3)比較功能
當計數值與需要進行比較的值相同時,向cpu提出中斷請求或改變i/o口輸出控制訊號。該功能一般用來控制led燈亮度或電機轉速。
**定時器/計數器的核心是乙個計數器,可以進行加1(或減1)計數,每出現乙個計數訊號,計數器就自動加1(或自動減1)。
當計數值從最大值變成0(或從0變成最大值)溢位時,定時器/計數器便向cpu提出中斷請求。
計數訊號的**可選擇週期性的內部時鐘訊號(如定時功能)或非週期性的外界輸入訊號(如計數功能)。
3、工作模式
cc2530的定時器1只具備「自由執行」、「模」和「正計數/倒計數」3種不同的工作模式。
(1)自由執行模式
在自由執行模式下,計數器從0x0000開始,在每個活動時鐘邊沿增加1,當計數器達到0xffff時溢位,計數器重新載入0x0000並開始新一輪的遞增計數。
(2)模模式
在模模式下,計數器從0x0000開始,在每個活動時鐘邊沿增加1,當計數器達到t1cc0暫存器儲存的值時溢位,計數器將復位到0x0000並開始新一輪遞增計數。
(3)正計數/倒計數模式
在正計數/倒計數模式下,計數器反覆從0x0000開始,正計數到t1cc0儲存的最終計數值,然後倒計時返回0x0000。
—初始化定時器
cc2530在上電後,預設使用內部頻率為16mhz的rc振盪器
設定定時器1的分頻係數需要使用t1ctl暫存器,通過設定div[1:0]兩位的值為定時器選擇分頻係數
t1ctl暫存器
設定定時器1的最大計數值
在程式設計中,應先寫低位暫存器,再寫高位暫存器。
外部中斷 CC2530
中斷在計算機組成中都有詳細介紹。中斷分為外部中斷和內部中斷。對於cc2530片上系統來說,通用i o引腳設定為輸出時候,可以用於產生中斷,可以設定為外部訊號的上公升或下降沿出發。p0,p1,p2都有中斷使能位。對於ien1 2暫存器內的埠所有的位都是公共的。此外還包括其他很多態別的中斷 除了公共中斷...
CC2530學習筆記(1) IO埠
cc2530學習筆記 1 io埠 cc2530是針對ieee 802.15.4,zigbee和rf4ce應用的真正片上系統 soc 解決方案。它能夠以非常低的總物料成本構建強大的網路節點。cc2530將領先的射頻收發器的卓越效能與業界標準增強型8051 mcu,系統內可程式設計快閃儲存器,8 kb ...
CC2530之時鐘源
系統時鐘 相關暫存器 32 mhz 晶振 16 mhzrc振盪器 注意 2mhz晶振啟動時間對一些應用程式來說可能比較長 16mhzrc振盪器功耗低於晶振,但是由於不像晶振那麼精確,不能用於rf收發器操作 32 khz 晶振 32 khzrc振盪器 注意 相對於32 khzxosc解決方案32 kh...