51单片机的应用——正脉冲宽度的的测量
生活随笔
收集整理的這篇文章主要介紹了
51单片机的应用——正脉冲宽度的的测量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用定時器T1測量寬度為200μs左右的正脈沖,說明測量方法,編寫程序并分析測量誤差,晶振為12MHz
分析:令T1受外部信號的控制,在正脈沖期間計數,計數結束后將結果存儲在70H開始的單元中。
TMOD=1001 0000B=90H,GATE = 1,模式1
初值X=0
T1受引腳P3.3(INT1)的輸入控制,INT1=1時計數,INT1=0時停止
程序實現:
MOV TMOD,#90H ;初始化 MOV TH1,#00H MOV TL1,#00H MOV R0,#70H ;存儲在70H開始的單元WAIT: JB P3.3,WAIT ;等待脈沖變低SETB TR1 ;等待計數WAIT1: JNB P3.3,WAIT1 ;等待脈沖變高 WAIT2:JB P3.3,WAIT2 ;P3.3=1,開始計數,等待脈沖變低CLR TR1 ;停止計數,準備存儲結果MOV @R0,TL1 ;低8位INC R0MOV @R0,TH1 ;高8位總結:令GATE = 1,使定時器的計數受外部信號的控制,T0受P3.2控制,T1受P3.3控制
????????計數×機器周期=脈沖寬度
? ? ? ? 誤差分析:由上式,誤差來源于計數和機器周期。①當器件老化或其他問題導致時鐘頻率不等于所給的12MHz時,會影響真實的計數值導致結果錯誤,例如當實際Tm<1μs時,計數值更大,算出脈寬更大。②由于單片機硬件和程序的響應和執行需要時間,定時器的計數可能有延遲,導致結果不精確。
總結
以上是生活随笔為你收集整理的51单片机的应用——正脉冲宽度的的测量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个人账目管理系统(一)数据库连接
- 下一篇: 第三章 同步 Windows程序设计 王