1. 程式人生 > >單片機特殊功能寄存器

單片機特殊功能寄存器

5.5 一個 .com click 發生 sid http 相關 10個

計數器

從一個生活中的例程看起:一個水盆在水龍頭下,水龍沒關緊,水一滴滴地滴入盆中。水滴持續落下,盆的容量是有限的,過一段時間之後,水就會逐漸變滿。那麽單片機中的計數器有多大的容量呢?8031單片機中有兩個計數器,分別稱之為T0和T1,這兩個計數器分別是由兩個8位的RAM單元組成的,即每個計數器都是16位的計數器,最大的計數量是65536。

定時器

計數器除了能作為計數之用外,還能用作時鐘,計數器是如何作為定時器來用?

計數和時間之間的確十分相關,一個鬧鐘將它定時在1個小時後鬧響,也能說是秒針走了(3600)次,時間就轉化為秒針走的次數。

定時器計數器結構

只要計數脈沖的間隔相等,則計數值就代表了時間的流逝。由此,單片機中的定時器和計數器是一個東西,只不過計數器是記錄的外界發生的事情,而定時器則是由單片機供給一個非常穩定的計數源。

定時器的是計數源是單片機的晶體震蕩器經過12分頻後獲得的一個脈沖源,計數脈沖的間隔與晶體震蕩器有關,一個12M的晶體震蕩器12M/12等於1MHZ,倒數也就是計數脈沖間隔1微秒

溢出

計數器溢出後將使得TF0變為“1”,變成1後將產生事件。

經常會有少於65536個計數值的要求,我們采用預置數的辦法,我要計100,那我就先放進65436,再來100個脈沖,就到了65536。定時也是如此,每個脈沖是1微秒,則計滿65536個脈沖需時65.536毫秒,如果只要10毫秒,10個毫秒為10000個微秒,所以只要在計數器裏面放進55536就能了。

單片機特殊功能寄存器