定時/計數(shù)器的4種工作方式
發(fā)布時間:2016/7/15 21:39:15 訪問次數(shù):1708
方式⒈16位定時/計數(shù)器
定時/計數(shù)器0和定時/計數(shù)器1的方式1的結構和原理EF6803P完全相同的,下面以定時/計數(shù)器0為例展開討論。
當M1M0=01時,定時/計數(shù)器0工作于方式1,其結構如圖7,9所示。αT控制位用來選擇定時/計數(shù)器時鐘信號的來源,當C/T=1時,選擇外部時鐘源;當C/T=0時,選擇單片機內(nèi)部時鐘源,頻率為晶振頻率的12分頻。當C・ATE=0時,我們觀察結構圖,可以發(fā)現(xiàn)或門輸出恒
為高電平,與INT0無關,這時只要TR0=1時,與門輸出高電平,時鐘控制開關閉合,計數(shù)器開始工作;而當GATE=l時,或門要輸出高電平,INT0必須為1,此時與門輸出受TR0和INT0共同影響,只有二者都為高電平時,時鐘控制開關才閉合,計數(shù)器開始工作。
計數(shù)寄存器TH0(高8位)和TL0(低8位)是可分別讀/寫的,都為8位,兩者聯(lián)合在一起構成了一個16位的定時/計數(shù)器。單片機復位后為全0。當用作定時器時,需按定時長度計算出計數(shù)初值。
TH0和TL0分別設置計數(shù)初值,即TH0=0FFH,TL0=38H。
設置好初值后,啟動定時/計數(shù)器0開始工作,計數(shù)器從計數(shù)初值開始計數(shù),在時鐘信號的每個下降沿到來時,計數(shù)值加1,當計數(shù)值達到FFFFH后,這時如果再來一個下降沿,計數(shù)值溢出,向中斷請求標志位TF0進位,并可以向CPU申請中斷,然后計數(shù)值從0開始計數(shù),然后循環(huán)不停。使用定時功能時,為了保證每次定時時間的一致性,通常會在定時/計數(shù)器的中斷服務子程序中重新設置計數(shù)初值。如果不重新設置初值,那么在計數(shù)值溢出后,計數(shù)值從0開始,計數(shù)65536次后溢出。當不需要繼續(xù)定時,可以通過軟件把TR0清0,關閉計數(shù)器。
方式⒈16位定時/計數(shù)器
定時/計數(shù)器0和定時/計數(shù)器1的方式1的結構和原理EF6803P完全相同的,下面以定時/計數(shù)器0為例展開討論。
當M1M0=01時,定時/計數(shù)器0工作于方式1,其結構如圖7,9所示。αT控制位用來選擇定時/計數(shù)器時鐘信號的來源,當C/T=1時,選擇外部時鐘源;當C/T=0時,選擇單片機內(nèi)部時鐘源,頻率為晶振頻率的12分頻。當C・ATE=0時,我們觀察結構圖,可以發(fā)現(xiàn)或門輸出恒
為高電平,與INT0無關,這時只要TR0=1時,與門輸出高電平,時鐘控制開關閉合,計數(shù)器開始工作;而當GATE=l時,或門要輸出高電平,INT0必須為1,此時與門輸出受TR0和INT0共同影響,只有二者都為高電平時,時鐘控制開關才閉合,計數(shù)器開始工作。
計數(shù)寄存器TH0(高8位)和TL0(低8位)是可分別讀/寫的,都為8位,兩者聯(lián)合在一起構成了一個16位的定時/計數(shù)器。單片機復位后為全0。當用作定時器時,需按定時長度計算出計數(shù)初值。
TH0和TL0分別設置計數(shù)初值,即TH0=0FFH,TL0=38H。
設置好初值后,啟動定時/計數(shù)器0開始工作,計數(shù)器從計數(shù)初值開始計數(shù),在時鐘信號的每個下降沿到來時,計數(shù)值加1,當計數(shù)值達到FFFFH后,這時如果再來一個下降沿,計數(shù)值溢出,向中斷請求標志位TF0進位,并可以向CPU申請中斷,然后計數(shù)值從0開始計數(shù),然后循環(huán)不停。使用定時功能時,為了保證每次定時時間的一致性,通常會在定時/計數(shù)器的中斷服務子程序中重新設置計數(shù)初值。如果不重新設置初值,那么在計數(shù)值溢出后,計數(shù)值從0開始,計數(shù)65536次后溢出。當不需要繼續(xù)定時,可以通過軟件把TR0清0,關閉計數(shù)器。
上一篇:控制寄存器TCoN