文档介绍:MP3 播放器说明文档目录一、实现过程................................................................................................................ 2 二、代码说明................................................................................................................ 4 设计代码........................................................................................................... 4 顶层模块:【 】..................................................................... 4 乐谱发生模块【 】........................................................... 6 乐谱码查表模块【 】...................................................... 7 时钟分频模块【 】.................................................... 8 数控分频模块【 】......................................................... 10 . 测试代码: ..................................................................................................... 11 测试顶层模块【 】...................................................... 11 测试 Speakera 模块【 】.................................................. 12 测试 DCM_12MHZ 模块【 】................................. 12 三、操作过程.............................................................................................................. 14 一、实现过程 1. 制作乐谱查找表:找出不同音符的发音频率,寻找最佳待分频频率,计算分频数和分频预置数, 制作乐谱查找表。如何选择基准频率很关键。若基准频率比较小, 用他除以音符频率得到的分频系数也就比较小, 这样的话进行四舍五入后误差相对而言会比较大。若基准频率偏大, 分频系数也就偏大, 这会增加系统的负担。综合考虑分频系数的准确性和大小, 基准频率为 750 khz 是比较合适的。由于我们从开发板的内部时钟分频得到的 750 khz 的频率信号是脉宽极窄的尖脉冲信号, 为了提高扬声器有足够的功率发音, 我们对尖脉冲信号再进行二分频, 得到对称方波后再输出。因此, 在表 1中, 就是以 375 khz 为基准频率计算了各个音符的分频系数和分频预置数。选择 11 位二进制数表示分频系数和分频预置数(计数初值) ,因此最大值为 2047 。休止符不用进行分频,分频系数为 0 ,频率为 375000hz 。分频系数和分频预置数的计算方法: 分频系数=375000/ 音符频率分频预置数(计数初值) =2047- 分频系数表1 各个音符的频率及其对应的分频系数(基准频率 375KHz ) 音符名频率(Hz) 分频系数计数初值音符名频率(Hz) 分频系数计数初值休止符 375000 0 2047 中音 4 537 1510 低音 1 1435 513 中音 5 478 1569 低音 2 1277 770 中音 6 880 426 1621 低音 3 1138 909 中音 7 380 1