新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > s3c2440定時器簡介

s3c2440定時器簡介

作者: 時間:2016-11-11 來源:網(wǎng)絡 收藏
S3c2440 有5 個16 位的定時器。定時器0、1、2、3 有脈寬調制功能(PWM)。定時器4有一個沒有輸出引腳的內部定時器。定時器0 有一個用于大電流設備的死區(qū)生成器。
定時器0 和1 共享一個8 位的預分頻器(預定標器),定時器2,3,4 共享另一個8 位預分
頻器.
定時器的時鐘源為PCLK,首先經(jīng)過預分頻器降低頻率后,進入第二個分頻.可以生成5 種不同的分頻信號(1/2,1/4,1/8,1/16 和TCLK)
定時器啟動后,TCNTn開始減一計數(shù),當TCNTn 等于TCMPn時, TOUTn 反轉, TCNTn繼續(xù)減數(shù).
當TCNTn= 0 時, TOUTn 再次反轉,并觸發(fā)中斷(中斷已經(jīng)使能).
若TCON 設為自動加載, TNCTn/TCMPNn 的值被重裝.
寄存器:
TCFG0: 配置兩個8 位預分頻器, [15:8] 此8 位決定定時器2,3,4 的預標定器值,[7:0] 此8 位決定定時器0,1 的預標定器值
輸出頻率: = PCLK / (prescaler value + 1)
TCFG1:
用于設置第二個分頻.可以設置5 種不同的分頻信號(1/2,1/4,1/8,1/16 和TCLK)
至此可得到
定時器工作頻率=PCLK / (prescaler value + 1) / (divider value)
divider value = 2,4,8, 16
TCON: 定時器控制寄存器
TCNTBn :設置一個被裝載到遞減計數(shù)器中的初始值。
TCMPBn: 設置一個被裝載到比較寄存器中用來和遞減計數(shù)
器的值作比較的初始值。
TCNTOn : 通過讀取其可以得到TCNTBn 的值
定時器初始化示例:
void timer0_init(void)
{
TCFG0 = 99; // 預分頻器0 = 99
TCFG1 = 0x03; // 選擇16分頻
TCNTB0 = 31250; // 0.5秒鐘觸發(fā)一次中斷
TCON |= (1<<1); // 手動更新
TCON = 0x09; // 自動加載,清“手動更新”位,啟動定時器0
}


關鍵詞: S3C2440定時

評論


技術專區(qū)

關閉