Arduino Uno产生方波脉冲的频率的探究

简介

单片机产生方波相对555来说更容易调节频率
但是实际用示波器查看波形的时候发现存在一个周期延拓???盲猜循环指令需要消耗一个时间,这部分时间没有算在循环程序里边

emm

可以通过修改delaytime来达到不同的频率。
但是通过示波器观察得知高频之后会有波形的变形和频率下降

/*
 * 
 *  占空比为50%的方波脉冲
 *  幅值4.7V,可能示波器测量有误差
 *  1k Hz以内用delay,以上用delayMicroseconds
 *  
 *  频率 f = 1/(2*delaytime)
 *  
 *  频率      周期
 *  1k Hz     0.04ms=40us
 */


const unsigned int pin = 7;
int delaytime = 20;  //单位ms
void setup() {

 pinMode(pin,OUTPUT);
 digitalWrite(pin,LOW);
}

void loop() {

  //delay(delaytime);   //单位ms
  delayMicroseconds(delaytime); //单位us
  digitalWrite(pin,LOW);
  //delay(delaytime);
  delayMicroseconds(delaytime);
  digitalWrite(pin,HIGH);
}

1k Hz

周期多了10 us。。。
在这里插入图片描述

10k Hz

在这里插入图片描述

25k Hz – 22.5 k Hz

频率下降了2.5k Hz
在这里插入图片描述

References

  • https://www.arduino.cn/thread-23729-1-1.html
  • http://www.lab-z.com/oscard2/
  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值