毕业论文-基于at89c51单片机的音乐流水灯设计内容摘要:

,即现场可编程门阵列。 其将所有器件集成在一块芯片上,不仅缩小了体积,提高了稳定性,而且还可用 EDA 软件进行仿真和调试。 FPGA 采用了并行的输入输出方式,具有很高的处理速度。 可用来实现各种规模大,密度高,逻辑功能复杂的程序。 由于本设计中对数据处理的速度要求不高,而FPGA 集成度高,成本高,芯片的引脚数较多,为电路的设计和焊接增加了复杂程度。 所以不采用 FPGA。 ( 2) 采用可编程控制器,即 PLC,是一种数字运算操作的系统。 由于具有可编程的存储器,可存储执行各种逻辑运算、计数、定时、顺序控制等操作,通过模拟或数字输入输出模块,控制各种机械或生产过程。 PLC 具有可靠性高、操作简单、编程方便和灵活性强等特点。 虽然 PLC 可以使用多种程序语言,而且采用非的编程语言包括功能模块、梯形图、功能表图等,但是昂贵的价格,使得设计成本较高,故不采用。 ( 3)采用单片机编程控制。 单片机不仅可以将软件部分和硬件部分结合起来,还可以再恶劣的环境下应用。 单片机在稳定性和可靠性方面都有很好的保证,而且 低电压和低功耗,精度较高,成本低等众多的优点,使得本设计采用单片机最为合适。 整体设计思路 通过利用单片机内部的定时器来定时时间,以产生不同频率的脉冲信号,用来驱蜂鸣器发出不同的音节的声音,同时可利用延时子程序来控制音调的节拍。 不同的频率可产生不同的音调,而每个音调都是由一个节拍和一个音符构成。 音调的高低由音符决定,而节拍则是决定是该音调是多少节拍。 由此可见,一个音调占东华理工大学长江学院毕业设计 总体设计 7 用的是两个字节。 单片机可根据音符字节产生相应的大小次数的延时,同时声音输出口取相反,就可得到该音调的高低音;同时根据设置单元的延时 多少,可控制音乐播放速度。 为了编程的简单和方便,一般可将简单的音符和对应的节拍转换成定时和延时常数,分别控制单片机内部定时器产生的相应的脉冲频率和该频率持续的时间,当持续时间到时,程序则会自动查找下一个音符的定时常数和延时常数。 时间常数可通过查表法获得。 以此类推,并循环,就可听到美妙动听的音乐。 将单片机的一个 I/O 端口定义为声音输出端,在一定的节拍中,根据音符字节的大小来产生延时,同时可将声音输出口不断的置高或置低 (即取反 ),由此便可获得相应的音调。 简谱中每个音符和对应的脉冲频率可用内部定时器的 T0 方式 产生,同时利用延时常数控制脉冲频率持续的时间。 另外可在单片机上的 P0~ P8 脚接 LED 灯,用来加强观赏性和实用性。 东华理工大学长江学院毕业设计 系统硬件设计与部分电路说明 8 3. 系统硬件设计与部分电路说明 硬件设计框图 本设计中的硬件电路是由七个电路模块和单片机构成,通过将电路模块与单片机连接起来,扩展和加强其功能,使各电路共同工作,用来实现音乐流水灯效果。 其中流水灯在本设计中用 8 个 LED 灯来实现。 通过控制每个 LED 灯对应的单片机接口的电平状态来控制 LED 灯的亮灭,当 P0 口的电平为高电平时,对应的 LED 灯发光,若要使 LED 灯熄灭,则只需要将对应的 P0 口的电平变为低电平即可。 完整的硬件系统框架图如图 31: 复 位 电 路音 频 电 路按 键 电 路通 信 电 路电 源 电 路流 水 灯 电 路时 钟 电 路A T 8 9 C 5 1 单 片 机 图 31 硬件系统框架图 本设计的目的是要实现根据音乐声音的大小和节奏来调节流水灯的流水速度和节奏。 将各电路之间的接线连接正确后,对系统进行通电。 单片机刚通电时,对系统进行初始化,扫描 口,判断按键是否按下,同时扫描出并确定的即将执行的功能。 流水灯的流水效果是通过每个灯的亮灭而实现的。 部分电路说明 电源及启动电路 本设计若用普 通电池供电,需要串联许多电池,驱动 LED 灯和蜂鸣器,单片机工作时间会很短,而且电池工作时间久了电压不稳定,甚至达不到工作电压。 故本设计拟采用一个电压转换电路获得稳定的 5V 电压提供给单片机,从而简单的解决了单片机的工作时间,且降低了设计成本。 电路原理图如图 32 所示: 东华理工大学长江学院毕业设计 系统硬件设计与部分电路说明 9 图 32 供电电路 将 220V 交流电通过变压器转换成低压交流电,再经过桥式整流电路和滤波电容的整流和滤波,在 LM7805的 GND端和 Vin端形成不稳定的直流电压,再经过 LM7805的稳压和滤波电路即可产生稳定度好的直流输出电压。 复位电路 单片机启动时需要复位,确保 CPU 和系统各单元都处于确定的初始状态,并且从初始状态开始工作。 图 33 所示即为单片机的手动按键复位电路原理图 . 首先经过上电复位,在按下按键时,复位端口 RST 通过电阻与 VCC 连接,为复位提供高电平,同时电容经过电阻放电:放开按键时,电源对电容进行充电,此时RST 依旧为高电平,依然是处于复位状态,当充电结束后,电容相当于断路,若 RST处于低电平,系统开始正常工作。 图 33 复位电路 东华理工大学长江学院毕业设计 系统硬件设计与部分电路说明 10 时钟电路 本电路利用到单片机内的振荡器的反向放大器, XTAL1 为输入端, XTAL2 为输出端,这两个引脚之间跨接晶体振荡器和可微调电容,便形成了一个稳定的自激振荡器。 该电路原理如图 34: 图 34 时钟电路 通信电路 本电路用来实现系统和 PC 机的通信。 由于系统和 PC 机连接进行通信时,通过MAX232 电路将 PC 机串口电平进行转换变成 TTL 电平。 其电路原理图为: 图 35 通信电路 MAX232 具有电平转换功能,内部结构可分为:电荷泵电路,包括 6 引脚和 4 个电容,提供给 RS232 串口 177。 12V 两个电源。 数据转换通道, 包括 1 1 1 14 引脚,而 7 脚( T2OUT)、 8 脚( R2IN)、 9 脚( R2OUT)、东华理工大学长江学院毕业设计 系统硬件设计与部分电路说明 11 10 脚( T2IN)为第一数据通道, 11 脚( T1IN)、 12 脚( R1OUT)、 13 脚( R1IN)、14 脚( T1OUT)为第二数据通道; T1IN、 T2IN 将 TTL/CMOS 数据转换为 RS232数据,通过 T1OUT 和 T2OUT 传送到电脑 DP9 端口,反之 ,RS232 数据通过 R1IN 和R2IN 输入转换为 TTL/CMOS 数据,再从 R1OUT、 R2OUT 输出。 最后一部分则是供电部分,即 15 脚 GND 和 16 脚 VCC。 键盘电路 本设计采用独立键盘,负责实现任务过程中的任务切换和选择,分别控制单片机的 ~ 端口,其电路原理图如下: 图 36 键盘电路 按下按键,将低电平连接到 I/O 口上,通过软件程序对数据进行采集处理分析,便可得到单片机下一步将要执行的操作。 部分代码如: JNB ,YY1。 由按键控制直接跳转到音乐 1 JNB ,YY2。 由按键控制直接跳转到音乐 2 JNB ,YY3。 由按键控制直接跳转到音乐 3 JNB ,YY4。 由按键控制直接跳转到 音乐 4 JNB ,YY5。 由按键控制直接跳转到音乐 5 流水灯电路 本电路采用 8 个 LED 灯,依次接在 ~ 端口,公共端接地。 若 P1 口输出高电平,则 LED 灯亮,若输出的是低电平,则 LED 灯灭。 其电路原理图如: 东华理工大学长江学院毕业设计 系统硬件设计与部分电路说明 12 图 37 流水灯电路 音频电路 本电路负责音乐的播放和停止,如果直接用单片机的输出电压和信号驱动蜂鸣器,发出的声音不仅微弱,而且不清晰。 因此,必须给蜂鸣器附加一个 PNP 晶体管来作为驱动,其电路原理图为: 图 38 音频电路 当 端口的电平 为高电平时,蜂鸣器不发出声音,当 端口的电平为低电平时,才会发出声音。 而本设计中利用单片机处理不同频率的音调后在 P2 口产生不同频率的信号,从而使蜂鸣器播放出一首完整连续的音乐。 电路原理图及说明 本设计的完整电路原理图如附录一,将电路及启动电路、复位电路、时钟电路、通信电路、键盘电路、流水灯电路和音频电路完整的连接在一起,灵活的工作,同时将整个电路的功能进行扩展,从而完成本设计的任务和要求。 东华理工大学长江学院毕业设计 系统软件电路设计与分析 13 4. 系统软件电路设计与分析 音乐程序设计 用程序控制单片机输出端口的电平状态,则在该端口上 可产生一定频率的矩形波,接上蜂鸣器就可发出相应的声音;再用延时程序控制电平的持续时间,就可改变输出的频率,从而可改变音调。 同样,音乐音符的节拍用定时器控制,不同的初值会产生不同的定时时间。 将定时器定义为以 10ms 为时间基准,设置一个中断计数器,单片机可通过判断终端计时器的值控制节拍的时间。 音乐的效果是由每一个音符的时间常数和对应的节拍作为一组,按照一定的顺序将一首音乐里的常数排列而产生。 每个音符用 1 个字节表示,字节的高 4 位表示音符的高低,音符的节拍则用低 4 位表示。 表 41 音符频率对应表 音符 频率 /Hz 半周期 /us 频率 /Hz 半周期 /us 频率 /Hz 半周期 /us 低音区 中音区 高音区 1 262 1908 523 0956 1046 0478 1 277 1805 554 0903 1109 0451 2 294 1700 578 0842 1175 0426 2 311 1608 622 0804 1245 0402 3 330 1516 659 0759 1318 0372 4 349 1433 698 0716 1397 0358 4 370 1350 740 0676 1480 0338 5 392 1276 784 0638 1568 0319 5 415 1205 831 0602 1661 0292 6 440 1136 880 0568 1760 0284 6 466 1072 932 0536 1865 0268 7 494 1012 988 0506 1976 0253 注: “”表示半音,及上升或下降时的半音,乘以 2 就提升该声音一个八度音阶,减半就降一个八度音阶。 表 42 节拍码对照表 1/4 节拍 1/8 节拍 节拍码 节拍数 节拍码 节拍数 1 1/4 拍 1 1/8 拍 2 2/4 拍 2 1/4 拍 3 3/4 拍 3 3/8 拍 4 1 拍 4 1/2 拍 5 1 又 1/4 拍 5 5/8 拍 6 1 又 1/2 拍 6 3/4 拍 7 1 又 3/4 拍 7 7/8 拍 8 2 拍 8 1 拍 东华理工大学长江学院毕业设计 系统软件电路设计与分析 14 9 2 又 1/4 拍 9 1 又 1/8 拍 A 2 又 1/2 拍 A 1 又 1/4 拍 B 2 又 3/4 拍 B 1 又 3/8 拍 C 3 拍 C 1 又 1/2 拍 D 3 又 1/4 拍 D 1 又 5/8 拍 E 3 又 1/2 拍 E 1 又 3/4 拍 F 2 又 3/4 拍 F 1 又 7/8 拍 表 43 各调节拍的时间表设定 1/4 节拍 1/8 节拍 曲调值 DELAY 曲调值 DELAY 调 4/4 125 毫秒 调 4/4 62 毫秒 调 3/4 187 毫秒 调 3/4 94 毫秒 调 2/4 250 毫秒 调 2/4 125 毫秒 音乐程序流程图 开 始初 始 化开 中 断读 取 音 乐 序号判 断 P 3 . 0判 断 按 键播 放 相 应 的歌 曲顺 序 播 放P 3 . 0 = 0有无返回P 3 . 0 = 1 图 41 音乐程序流程图 音乐程序 东华理工大学长江学院毕业设计 系统软件电路设计与分析 15 本设计的主要目的是将 5 首音乐进行顺序播放,并且可以相互切换,每首歌曲播放结束后有一定的间隔时间,详细程序见 附录二 . 部分程序如下: ORG 00H JMP。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。