????ɼ???·

核心提示用51单片机控制的话,我建议如下1.T1、T0设置工作方式为TMOD=0x52;这意思是,T1工作在16位计数状态,T0工作在8位计时状态2.T1引线(P3.5)就可以直接接脉冲信号3.利用定时T0中断,执行中断读取T1计数的程序。这里要注

用51单片机控制的话,我建议如下

1.T1、T0设置工作方式为TMOD=0x52;这意思是,T1工作在16位计数状态,T0工作在8位计时状态

2.T1引线(P3.5)就可以直接接脉冲信号

3.利用定时T0中断,执行中断读取T1计数的程序。这里要注意设置T0中断的时间,该时间为脉冲最大频率小于65355的时间最好,但你也可以多次采样,求平均值的方法来获得频率F,再把这F存到全局变量K中,就可以了,这里要注意,存的位置是全局变量!!

4.采样来的频率F经过转换如下公式转化为数字量D,我举例采用的是8位的D/A,DAC0832是个输出电流型D/A,你也可以选用16位的,可分点就更多了,如果要很精确的话,记得数据类型要用FLOAT来计算结果转为INT,最后赋给D

D=((F+最大频率/5)/最大频率)*256

这里说明下,你要输出的是4~20,F=0时,D要等于4mA

 
友情链接
鄂ICP备19019357号-22