简易音乐演奏系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计说明书
设计题目:简易音乐演奏系统设计
专业:电子信息工程班级:11级1班设计人:蔡
山东科技大学2014年1月10日
课程设计任务书
学院电气与信息工程学院专业电子信息工程班级11级1班蔡士智
一、课程设计题目:简易音乐演奏系统设计
二、课程设计主要参考资料:
(1)公茂法,黄鹤松,杨学蔚《MCS—51/52单片机原理与实践》北京航空航天大学出版社。
(2)
(3)
三、课程设计应主要解决的问题:
(1)数码管循环提示乐曲信息。按键选择乐曲并演奏,如:按1号键,演奏乐曲1;按2号键,唱乐曲2……
(2)按下预先定义按键,蜂鸣器发出指定音调的声音,同时数码管和LED 灯反馈音调的信息。
四、课程设计相关附件(如:图纸、软件等):
(1)Protues7.8 Keil4
(2)单片机开发仪
五、任务出发日期:2013年12月30号课程设计完成日期:2014年1月10号指导教师签字:系主任签字:
指导教师对课程设计的评语
指导教师签字:
年月日
摘要
本文介绍了利用AT89C52单片机驱动单片仪上的蜂鸣器设计音乐演奏系统。实现两个功能:一是按下预先定义按键,蜂鸣器发出指定的音调的声音,同时数码管和LED灯反馈音调的信息;二是数码管循环提示乐曲信息,按键选择乐曲并演奏,如:按1号键,演奏乐曲1;按2号键,唱乐曲2……。
关键词:音乐键盘,keil,protues
目录
1 绪论
2 系统整体介绍
3系统硬件设计
3.1 AT89C52模块
3.2 键盘扫描模块
3.3 LED灯显示模块
3.4 数码管显示模块
3.5 蜂鸣器模块
4系统软件设计
4.1 主程序
4.2 键盘扫描子程序
4.3 LED灯数码管显示子程序
4.4 音乐定时器初值
4.5 延时子程序
4.6 程序框图
5 调试与结果
6 设计总结
7 参考文献
8 附件
8.1系统原理图
8.2程序清单
1 绪论
利用AT89C52单片机和相应的单片机知识,通过简单的设计模拟钢琴键盘的发声,矩阵键盘驱动蜂鸣器发出相应频率的音调和歌曲,LED灯和数码管显示相应的音调和歌曲编号。
本设计节约了为买大型钢琴所花费的大量钱财,为喜爱音乐创作的人员提供了一个追求梦想的平台。还可以满足小朋友玩耍的需要。
2系统整体介绍
本系统可分为:AT89C52模块,键盘输入模块,LED灯显示模块,数码管显示模块,蜂鸣器模块。
AT89C52模块:系统的核心部分,负责处理来自键盘输入模块的键值,然后AT89C52根据键值做出相应的判断,驱动LED灯显示模块、数码管显示模块和蜂鸣器模块做出相应的响应。
键盘输入模块:读取那个键按下,将键值送到AT89C52。
LED灯显示模块:将AT89C52送来的音调或歌曲编号通过8个LED灯显示出来。
数码管显示模块:将AT89C52送来的音调或歌曲编号通过8位静态数码管显示出来。
蜂鸣器模块:AT89C52 I/O口送来的高低电平驱动蜂鸣器发出对应频率的声音。
3 系统硬件设计
3.1 AT89C52模块
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。如图3.1所示:
图3.1 AT89C52
P0:需外接上拉电阻(10K)。
P1、P2、P3:不需要外接上拉电阻
RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
XTAL1、XTAL2:振荡器反相放大器及内部时钟发生器的输入端、输出端。
3.2 键盘输入模块
方法一:独立键盘
有键按下,返回键值;否则,返回0FFH。如图3.2.1
图3.2.1
方法二:矩阵键盘
线反转法:首先,将行线编程为输入线,列线编程为输出线,然后使列线全输出低电平,读取行线电平,行线从高电平转为低电平的行线为按下按键所在行;然后,将列线编程为输入线,行线编程为输出线,然后使行线全输出低电平,读取列线电平,列线从高电平转为低电平的列线为按下按键所在列。如图3.2.2所示:
图3.2.2
本系统采用方法二,因为矩阵键盘节约I/O口,节约资源,而且按键多。如图3.2.3所示:
图3.2.3
3.3 LED灯显示模块
本系统采用LED灯静态显示的方法,共阴高电平点亮。如图3.3.1所示:
图3.3.1 图3.3.2
图3.3.2为本系统实际的LED灯和芯片的连接电路。
LED灯第几个亮:1,2,3,4,5,6,7,8;
对应代码为:01h,02h,04h,08h,10h,20h,40h,80h;
3.4 数码管显示模块
本系统采用8位段码静态显示的方法,共阳低电平点亮。如图3.4.1所示:
图3.4.1 图3.4.2
图3.4.2为本系统实际的数码管和芯片的连接电路。
数码管显示:1,2,3,4,5,6,7;
对应段码为:0f9h,0a4h,0b0h,99h,92h,82h,0f8h;
3.5 蜂鸣器模块
输入高电平,蜂鸣器发出响声;输入低电平,蜂鸣器不响。通过控制输入信号的频率来发出不同的音调;通过控制信号持续时间来控制声音的长短。蜂鸣器如图3.5所示: