900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 51单片机的应用——正脉冲宽度的的测量

51单片机的应用——正脉冲宽度的的测量

时间:2024-06-25 19:04:04

相关推荐

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,#00HMOV TL1,#00HMOV 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时,计数值更大,算出脉宽更大。②由于单片机硬件和程序的响应和执行需要时间,定时器的计数可能有延迟,导致结果不精确。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。