|
你沒有理解定時(shí)器的工作原理啊。
第一:定時(shí)器的計(jì)時(shí)原理——根據(jù)時(shí)鐘的個(gè)數(shù)進(jìn)行計(jì)數(shù)(簡單來說就是數(shù)個(gè)數(shù)),而時(shí)鐘的周期是由晶振確定的,有多少個(gè)時(shí)鐘脈沖,就可以知道是多少時(shí)間。舉例來說,常用晶振12M,51單片機(jī)12分頻后,時(shí)鐘就是1M,周期就是1us。如果你要定時(shí)10us,就要讓定時(shí)器數(shù)10個(gè)脈沖。
第二:定時(shí)器中斷的原理——就是溢出。你說的那兩個(gè)初值寄存器,高低8位,一共16位,就是最大值65535,即0xFF,如果再加一,則會(huì)溢出,它們的值則回零,溢出的一位,就產(chǎn)生中斷標(biāo)志。
第三:結(jié)合上面兩條知識,就可以算出原本應(yīng)該在初值寄存器中的初值了——還是以上面講的例子為例:需要定時(shí)10us,使用的是定時(shí)方式1,即16位定時(shí)器,要溢出產(chǎn)生中斷,需要65536,但只計(jì)數(shù)10個(gè)脈沖,所以,初值就是65536-10=65526,換成十六進(jìn)制,0xfff6。
第四:不同的工作方式,也有不同的計(jì)算,但都要有上面的基礎(chǔ)知識。常用的就是16位定時(shí)器和8位自動(dòng)重裝定時(shí)器。
我這個(gè)說明也許不夠細(xì),你要再找找相關(guān)資料和書看看。沒基礎(chǔ)是不能走下去的哦。 |
|