發表文章

目前顯示的是 11月, 2016的文章

Atmel Tiny88 16-bit Timer

圖片
Introduction 計時器是一個簡單的計數器 ,它的優點是系統程式在執行時,也不會影響到它的準確度。當然要有準確的系統時脈,才能讓計時器的時間是準確的。AVR 會有兩種計時器,分別為 8-bit 計時器和 16-bit 的計時器,這篇文章僅介紹 16-bit 計時器。 16-bit 計時器的特性: 16 位元的設計 兩個計數值比較單位的獨立輸出 兩個資料緩衝區給輸出比較暫存器 一個輸入取樣單位 輸入取樣單位有消除雜訊功能 比較暫存器達標後自動清除(自動重新載入) 無鋸齒,正確相位脈波寬度調整器(PWM) 多種週期的脈波調整器 頻率產生器 外部事件計數器 四個獨立的中斷向量,分別為 TOV1 / OCF1A / OCF1B / ICF1 16位元計時器的方塊圖 相關的暫存器說明 Timer/Counter 1 (TCNT1) - 計數器/計時器 #1 Output Compare Register (OCR1 A/B) - 比較器暫存器 #1 A/B 輸出,計數值和目標值相同時輸出。 Input Capture Register (ICR1) - 取樣暫存器 Timer Interrupt Flag Register (TIFR1) -  紀錄中斷旗標暫存器 Interrupt Mask Register (TIMSK1) - 中斷的開關 Timer/Counter Clock Source Timer/Counter 的時脈來源 - 外部的時脈產生器 內部的 System Clock - 內部的 System Clock 可以設定經除頻器後再送到 Timer/Counter 模組。由暫存器 Timer/Counter Control Register B(TCCR1B) 的 Clock Select (CS1[2:0]) 來決定時脈的來源。 Counter Unit Timer/Counter 是一個雙向(可以上數/下數)計數器,其方塊圖如下: 方塊圖中訊號的說明 - CLK Tn - Timer/Counter 時脈輸入 Count - 計數加/減 1 Clea