风萧28

知识可以用来认知世界

放一段最简单的代码

#include "reg51.h"
#include "intrins.h"

sbit sound = P3^6;

void delay(int num){
    while (num--);
}
void main(){

    sound = 1;
    while (1){
        delay(2);
        sound = ~sound;
        
    }
}

功能就是让蜂鸣器发声,延时的时间长短控制音调的高低,当把延时时间设置为2时  也就是让i/o口输出脉冲的周期为几个机器周期时,如果将i/o口接蜂鸣器, 会产生音调

非常高的声音,音调快接近20000Hz  人耳可以听见的音调频率为20-20000Hz

晶振11.0592Hz  时钟周期1/11微秒,机器周期约为1微秒。

 

PS:写这个的原因就是小时候看黑白电视的时候总会停到这个声音  但是当初认知有限  只知道可能是电视机发出的  还怀疑过自己耳朵的问题 但是通过这个小实验可以知道这个声音产生的原因,所以觉得还是在有限的时间内多接触,多学习,不为别的,就为做一个对世界认识更全面的人

 

posted on 2019-07-10 18:12  小流江海  阅读(198)  评论(0)    收藏  举报

导航