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





