CC2530之定時器T3

2021-08-15 08:24:58 字數 2941 閱讀 9058

在本次學習中,主要通過定時器t3週期性的控制led的亮滅。

首先,先檢視相關電路圖。由圖可知,當cc2530埠1的0號引腳輸出低電平時,led1將被點亮。

接下來,先檢視與led(p1_0)配置相關的暫存器。

埠1功能選擇暫存器(p1sel)。這是乙個8位的暫存器,對應埠1的8個引腳,將相應位設為0,表示將相應引腳設定為普通的i/o口,若設定為1,則將相關引腳設為外設i/o,預設值都為0。

埠1方向選擇暫存器(p1dir)。這是乙個8位的暫存器,對應埠1的8個引腳,將相應位設為0,表示將相應引腳設定為輸入引腳,若設定為1,則將相關引腳設為輸出引腳,預設值都為0。

埠1輸入模式暫存器(p1inp)。這是乙個8位的暫存器,對應埠1的8個引腳,將相應位設為0,表示將相應引腳設定為上拉/下拉模式,若設定為1,則將相關引腳設為三態模式,其中p1_0和p1_1沒有上拉/下拉功能,可以不用配置,預設值都為0。

再來看看與定時器t3相關的暫存器

定時器3的控制暫存器(t3ctl)

bit7~bit5:設定分頻值

bit7:5

描述000

分頻值為1

001分頻值為2

010分頻值為4

011分頻值為8

100分頻值為16

101分頻值為32

110分頻值為64

111分頻值為128

bit4:定時器t3的啟動/停止位。寫1表示啟動,寫0表示停止

bit3:溢位中斷掩碼。寫1表示開啟溢位中斷,寫0表示關閉溢位中斷。

bit2:清計數器。寫1表示將計數器設定為0並初始化所有相關引腳。

bit1~bit0:設定計數器的計數模式。

bit1:0

描述00

自由計數,從0x0000計數到0xffff,不斷重複計數

01向下計數一次,由t3cc0計數到0,

10模計數,從0x0000計數到t1cc0,不斷重複計數

11向上/向下計數,從0x0000計數到t1cc0再從t1cc0計數到0x0000,不斷重複

定時器3通道0捕獲/比較控制暫存器。

bit6:通道0中斷掩碼。寫1表示使能中斷,寫0表示禁用中斷。

bit5~bit3:通道0比較輸出模式選擇。

bit5:3

描述000

在比較中設定輸出

001在比較中清除輸出

010在比較中切換輸出

011在比較正計數時設定輸出,在0時清除

100在比較正計數時清除輸出,在0時設定

101在比較時設定輸出,在0xff時清除

110在比較時清除輸出,在0時設定

111初始化輸出引腳。 cmp[2:0]不變

bit2:定時器3通道0的模式。0表示捕獲模式,1表示比較模式。

bit1~bit0:捕獲模式選擇

bit1:0

描述00

無捕獲01

在上公升沿捕獲

10在下降沿捕獲

11在所有邊沿都捕獲

定時器3通道0捕獲/比較值暫存器

當t3cctl0.mode=1(比較模式)時寫該暫存器會導致t3cc0.val[7:0]更新到寫入值延遲到t3cnt.cnt[7:0]=0x00

定時器1/3/4中斷掩碼/標誌暫存器

bit1:定時器3通道0中斷標誌。0:無中斷未決;1:中斷未決

bit0:定時器3溢位中斷標誌。0:無中斷未決;1:中斷未決

中斷標誌4暫存器

bit3:定時器3中斷標誌,當中斷發生時置為1,當cpu向量指向中斷服務例程時置為0

中斷使能暫存器1

bit3:定時器3中斷使能。1:中斷使能;0:中斷失能。

中斷使能暫存器0

bit7:總中斷使能。

/*利用定時器3,間隔約0.5s將led電平翻轉一次*/

#include

typedef unsigned char

uchar;

typedef unsigned int

uint;

#define led1 p1_0

void ledinit(void)

void tim3init(void)

uint count;

#pragma vector = t3_vector

__interrupt void t3_isr(void)

}void main(void)

CC2530定時器應用 隨記

關於cc2530定時器1和定時器3的使用一般如果題目 現有乙個現象在持續進行並且會伴隨其他的現象出現,這時候就應該考慮定時器的使用了,2530中的定時器有5個,但是常用的就兩個定時器1和定時器3,它們代表了兩種不同的定時器,定時器1是乙個16位定時器,而定時器3是乙個8位定時器,但是使用時沒有太大的...

cc2530 睡眠定時器串列埠顯示

cc2530 睡眠定時器串列埠顯示 第12次次課 睡眠定時器方式喚醒 體會1 切換系統主時鐘16mhz和32mhz 體會2 當串列埠波特率比較高時候 19200 亂碼多,降低後 9600 穩定,主要是因為雙方硬體時鐘不精確 include typedef unsigned char uchar ty...

CC2530定時器配置筆記1(基本定時功能配置)

cc2530有2個8位的定時器,它們分別是定時器3和定時器4。相較於傳統51微控制器的8位定時器來說,cc2530上的定時器具有輸入捕獲 輸出比較 定時器計數方向可變等幾個特點。以定時器3為例,想要通過定時器3進行計時操需要配置t3ctl暫存器 ien1暫存器 timif暫存器。t3xtl是乙個8位...