51單片機(jī)學(xué)習(xí) (9)- 單片機(jī)計(jì)數(shù)器使用
之前了解過51單片機(jī)有2個(gè)16位的可編程定時(shí)器/計(jì)數(shù)器,分別是T0和T1,52單片機(jī)多一個(gè)T2;
對(duì)于定時(shí)器的使用,已經(jīng)了解了 ;
步驟為 :

下面就是計(jì)數(shù)器的使用;


這里需要 注意書中說的,不是任意頻率的脈沖都可以直接計(jì)數(shù),單片機(jī)的晶振頻率限制了所 測(cè)量 計(jì)數(shù)脈沖 的最高頻率;
下面是書中說明的理由:


個(gè)人的理解:?jiǎn)纹瑱C(jī) 對(duì)于外部輸出脈沖檢測(cè)需要 兩個(gè)周期,檢測(cè)兩次,對(duì)比兩次檢測(cè)的差異 ,看是否為下降沿;簡(jiǎn)單來說,對(duì)于12MHz的晶振,一個(gè)機(jī)器 周期 為1us;
假設(shè)外部脈沖是 方波,那么前1us為 高電平,后 1us為低電平,下降沿且符合檢測(cè)的時(shí)間要求,對(duì)應(yīng)的方波頻率就是1/2us = 0.5*1000*1000 = 500kHz (1s = 1000ms = 1000 000 us)
如果前1us內(nèi),有一個(gè) 高電平和一個(gè) 低電平,對(duì)于12MHz晶振的單片機(jī) ,是無法檢測(cè)出這個(gè)1us內(nèi) 出現(xiàn)的下降沿;
--------------------------
測(cè)試1:紅外避障傳感模塊,在遇到障礙后 ,其OUT口輸出低電平,無障礙輸出高電平;將OUT口連接到P3.4口作為T0外部脈沖的輸入,用數(shù)碼管 顯示;
存在問題:靠近紅外和離開紅外范圍時(shí)存在抖動(dòng),數(shù)碼管增加不是一個(gè)一個(gè)增加
測(cè)試2 將P3.4口連接到單片機(jī)P1.0口,通過 T2定時(shí)器P1.0口輸出固定頻率的方波,觀察數(shù)碼管數(shù)值變化
在穩(wěn)定的方波下,數(shù)碼管的數(shù)值是逐個(gè)增加;
對(duì)應(yīng)的演示視頻 在后續(xù)會(huì)上傳;如果有錯(cuò)誤,麻煩幫忙指正,謝謝!