我們將由晶體振蕩器等時鐘發生器產生的具有固定周期的信號稱為系統時鐘,而外設功能定時器(計數器)是將系統時鐘任意分頻得到的時鐘信號與計數器的組合。
英銳恩單片機開發工程師介紹,分頻指的是是將1kHz時鐘降低,例如1MHz時鐘在時鐘頻率高至1/1000的情況下。
時鐘(時鐘脈沖)只是一個以固定間隔重復H(高)電平和L(低)電平的數字信號。單片機的定時器(計數器)功能是自動對時鐘進行計數并在設定的經過時間后通知它的功能。
在下文中,英銳恩單片機開發工程師將介紹定時器(計數器)的信號輸出示例。此示例使用一個時鐘除以1kHz的時間作為定時器,以任意固定間隔產生輸出。
在本案例中,一個向上計數器用于對時鐘進行計數。遞增計數器沿增加輸入時鐘(脈沖)的方向從0計數到設定值,當達到設定值時返回0并重復計數。
下圖是在達到設定值時作為通知反轉輸出狀態(此處為切換H電平和L電平)的示例:
時鐘周期為1ms,因此如果將計數器設置為50,則計數值將每50ms達到一次,然后反復復位。英銳恩單片機開發工程師介紹,每次計數器復位時輸出狀態反轉,因此脈沖輸出為100ms。
在本文中,是以使用定時器計數器輸出信號為例,但是在要創建的應用程序中所有與時間相關的處理都可以通過定時器計數器來實現。
值得注意的是,定時器(計數器)功能的硬件電路是獨立于CPU的。在定時器功能中,還有一個帶有PWM的單片機,其應用范圍很廣。