51單片機(jī)測(cè)變周期脈沖信號(hào)的簡便方法
脈沖信號(hào)是工程中一類較常見的信號(hào),如光電位移、速度、轉(zhuǎn)速等傳感器輸出的信號(hào),而脈沖寬度和脈沖周期是其基本參數(shù),往往需對(duì)它們進(jìn)行測(cè)量。對(duì)等周期的脈沖信號(hào)的測(cè)量比較容易,只需測(cè)量任一脈沖寬度或周期就可以了,近年來已有許多MCS-51用戶利用測(cè)量脈沖信號(hào)的基本參數(shù)而開發(fā)新產(chǎn)品,如山東大學(xué)的“ZBCY—I型智能標(biāo)槍速度測(cè)試儀”就是利用測(cè)量一個(gè)脈沖寬度來獲得標(biāo)槍在某一飛行距離內(nèi)的平均速度。對(duì)連續(xù)變周期的脈沖信號(hào)周期的測(cè)量則相對(duì)困難些,許多測(cè)量人員都首先對(duì)這類信號(hào)進(jìn)行二分頻后一路反相,然后用兩個(gè)定時(shí)/計(jì)數(shù)器分別測(cè)出兩路脈沖信號(hào)的正脈沖寬度得到周期,這種方法硬件開銷較大,軟件設(shè)計(jì)也較復(fù)雜。本文將介紹了一種用MCS-51單片機(jī)內(nèi)部一個(gè)定時(shí)/計(jì)數(shù)器直接測(cè)量連續(xù)變周期脈沖信號(hào)周期的實(shí)用方法。
用803l內(nèi)部定時(shí)器來測(cè)連續(xù)變周期的脈沖信號(hào)的周期時(shí),關(guān)鍵是如何控制定時(shí)/計(jì)數(shù)器的啟動(dòng)、停止。以定時(shí)器T1為例,當(dāng)其工作于方式1時(shí),則按16位計(jì)數(shù)器工作,由兩個(gè)特殊功能寄存器THl作為高8位和TLl作為低8位構(gòu)成,其控制邏輯如圖1。
圖1定時(shí),計(jì)數(shù)器方式1的控制邏輯
當(dāng)定時(shí)/計(jì)數(shù)器方式控制寄存器TMOD門控位GATE=0時(shí),計(jì)數(shù)器的啟動(dòng)、停止只受TR1控制,只要TR1置位。計(jì)數(shù)器就被選通,而不管INT1電平高低。因此,在主程序中先置位IE中位EA,將信號(hào)引入INT1,在INT1中斷服務(wù)程序中使TCON中位TR1復(fù)位和置位來實(shí)現(xiàn)計(jì)數(shù)器的停止、數(shù)據(jù)讀
取、計(jì)數(shù)器賦初值和啟動(dòng)。其工作過程如圖2。
圖2 定時(shí),計(jì)數(shù)器測(cè)脈沖周期簡圖
其中:t1-中斷服務(wù)程序執(zhí)行時(shí)間
t2-計(jì)數(shù)器計(jì)數(shù)時(shí)間
則:第i個(gè)脈沖周期ti=t1+t2(i=1,2,3,…)。
可以看出,僅用8031內(nèi)部的一個(gè)定時(shí)/計(jì)數(shù)器,就可測(cè)出一路變周期脈沖信號(hào)的每個(gè)周期。
定時(shí)器T1中斷服務(wù)程序流程框圖如圖3所示。
51單片機(jī)相關(guān)文章:51單片機(jī)教程
塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理 晶振相關(guān)文章:晶振原理 脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理
評(píng)論