計數(shù)器
從一個生活中的例程看起:一個水盆在水龍頭下,水龍沒關緊,水一滴滴地滴入盆中。水滴持續(xù)落下,盆的容量是有限的,過一段時間之后,水就會逐漸變滿。那么單片機中的計數(shù)器有多大的容量呢?8031單片機中有兩個計數(shù)器,分別稱之為T0和T1,這兩個計數(shù)器分別是由兩個8位的RAM單元組成的,即每個計數(shù)器都是16位的計數(shù)器,最大的計數(shù)量是65536。
定時器計數(shù)器除了能作為計數(shù)之用外,還能用作時鐘,計數(shù)器是如何作為定時器來用?
計數(shù)和時間之間的確十分相關,一個鬧鐘將它定時在1個小時后鬧響,也能說是秒針走了(3600)次,時間就轉化為秒針走的次數(shù)。
定時器計數(shù)器結構
只要計數(shù)脈沖的間隔相等,則計數(shù)值就代表了時間的流逝。由此,單片機中的定時器和計數(shù)器是一個東西,只不過計數(shù)器是記錄的外界發(fā)生的事情,而定時器則是由單片機供給一個非常穩(wěn)定的計數(shù)源。
定時器的是計數(shù)源是單片機的晶體震蕩器經(jīng)過12分頻后獲得的一個脈沖源,計數(shù)脈沖的間隔與晶體震蕩器有關,一個12M的晶體震蕩器12M/12等于1MHZ,倒數(shù)也就是計數(shù)脈沖間隔1微秒
溢出計數(shù)器溢出后將使得TF0變?yōu)椤?”,變成1后將產(chǎn)生事件。
經(jīng)常會有少于65536個計數(shù)值的要求,我們采用預置數(shù)的辦法,我要計100,那我就先放進65436,再來100個脈沖,就到了65536。定時也是如此,每個脈沖是1微秒,則計滿65536個脈沖需時65.536毫秒,如果只要10毫秒,10個毫秒為10000個微秒,所以只要在計數(shù)器里面放進55536就能了。