定时/计数器应用3——脉冲宽度的测量
生活随笔
收集整理的這篇文章主要介紹了
定时/计数器应用3——脉冲宽度的测量
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、匯編語言:
ORG 0000H LJMP MAIN ORG 0100H MAIN:MOV TMOD,#09Hmov TH0,#00HMOV TL0,#00HSETB TR0 L1:JNB P3.2,NEXTSJMP L1 NEXT:MOV A,TH0CJNE A,#0,NEXT1MOV A,TL0CJNE A,#0,NEXT1SJMP L1 NEXT1:MOV P1,TH0MOV P2,TL0MOV TH0,#00MOV TL0,#00SJMP L1END2、C51:
#include<reg51.h> sbit P3_2=P3^2; void main(void) {TOMD=0x09;TH0=0x00;TL0=0x00;TR0=1;while(1){if(P3_2==0){if(!(TH0==0&&TL0==0)){P1=TH0;P2=TL0;TH0=0x00;TL0=0x00;}//若TH0與TL0都為0,說明還未進入高電平,只要有一個不為0即進入過高電平又進入到下一個低電平,中間產(chǎn)生的計數(shù)乘以機器周期即為這一段的脈沖寬度。}} }脈沖寬度測量的原理解釋:
1、基礎(chǔ)知識:
TMOD中 D3與D7上的門控位GATE(控制定時/計數(shù)器的啟動是否受外部中斷請求的信號的影響)
GATE=0時并不受影響
GATE=1時:控制定時/計數(shù)器T0的啟動受外部中斷請求信號引腳INT0(P3.2)的控制。
控制定時/計數(shù)器T1的啟動受外部中斷請求信號引腳INT1(P3.3)的控制。
只有當對應(yīng)引腳為高電平時對應(yīng)定時/計數(shù)器才啟動計數(shù)。(以此來測加在INT0(P3.2)和INT1(P3.3)引腳上正脈沖的寬度)
2、原理:
P3.2引腳兩個低電平之間所計的數(shù)則為一個高電平所計的數(shù),乘以機器周期,可得脈沖寬度
總結(jié)
以上是生活随笔為你收集整理的定时/计数器应用3——脉冲宽度的测量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Codeforces Round #73
- 下一篇: 只需三步:在CKEditor4富文本编辑