資料介紹
描述
概述
如果你需要計算準確的時間你需要使用定時器,但通常Arduino的內部定時器并不是那么容易使用,所以在本教程中我試圖解釋如何以一種簡單的方式使用它們。
使用定時器非常重要,因為在 delay() 函數期間你不能做任何事情,但是使用定時器你可以做任何事情,因為當時刻到來時,它會激活中斷。
我使用TIMER0是因為它是最簡單的定時器,也許以后我會解釋其他定時器。
怎么運行的
首先要看的是ATmega328P的datasheet。
這是計數器框圖,看看這個你就能明白它是如何工作的。
預分頻器從一個時鐘周期接收一個脈沖,然后將其傳遞給控制邏輯,因此控制邏輯將 TCNTn 寄存器遞增 1。
現在我們可以將 TCNTn 的值與特定值進行比較。當 TCNTn 寄存器到達這個值時,您就知道它已經過了特定的時間。
這種方法稱為“Clear Timer on Compare”的 CTC 模式。TCNTn 寄存器的值與 OCRn 寄存器進行比較,當比較匹配發生時,TOVn 產生中斷。
另一個重要的事情是預分頻器,你可以用它來創建不同的時鐘分頻,事實上 16MHz 太多了,但是,多虧了預分頻器,你可以創建它的一些約數。這取決于 TCCR0B 寄存器的配置。
?
另一個重要的事情是確定 OCRn 寄存器的值以計算特定時間,您需要一點數學知識。

我知道所有這些看起來都太復雜了,但我相信下面的代碼會解決每個問題。
在這種情況下,我們每 0.001 秒激活一個中斷請求。
TCCR0A|=(1<; //Set the CTC mode
)<> OCR0A=0xF9; //Set the value for 1ms
TIMSK0|=(1<; //Set the interrupt request
)<> sei(); //Enable interrupt
TCCR0B|=(1<; //Set the prescale 1/64 clock
)<> TCCR0B|=(1<;
)<>ISR(TIMER0_COMPA_vect){ //This is the interrupt request
}
在最后設置預分頻器很重要,因為在這條指令之后定時器開始計數,如果你需要停止它,你必須重置 TCCR0B 的所有位。
下面有一個例子。
?
- Arduino洗手定時器
- 基于Arduino的內部定時器 0次下載
- Arduino Nano上的自定義定時器功能
- 基于Arduino定時器控制器的繼電器
- labview定時器實現實例分享 30次下載
- SysTick 定時器
- STM32——高級定時器、通用定時器、基本定時器的區別
- 基于硬件定時器的軟件定時器
- STM32定時器-基本定時器
- STC51定時器與定時器中斷
- 解析使用MCU內部定時器方式產生系統時鐘方式資料下載
- 如何解析定時器產生的脈沖信號? 15次下載
- Arduino開發板定時器定時中斷的詳細資料免費下載 29次下載
- TMS320C6474 DSP 64位定時器用戶指南 3次下載
- 555定時器 55次下載
- 使用Arduino的可變定時器繼電器設計 2.1k次閱讀
- 如何制作一個簡單的2步Arduino可編程定時器電路 3.8k次閱讀
- 555定時器內部框圖、工作原理和工作模式 9.1k次閱讀
- 倍福PLC中定時器的使用 7.2k次閱讀
- 如何制作一個簡單的2步Arduino可編程定時器電路 6.1k次閱讀
- 基礎定時器實驗 2.3k次閱讀
- STM32的通用定時器 4.4k次閱讀
- freeRTOS軟件定時器的使用 3.8k次閱讀
- 555定時器結構圖、內部工作原理詳解 1.1w次閱讀
- 軟件定時器簡介及程序配置 5k次閱讀
- 制作一個基于Arduino控制的定時器 8.8k次閱讀
- 圖文詳解:定時器實用電路的原理 3.8w次閱讀
- 51單片機內部定時器和中斷系統以及編寫第一個簡單的定時器實驗程序 4.2w次閱讀
- 低耗定時器電路 5.5k次閱讀
- 電子定時器 3.1k次閱讀
下載排行
本周
- 1新一代網絡可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費
- 2冷柜-電氣控制系統講解
- 13.68 MB | 1次下載 | 10 積分
- 3MDD品牌三極管MMBT3906數據手冊
- 2.33 MB | 次下載 | 免費
- 4MDD品牌三極管S9012數據手冊
- 2.62 MB | 次下載 | 免費
- 5LAT1218 如何選擇和設置外部晶體適配 BlueNRG-X
- 0.60 MB | 次下載 | 3 積分
- 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
- 0.89 MB | 次下載 | 3 積分
- 7收音環繞擴音機 AVR-1507手冊
- 2.50 MB | 次下載 | 免費
- 8MS1000TA 超聲波測量模擬前端芯片技術手冊
- 0.60 MB | 次下載 | 免費
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數據手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4UWB653Pro USB口測距通信定位模塊規格書
- 838.47 KB | 5次下載 | 免費
- 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
- 7100W準諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
- 8FS8025B USB的PD和OC快充協議電壓誘騙控制器IC技術手冊
- 1.81 MB | 1次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發燒友App





創作
發文章
發帖
提問
發資料
發視頻
上傳資料賺積分
評論