1、1 1 基于基于 89c5289c52 单片机音乐播放的单片机音乐播放的设计设计 1 1、设计任务和要求、设计任务和要求 1 1 2 2、总体设计、总体设计 1 1 3 3、硬件设计、硬件设计 2 2 3.1 硬件电路 2 3.2 原理说明 2 4 4、软件设计、软件设计 2 2 5 5、仿真、安装和调试、仿真、安装和调试 5 5 6 6、收获与体会、收获与体会 6 6 附件附件 1 1:元件清单元件清单 6 6 附件附件 2:2: 总总仿真仿真电路图电路图 7 7 附件附件 3 3:音乐程序:音乐程序 8 8 单片机课程设计报告 1 音乐盒音乐盒设计设计 1 1、设计任务设计任务和要求和要求
2、 (1)利用 I/O 口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲。 (2 直接当前播放的歌曲。 (3)可通过功能键选择播放上一首、下一首和暂停播放歌曲。 2 2、总体设计、总体设计 (1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以 2,即为半周期的时 间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的 I/O 反相,然后重复计时此半周期 时间再对 I/O 口反相,就可在 I/O 脚上得到此频率的脉冲 (2)利用 8052 的内部定时器使其工作在计数器模式 MODE1 下,改变记数值 TH0 及 TL0 以产生不同 频率的方法。例如频率为 5
3、23HZ,其周期 T=1/523=1912 微秒,因此只要令计数器定时 956/1=956 在每 记数 9 次时将 I/O 口反相,就可得到中音 D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:内部计时一次为 1 微秒故其频率为 1MHZ Fr;要产生的频率 (3):起记数值的求法如下: T65536N65536Fi2Fr 例如:设 K65536,F1000000Fi1MHZ,求低音 D0(523HZ) ,高音的 D0(1046HZ)的记数值。 T65536N65536Fi2Fr6553610000002Fr65536500000Fr 低音 D0
4、的 T6553650000026263627 中音 D0 的 T6553650000052364580 高音 D0 的 T65536500000104765059 单片机课程设计报告 2 3 3、硬件设计、硬件设计 3.13.1 硬件电路硬件电路 本设计中用到 89C52 单片机,扬声器、键盘、连接线。 1最小系统 单片机:本次设计使用单片机芯片 AT89C52 AT89C52 的工作特性: 内含 8KB 的 FLASH 存储器檫写次数 1000 次; 256x8bit 内部 RAM; 具有 32 根可编程 I/O 线; 具有 3 个 16 位编程定时器 AT89C52 共有 6 个中断向量:
5、两个外中断(INT0 和 INT1) ,3 个定时器中断(定时器 0、1、2) 和串行口中断具有 1 个全双工的可编程串行通信接口; 具有可编程 3 级程序锁定位; AT89C52 的工作电源为 5(10.2)V 且典型值为 5V; AT89C52 最高工作频率为 24MHZ; AT89C52 的编程频率为 324MHZ,编程启动电流和启动电压 分别为 1mA、5 或 12V。 3.2 3.2 原理说明原理说明 当键盘有键按下时,判断键值,启动计数器 T1,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。 同时启动定时器 T0,显示歌曲号。 (1) 硬件电路中用0INT、1INT分别接 k1、k2
6、作为上、下一曲的功能键 (2) 用 P0 控制七段码 a,b,c,d,e,f。 (3)用 P1.2 口控制喇叭。 (4) 电路为 12MHZ 晶振频率工作,起振电路中 C1,C2 均为 30pf。 4 4、软件设计、软件设计 本程序可以实现课程设计的基本要求,并可以通过按键播放三首歌曲,程序流程图如下: 单片机课程设计报告 3 总体框图:总体框图: 主程序框图主程序框图: 单片机课程设计报告 4 子程序框图:子程序框图: 单片机课程设计报告 5 5 5、仿真、仿真、安装和调试安装和调试 按照上面设计的电路在proteus软件内画图, 打开单片机软件开发系统Keil,选择89C52单片机, 在其中编写程序,运行生成一个后缀名为hex的文件,然后将该文件下载到proteus中的AT89C52单片 机中进行仿真,观察实验现象。仿真能实现播放音乐,按键选择曲目,暂停,播放