发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名
如何用光敏二极管测试LED灯的闪烁频率?
271 LCD 中断 频率
分享
这是我写的频率计代码,我用LCD屏幕显示就只显示了一个1就没有了,下图是我的光敏二极管模块
#include "speed.h"
uint dat=0,r=0,time,pulse;
bit flag=0;
void INT0_ISR() interrupt 2 //检测到一个低电平,一个低电平代表闪烁一次
{
        
  dat++;//测得的脉冲数
        IF(flag)//定时到了一秒
        {
        pulse=dat;
        dat=0;
        }
        EX1=1;          //允许外部中断1
}
void timer1_ISR() interrupt 3
{
        TR1=0;
        TH1=0x3C;
  TL1=0xAF;
  time++;
  if(time>=19)//定时到了1秒
  {
                flag=1;
                time=0;
        }
        TR1=1;
}
int countspeed()
{
                r=pulse;
                return pulse;
}
void speedinit()
{
        EA=0;
  TMOD=0x10;//T1做定时器 16位
  TH1=0X3C;
  TL1=0XAF; //初值15535 定时50 000us
        TR1=1;//启动T1计数
        IT1=0;//外部中断电平触发
        EX1=1;//允许外部中断
        ET1=1;//开放T1中断请求
        EA=1;//开总中断
}
0
2019-11-1 03:45:23   评论 分享淘帖 邀请回答
5个回答
你记的是脉冲,干嘛用电平触发?
2019-11-1 08:47:34 评论

举报

测试闪烁频率不是计电平吗,计脉冲的那个注释是我没有改过来的
2019-11-1 08:54:44 评论

举报

测频率是计二个下降沿之间的时间,这个倒数就是频率。
2019-11-1 09:14:10 评论

举报

但是我测的是LED闪烁的频率,这个不是脉冲信号吧
2019-11-1 09:20:38 评论

举报

闪烁怎么不是脉冲信号,正是脉冲信号。

只有小组成员才能发言,加入小组>>

922个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /5 下一条

快速回复 返回顶部 返回列表