如何衡量频率89C51的?

E

ehsanelahimirza

Guest


我想知道如何测量频率使用89C51的。
我的频率范围为近6 kHz至7khz 。
我需要一些帮助的代码。

非常感谢

 
能否请您解释是什么要求。这是频率产生的来源。你是通过软件生成或分机来源。

 
我产生frequecny通过湿度传感器。这是acatually脉冲产生平方米使用钢筋混凝土。湿度传感器是一个变数ç ,因此有任何改变湿度将导致改变其电容。现在该做什么?

 
嗨,
衡量频率使用89C51的您可以使用计数器0或计数器1计数nember豆类在miliseconds 。您应该使用晶体在24兆赫。

 
tvthang写道:

嗨,

衡量频率使用89C51的您可以使用计数器0或计数器1计数nember豆类在miliseconds 。
您应该使用晶体在24兆赫。
 
为了mearsure您应该连接信号INT0 (例如) ,使用定时器0在89C51的计数脉冲宽度的责任:
- TMOD = 00001001b = 09h (门位= 1 ,定时器控制的INT0和TR )
- TR0 = 1
-信号( = INT0 ) = 0 :无时钟由内部振荡器
-信号= 1 :内部开关关闭,时钟进入timer0 ( XTAL = 24Mhz ,所以Tclock = 0.5uS ,较小的Ť不太错误)
-使用中断的下降沿读取time0 ( TH0 , TL0 )查看您的频率信号(
女 = 1000000 / ( TH0 * 256 TL0 )赫兹)
LJMP主
ORG的0003H
LJMP READ_TIMER0
主:
传送TMOD , # 09H
SETB TR0
开始:
;主程序
;显示改变TH0和TL0对发光二极管7 SEGS 。
LJMP动工
;------------------------------
READ_TIMER0 :
;阅读TH0和TL0
视网膜
;--------------------------------

 
我无法理解的代码。正如我havent此之前所做中断。

我怎么可以一些数值的频率了它,
我 想将它传送给串行或储存在『
A 』 。

03帮助我在这种情况下
, 因为我真的havent使用前中断和定时器。

谢谢

 
什么是频率?这是总数的百分之second.Set脉冲定时器一秒的数量和豆类其他pin.Numerical价值是必要的脉冲频率。

 
频率6khz至范围为8kHz 。我如何才能使这一neumeric价值在登记册或一个端口

 
您可以使用司逻辑。
增量您的柜台登记时
, 有200 pulses.So为8位寄存器你可以指望50k的脉冲。

 
Nimish写道:

您可以使用司逻辑。

增量您的柜台登记时,有200 pulses.So为8位寄存器你可以指望50k的脉冲。
 
试着更多地了解中断和定时器,
你将有范围广泛的思想如果您使用的中断。

如果我们认为你需要共同的数量较高水平(国家)在特定时期内( 1秒或相应的虱子您的系统) “取决于您的水晶”

但是
, 硬件的限制
, 如有任何故障在您的输入信号可以指望你的错误号码。

你可以定义中断引脚
, 例如
, 当输入高它反过来增加柜台(你可以使用的调查显示
, 而不是某些引脚中断
, 但您需要赶上第一高的每个周期不指望所有的信号时
, 高)

计时器将帮助您使中断当您达到一定数目的虱子( = 1秒)
, 使一些在反将成为您的频率。你可以使这个数目平均与前一个平滑你的结果。

 
ehsanelahimirza写道:in assembly.
我需要一些代码
大会。

谢谢
 

Welcome to EDABoard.com

Sponsor

Back
Top