简介
单片机产生方波相对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/