定時器常用作定時時鐘,以實現定時檢測、定時響應、定時控制。并且可用于產生ms的脈寬信號驅動電機。定時和計數功能最終都是通過計數實現的,若計數的事件源是周期固定的脈沖,那么可以實現定時功能,否則只能實現計數功能。
實現定時/計數的方法一般有:軟件定時、專用硬件電路和可編程定時器/計數器三種方法。
軟件定時:執行一個循環程序進行時間延遲。定時基本準確,不需要外加硬件電路,但增加CPU開銷。
專用硬件電路定時:可實現精確的定時和計數,但參數調節不方便。
可編程定時器/計數器:不占用CPU時間,能與CPU并行工作,實現精確的定時和計數,又可以通過編輯設置其工作方式和其他參數,所以使用還是很方便的。
定時器的基本工作原理是:利用計數器對固定周期的脈沖計數,通過寄存器的溢出來觸發中斷。
使用定時器時主要有兩種方法:
1、使用定時中斷技術,計時溢出時觸發中斷,預先設計的中斷子程序將被自動調用。
2、使用查詢法檢查是否出現計時溢出,溢出時執行指定代碼
通常我們用到是第一種方法,計數溢出產生中斷。
那么對于定時器有很多種功能,也就是做出不同的配置可以實現。比如計數器模式,輸入捕獲模式,PWM模式,單脈沖模式等可以通過實際需求做出配置實現這些功能。
我們以常用的幾個功能模式為例來說一下如何快速用庫函數實現配置,配置要點都有哪些。
1、定時中斷模式
時鐘選擇需要配置預分頻寄存器;周期(其實是計數值)需要配置自動裝載寄存器;計數模式需要配置,比如向上計數或者向下計數;對齊模式需要配置,比如邊沿對齊或者中央對齊。再更新使能,使能中斷和定時器就可以實現定時中斷功能,這個是最常用的,最基本的。應用最廣,比如延時,定時時鐘,定時響應,定時控制等。
2、輸入捕獲模式
輸入捕獲需要配置捕獲通道,捕獲沿,捕獲輸入源選擇,濾波配置。配置好可以通過中斷方式實現捕獲,捕獲可以改變捕獲沿,這樣可以根據需求捕獲,比如不改變沿就可以捕獲到一個周期的值,改變沿的捕獲可以對脈寬進行捕獲。應用廣泛,常用于測量脈沖寬度、周期等。
3、PWM模式
PWM輸出模式需要配置有PWM工作模式(強制拉高,強制拉低,PWM兩種模式),對齊模式(中央對齊,邊沿對齊),輸出極性,分頻系數,周期(計數值),占空比配置。
還有比如重裝載使能,分頻計數規則,這些其實都需要去看,對于上面這些功能而言,一個定時器都有幾個通道可以實現,各個通道可以實現不同的占空比,對于一個定時器可以實現不同占空比的PWM。
對于PWM模式來說,應用也很廣泛,比如心跳燈,電壓輸出,電機調速等。
對于單片機模塊快速應用要結合手冊和示例程序可以事半功倍,一定要先清楚自己的需求,再去看庫函數如何調用可以讓自己快速實現自己的應用。單片機底層驅動起來是基本的應用,然后才能更好的去服務上層應用。調試也是很重要的方面,不清楚的地方除了查手冊最快的方式還是調試,可以快速解惑。
如果大家還有什么疑問或者目前有其他模塊想快速應用起來,可以聯系我們的器件部門,下面是我們器件部門的二維碼,企業部門也可以免費申領資料。
?