基于AT89C51音乐播放器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理及系统课程设计
专业:自动控制
班级:1103班
*名:**
学号:*********
指导教师:***
兰州交通大学自动化与电气工程学院
2013 年 9月 1 日
单片机原理及课程设计报告
基于单片机的音乐播放器设计
摘要
随着我国现代化技术建设的发展,电子产品多种多样,但同类电子产品工作原理基本相同,只不过在硬件电路的是实现上有所不同。例如我们我们平时所用的MP3音乐播放器,就可以用单片机和一些电子元件来实现它的基本功能。我的设计是以89C51单片机作为核心工作元件的音乐播放器,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。它在实现音乐播放功能上简单易行,在制作硬件电路上也不困难。因此,此次课程设计,我除了完成了系统的软件设计和实物电路仿真外,利用空余时间制作出了实物。
关键字音乐播放器,AT89C51单片机,KEIL,PROTEUS。
1 引言
1.1 设计目的
此次制作的音乐播放器,只需将音乐编码导入C语言程序,经过KEIL软件运行生成HEX文件,经BDM下载器导入单片机中即可。可以同时生成多首歌曲的音乐编码,再次我选择了两首歌的音乐编码。学生自己动手就可以制作属于自己的个性化的音乐播放器,通过自己动手将所学的单片机知识应用到实践中。1.2 设计要求
设计一个基于AT89C51的音乐播放器,利用软件编程和相应的硬件电路实现不同歌曲的播放,先利用KEIL软件编程,再用PROTEUS仿真实现,生成可执行的HEX文件,最后焊接实物电路。
1.3 设计方法
采用AT89C51单片机、蜂鸣器,晶体振荡器,晶体管2N2905,复位开关为主要硬件。PROTEUS仿真软件设计和C语言编程方法实现播放器的模拟,用AT89C51实现音乐编码的处理,用晶体管2N2905对电路中电流放大,进而驱动蜂鸣器播放音乐。
2 设计方案及原理
按照系统设计要求,将系统分为主控模块,电源电路复位电路、晶振电路、功率放大电路,蜂鸣器发声电路等模块。系统框图如图1所示。
图1 系统组成框图
AT89C51简介
AT89C51是一种带4K 字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机外形及引脚排列如图2所示。
图2 AT89C51单片机引脚图
主控模块AT89C51
时钟电路
复位电路
按键输入电
路
功率放大电路
蜂鸣器发声
电路
3 硬件设计
3.1 晶振电路
晶振电路,对于单片机系统而言是必须的,因为单片机内部是由各种各样的数字逻辑器件构成,而这些器件又必须按时间顺序完成。所以在管脚的XTAL1和XTAL2引脚外接石英晶体和俩个谐振电容,电容采用2个30pf电容,采用12M 的石英晶体。这样就可以构成单片机的基本时钟电路,时钟频率为12M。如图2所示
图2晶振电路
3.2 复位电路
复位电路是对单片机进行初始化操作,使单片机处于一个确定的初始状态。而要AT89S51复位得在RESET引脚上加5V的高电平信号就可以了。复位电路参数为30U的电解电容和1kΩ的电阻。如图3为单片机的复位电路。
图3复位电路
3.3功率放大电路
功率放大电路对工作电流进行放大,因为单片机电路本身的电流不足以带动蜂鸣器发生,加一个三极管放大器2N2905可以带动蜂鸣器发生。
图4功率放大电路
3.4 晶振、复位、功放之间连线电路
图5复位电路、晶振电路与单片机之间的连线图3.4 系统连接图
整体硬件连接图如图6所示。
图6系统连接图
4 软件设计
4.1 主程序设计
主程序流程图如图6所示。
图7主程序流程图
5系统仿真及调试
软件调试,先编写显示程序并进行硬件的正确性检验,然后分别进行主程序,音乐播放程序和定时程序的编译和调试;硬件调试,仔细检查电路有没有漏接或是错接的地方,再接一个电压表检查供给蜂鸣器的电压是否合适,调节电阻的阻值以调节工作电路的阻值。并且外接了一个数字滤波器检测P1.7引脚的电平高低。
如果不理想,继续调整程序和硬件电路,直到得到正确结果。仿真图详见第4图6。
6 总结
通过此次基于单片机的音乐播放器的设计,使我进一步加深了对课堂上知识的理解,对单片机的寻址方式及定时中断的理解更加深刻,熟悉了单片机应用系统设计的各主要环节的设计,了解了三极管2N2905的参数,及使用方法,蜂鸣器的正常工作条件,示波器在PROTEUS中的使用方法,使用外部晶体振荡器如何选取电容,及晶体振频率。但是动手制作实物的过程的,动手焊接能力还是不行,容易把引脚焊接在一起,因此,在以后的学习要加强自己实践能力的锻炼。软件调试,先编写显示程序并进行硬件的正确性检验,然后分别进行主程序,A/D转换程序和LED显示器程序编译和调试;硬件调试,仔细检查电路有没有漏接或是错接的地方,再接一个电压表检查LED显示器显示的数值是否和电压表的示数一致,如果不理想,继续调整程序,直到得到正确结果。