数字音乐盒课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机多功能数字音乐盒
《单片机原理及应用》课程设计任务书
一、目的意义
《单片机原理及应用》是高校工程专业的一门专业基础课,该门课程具有很强的实践性。通过课程的学习,使学生掌握基本概念、基本理论和基本技能,为今后从事相应的生产设计和科研工作打下一定的基础。因此,除课程的理论教学和实验教学外,课程设计也是一个必要和重要的实践教学环节。通过课程设计,进一步培养学生理论联系实际的能力,学会正确地分析工程实际问题,善于查阅参考文献,准确地选择相应的数据、参数,具备全面地解决实际问题的素质,同时课程设计也为今后的毕业设计打下基础。
二、设计时间、地点、班级
时间:第16、17周(二周)
地点:三教433 、426
班级:09电气99人
三、设计内容
(二十)基于单片机的多功能数字音乐盒的设计
1、功能描述
用A T89S52单片机的I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。
共有4乐曲,每首乐曲都由相应的按键控制,并且有开关键、暂停键、上一曲以及下一曲控制键。
按键输入电路的设计
复位电路的设计;时钟电路的设计
显示电路及驱动电路的设计;扫描模式的选择设计
系统主程序及子程序的设计;元件及元件参数的选择
前言:本设计是以AT89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。
1、设计原理及相关说明
设计原理:通过按键给单片机的P2口输入低电平,进而利用程序来判断是
否执行某一播放功能。而利用单片机的定时器0中断来控制播放乐曲。
2.1芯片AT89C51的介绍
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM)的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图2.1所示
图3.2 AT89C51引脚排列图
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32 P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27 U1
AT89C52
2.2 时钟振荡电路、复位电路
利用12MHZ的晶振做外部时钟;AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体(陶瓷)谐振器一起构成自然振荡器。外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30PF±10PF(而如果使用陶瓷振荡器建议
选择40PF±10PF)。用
2.3控制电路:
键盘接口电路如图,本次设计中,按键有7个.键分别接于7根I/O线(P2口),各按键在实物连接上相互独立,彼此的工作状态互不影响,STC单片机自带上拉电阻因此无需外接上拉电阻,用查询法完成按键功能。
2.4蜂鸣器电路:利用PNP管(9012)放大驱动。基极接10K 欧姆的电阻,发射极接蜂鸣器,集电极接电源。
3系统软件设计
程序设计流程图如图7所示
设计流程图依据所写源程序所绘制,所用代号均为源程序中所使用,源程序可参照源程序清单。