51單片機(jī)定時(shí)器定時(shí)模式
初學(xué)51單片機(jī)的人都接觸到定時(shí)器這個(gè)東西,關(guān)于定時(shí)器也有很多資料,包括內(nèi)部結(jié)構(gòu),如何執(zhí)行。但是說(shuō)到模式,我想剛學(xué)的時(shí)候聽(tīng)他們講的那堆亂七八糟的模式都很費(fèi)解,什么模式0,模式1,十六位,八位。我到現(xiàn)在也沒(méi)有明白。但是我在編程時(shí),對(duì)這東西有一個(gè)初步的理解。
本文引用地址:http://www.ex-cimer.com/article/201611/324001.htm首先是定時(shí)器為啥要先裝初值,這東西打個(gè)比方,古代定時(shí)用的是沙漏,沙漏是先在桶中裝上沙子,在鉆一個(gè)眼,沙子都溜走時(shí),為一個(gè)周期。如果要定時(shí),裝的就是最后的那個(gè)時(shí)間,加入我定10毫秒,則是10、9、8、7、6……,直到0,啟動(dòng)中斷。而還有一種方法就在木桶中滴水,木桶的容積是一定的,水滴滿(mǎn)以后就是一個(gè)周期。加入那個(gè)木桶可以裝10毫秒的水,當(dāng)水漫以后,就是10毫秒到了,啟動(dòng)中斷。而如果我不想裝10毫秒,我只想要5毫秒呢?方法就是先在桶中裝入5毫秒的水,然后啟動(dòng)定時(shí)器,這時(shí),只需再滴入5毫秒,就可以將水裝滿(mǎn)。這就是為什么要給單片機(jī)定時(shí)器裝初值的原因。
還有一個(gè)就是模式,我看了很多書(shū),也聽(tīng)了視頻,也沒(méi)鬧清講的是什么?但是我知道他們的區(qū)別在時(shí)間上,以12m晶振為例,在方式0下,最大可以定時(shí) 8.192毫秒。而方式1下最大可以定時(shí)65.535毫秒。而方式2和3下最大可以定時(shí)0.256毫秒。用的時(shí)候,要看你的具體需求,如果10毫秒內(nèi)中斷一次,則方式0就可以了,如果1毫秒內(nèi)中斷一次則需要用方式2或3。而方式3則是自動(dòng)重裝八位計(jì)時(shí)器。我的理解,意思是你不需要用程序來(lái)裝初值,裝初值由硬件完成,節(jié)省你裝初值所用的時(shí)間。當(dāng)然,我從來(lái)沒(méi)用過(guò),我用的最多的是方式0和1。
基本上就是這意思,如果理解的有問(wèn)題,歡迎大家批評(píng)指正。
評(píng)論