蜂鸣器定义音高的问题?
用单片机模拟演奏音乐,从音乐上说每一个音调对应一个频率,而用单片机输出某一频率的信号,是用定时器产生的,所以,那些数据其实是定时器的初值,是根据信号频率计算出来的,并不是推导的,更没有像物理公式那样的什么系数。你把用定时器产生某一频率的方波的原理掌握了,这个问题就明白了。
驱动蜂鸣器的高低电平电流的频率决定它的音高。电流高低电平的占空比决定音量,好像。
蜂鸣器一般用于简单的报警,只能发出简单的滴滴声音。比较常用的电路是用功放LM386和扬声器,通过可调电位器调节功放输入信号幅度来实现音量调节。
音乐的音高与频率是对应的,如频率为256赫兹的音就是c调的“1”,频率为288赫兹的音为“2”,频率为320赫兹的音为“3”……,用单片机接口不同频率驱动蜂鸣器,就会产生不同音高,控制接口持续不断输出不同音高,时间长短即为拍子的长短,这样即可演奏音乐。这个方法的一个缺点是无法控制声音的强弱。
曲谱存贮格式 unsigned char code MusicName{音高,音长,音高,音长..., 0,0}; 末尾:0,0 表示结束(Important)音高由三位数字组成:个位是表示 1~7 这七个音符 十位是表示音符所在的音区:1-低音,2-中音,3-高音;百位表示这个音符是否要升半音: 0-不升,1-升半音。
音高由三位数字组成: 个位是表示 1~7 这七个音符 十位是表示音符所在的音区:1-低音,2-中音,3-高音; 百位表示这个音符是否要升半音: 0-不升,1-升半音。
标签: 3034蜂鸣器
还木有评论哦,快来抢沙发吧~