频谱显示音乐播放器报告
硬件实现:QC12864B、STC12C5A60S2、蜂鸣器电路、独立按键
实现思路:1.控制蜂鸣器演奏;
2.学习 12864;(显示字符,汉字,图像)
3.控制 12864 显示柱体;
4.把柱体的跳动和蜂鸣器播放的频率建立连接;
5.添加按键控制播放曲目,并在液晶屏上显示;
6.显示当前曲目播放时间。
一、对蜂鸣器播放的控制
运用定时器 T0,通过对高八位和低八位赋予不同的值,改变高低电平的输出时间,从而
产生不同的频率,将蜂鸣器发出的声音分为四八度(低频、中频、高频、超高频),并可
以对播放时间进行选择(半拍、一拍、一个半拍、两拍),对于一个对音乐有一定了解的
人,可以方便地根据音乐简谱写出自己需要的音乐代码,非常具有实用价值。
至于音量的控制以及显示,可以再对硬件进行改良,可以再蜂鸣器电路上加一个电位
器,可以通过 ET2046 采集模拟信号并转化为数字信号在液晶屏上显示。
二、12864 的柱体跳动
频谱的跳动本来应该通过 FFT 算法(离散傅氏变换的快速算法)与蜂鸣器建立联系,但
是由于 FFT 采集的是模拟信号,而用单片机控制蜂鸣器本身是用数字信号(高低电平)去
模拟,信号无法采集,所以这里根据经验(低频部分音乐偏左、高频部分音乐偏右)写出
了三十二种不同频率对应的频谱。
三、按键操作、界面显示
按键分为 4 个:第一个按键功能是播放上一首曲目;
第二个按键功能是播放下一首曲目;
第三个按键功能是播放与暂停的切换;(暂停后播放仍从暂停位置继