你会不会将单片机输入方波的频率与一个设定的频率进行比较
答案:2 悬赏:0
解决时间 2021-02-03 15:34
- 提问者网友:但未伤到心
- 2021-02-03 03:55
你会不会将单片机输入方波的频率与一个设定的频率进行比较
最佳答案
- 二级知识专家网友:努力只為明天
- 2021-02-03 04:37
?
这个吗!理论上是可以的,只是没有做过!
首先,你需要通过一定的算法计算出输入的方波的频率,
其次,您需要拿这个算出的频率和设定的频率比较!
第二步比较简单,重点在第一步:
就51单片机而言:
你可以:
1、使用 T0 做定时器,使用 INT0 引脚 做 接收频率信号 输入的采集,
当INT0 接收到 由低向高 时(方波的低——高阶段)时,产生中断,则立刻启动 T0,当第二次 INT0 引脚 接收到 由低向高 时(方波的低——高阶段)时,立刻 停止 T0,计算 T0 从启动到停止之间的 时间 T,,,从而(1/T),就是 外部 频率
2、可以多次测试,,,外部中断是 间断的 开始和停止 T0(就是:一下子 停止,一下子开始),计时!
当开始T0时:先T0 清空,启动T0计时;
当结束T0时:保存T0的计数值,算出时间差,并比较(最好在中断外部进行),输出结果
你看这样行吗,,理论上很简单,,但是调试起来还是比较困难的!
祝你早点解决问题!
有问题就留言!乐意解答!
这个吗!理论上是可以的,只是没有做过!
首先,你需要通过一定的算法计算出输入的方波的频率,
其次,您需要拿这个算出的频率和设定的频率比较!
第二步比较简单,重点在第一步:
就51单片机而言:
你可以:
1、使用 T0 做定时器,使用 INT0 引脚 做 接收频率信号 输入的采集,
当INT0 接收到 由低向高 时(方波的低——高阶段)时,产生中断,则立刻启动 T0,当第二次 INT0 引脚 接收到 由低向高 时(方波的低——高阶段)时,立刻 停止 T0,计算 T0 从启动到停止之间的 时间 T,,,从而(1/T),就是 外部 频率
2、可以多次测试,,,外部中断是 间断的 开始和停止 T0(就是:一下子 停止,一下子开始),计时!
当开始T0时:先T0 清空,启动T0计时;
当结束T0时:保存T0的计数值,算出时间差,并比较(最好在中断外部进行),输出结果
你看这样行吗,,理论上很简单,,但是调试起来还是比较困难的!
祝你早点解决问题!
有问题就留言!乐意解答!
全部回答
- 1楼网友:一池湖水
- 2021-02-03 06:00
12mhz,机器周期为1微秒。计数方式为2,也就是8位,计数初始值为55。计数周期数为65535-55=65480微秒。延时程序的时间为:mov两个机器周期2微秒,acall两个机器周期2微秒,clr 两个机器周期2微秒,djnz循环时间:250*65480=16370000微秒=16秒,方波周期为16*2=32秒,频率为1/32=0.03125
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯