本帖最后由 liupk 于 2017-12-7 11:32 编辑
我在网上下载了这个文档根据这个文档写了music.c 和music.h这两个文件实现蜂鸣器播放音乐。编写程序之前,我们需要知道,音乐的组成,“音调”,“节拍”。比如“两只老虎,两只老虎,跑滴快。。。” 其中的“两”和“快”这两个字,是音调的不同(声音频率的高低叫做音调(Pitch)也就是“:哆,瑞,咪,发,索,拉,西,多”这个东西的不同),当然仅仅只有音调的不同也是不能构成音乐的,因为还需要另外一个因素,那就是 节拍(节拍[Meter] 是衡量节奏的单位,在音乐中,有一定强弱分别的一系列拍子在每隔一定时间重复出现。(也就是你这一句“两。。。。”“两这个字发音时间的长短来控制”))。最后音调(频率)加上节拍(时间长短)共同组成一个曲子。我在程序中采用了定时器的pwm输出不同的频率(音调),使用延时函数来决定蜂鸣器的响的时间的长短,另外需要注意的是:有源蜂鸣器和无源蜂鸣器的差别主要差别 有源蜂鸣器和无源蜂鸣器的根本区别是产品对输入信号的要求不一样;有源蜂鸣器工作的理想信号是直流电,通常标示为VDC、VDD等。因为蜂鸣器内部有一简单的振荡电路,能将恒定的直流电转化成一定频率的脉冲信号,从面实出磁场交变,带动钼片振动发音。但是在某些有源蜂鸣器在特定的交流信号下也可以工作,只是对交流信号的电压和频率要求很高,此种工作方式一般不采用。而无源蜂鸣器没有内部驱动电路,有些公司和工厂称为讯响器,国标中称为声响器。无源蜂鸣器工作的理想信号方波。如果给预直流信号蜂鸣器是不响应的,因为磁路恒定,钼片不能振动发音。 我们本次设计需要的是无源蜂鸣器 晚上上传相应的文档
https://jingyan.baidu.com/article/f7ff0bfc1dbd2d2e27bb1344.html
|