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