單片機定時器 計數器的工作原理,及如何實現定時 計數功能
T=1/(12×106)Hz×1/12=1μs 這是最短的定時周期。若要延長定時時間,則需要改變定時器的初值,並要適當選擇定時器的長度(如8位、13位、16位等)。 當定時器/計數器為計數工作方式時,通過引腳T0和T1對外部信號計數,外部脈沖的下降沿將觸發計數。計數器在每個機器周期的S5P2期間采樣引腳輸入電平。若壹個機器周期采樣值為1,下壹個機器周期采樣值為0,則計數器加1。此後的機器周期S3P1期間,新的計數值裝入計數器。所以檢測壹個由1至0的跳變需要兩個機器周期,故外部事年的最高計數頻率為振蕩頻率的1/24。例如,如果選用12MHz晶振,則最高計數頻率為0.5MHz。雖然對外部輸入信號的占空比無特殊要求,但為了確保某給定電平在變化前至少被采樣壹次,外部計數脈沖的高電平與低電平保持時間均需在壹個機器周期以上。 當CPU用軟件給定時器設置了某種工作方式之後,定時器就會按設定的工作方式獨立運行,不再占用CPU的操作時間,除非定時器計滿溢出,才可能中斷CPU當前操作。CPU也可以重新設置定時器工作方式,以改變定時器的操作。由此可見,定時器是單片機中效率高而且工作靈活的部件。 綜上所述,我們已知定時器/計數器是壹種可編程部件,所以在定時器/計數器開始工作之前,CPU必須將壹些命令(稱為控制字)寫入定時/計數器。將控制字寫入定時/計數器的過程叫定時器/計數器初始化。在初始化過程中,要將工作方式控制字寫入方式寄存器,工作狀態字(或相關位)寫入控制寄存器,賦定時/計數初值。下面我們就提出的控制字的格式及各位的主要功能與大家詳細的講解。 控制寄存器 定時器/計數器T0和T1有2個控制寄存器-TMOD和TCON,它們分別用來設置各個定時器/計數器的工作方式,選擇定時或計數功能,控制啟動運行,以及作為運行狀態的標誌等。其中,TCON寄存器中另有4位用於中斷系統。