資料介紹
描述
概述
如果你需要計算準確的時間你需要使用定時器,但通常Arduino的內(nèi)部定時器并不是那么容易使用,所以在本教程中我試圖解釋如何以一種簡單的方式使用它們。
使用定時器非常重要,因為在 delay() 函數(shù)期間你不能做任何事情,但是使用定時器你可以做任何事情,因為當時刻到來時,它會激活中斷。
我使用TIMER0是因為它是最簡單的定時器,也許以后我會解釋其他定時器。
怎么運行的
首先要看的是ATmega328P的datasheet。
這是計數(shù)器框圖,看看這個你就能明白它是如何工作的。
預分頻器從一個時鐘周期接收一個脈沖,然后將其傳遞給控制邏輯,因此控制邏輯將 TCNTn 寄存器遞增 1。
現(xiàn)在我們可以將 TCNTn 的值與特定值進行比較。當 TCNTn 寄存器到達這個值時,您就知道它已經(jīng)過了特定的時間。
這種方法稱為“Clear Timer on Compare”的 CTC 模式。TCNTn 寄存器的值與 OCRn 寄存器進行比較,當比較匹配發(fā)生時,TOVn 產(chǎn)生中斷。
另一個重要的事情是預分頻器,你可以用它來創(chuàng)建不同的時鐘分頻,事實上 16MHz 太多了,但是,多虧了預分頻器,你可以創(chuàng)建它的一些約數(shù)。這取決于 TCCR0B 寄存器的配置。
?
另一個重要的事情是確定 OCRn 寄存器的值以計算特定時間,您需要一點數(shù)學知識。
我知道所有這些看起來都太復雜了,但我相信下面的代碼會解決每個問題。
在這種情況下,我們每 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
}
在最后設置預分頻器很重要,因為在這條指令之后定時器開始計數(shù),如果你需要停止它,你必須重置 TCCR0B 的所有位。
下面有一個例子。
?
- Arduino洗手定時器
- 基于Arduino的內(nèi)部定時器 0次下載
- Arduino Nano上的自定義定時器功能
- 基于Arduino定時器控制器的繼電器
- labview定時器實現(xiàn)實例分享 25次下載
- SysTick 定時器
- STM32——高級定時器、通用定時器、基本定時器的區(qū)別
- 基于硬件定時器的軟件定時器
- STM32定時器-基本定時器
- STC51定時器與定時器中斷
- 解析使用MCU內(nèi)部定時器方式產(chǎn)生系統(tǒng)時鐘方式資料下載
- 如何解析定時器產(chǎn)生的脈沖信號? 15次下載
- Arduino開發(fā)板定時器定時中斷的詳細資料免費下載 29次下載
- TMS320C6474 DSP 64位定時器用戶指南 3次下載
- 555定時器 51次下載
- 使用Arduino的可變定時器繼電器設計 492次閱讀
- 如何制作一個簡單的2步Arduino可編程定時器電路 1980次閱讀
- 555定時器內(nèi)部框圖、工作原理和工作模式 5931次閱讀
- 倍福PLC中定時器的使用 2893次閱讀
- 如何制作一個簡單的2步Arduino可編程定時器電路 4219次閱讀
- 基礎(chǔ)定時器實驗 1052次閱讀
- freeRTOS軟件定時器的使用 1845次閱讀
- 555定時器結(jié)構(gòu)圖、內(nèi)部工作原理詳解 7600次閱讀
- 軟件定時器簡介及程序配置 3651次閱讀
- 制作一個基于Arduino控制的定時器 6779次閱讀
- 圖文詳解:定時器實用電路的原理 3.4w次閱讀
- 51單片機內(nèi)部定時器和中斷系統(tǒng)以及編寫第一個簡單的定時器實驗程序 4w次閱讀
- 低耗定時器電路 4674次閱讀
- 遙控定時器 2222次閱讀
- 電子定時器 2431次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多