单片机课程设计报告(利用蜂鸣器播放音乐)
单片机实验报告蜂鸣器
一、实验目的1. 熟悉51单片机的基本结构和工作原理。
2. 掌握51单片机的I/O口编程方法。
3. 学习蜂鸣器的驱动原理和应用。
4. 通过实验,提高动手实践能力和问题解决能力。
二、实验原理蜂鸣器是一种将电信号转换为声音信号的器件,常用于产生按键音、报警音等提示信号。
根据驱动方式,蜂鸣器可分为有源蜂鸣器和无源蜂鸣器。
1. 有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定。
2. 无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才能发声,调整提供振荡脉冲的频率,可发出不同频率的声音。
在本次实验中,我们使用的是无源蜂鸣器。
51单片机通过控制P1.5端口的电平,产生周期性的方波信号,驱动蜂鸣器发声。
三、实验器材1. 51单片机实验板2. 蜂鸣器3. 连接线4. 电路焊接工具5. 编程软件(如Keil)四、实验步骤1. 电路连接:- 将蜂鸣器的正极连接到51单片机的P1.5端口。
- 将蜂鸣器的负极接地。
2. 程序编写:- 使用Keil软件编写程序,实现以下功能:1. 初始化P1.5端口为输出模式。
2. 通过循环,不断改变P1.5端口的电平,产生方波信号。
3. 调整方波信号的频率,控制蜂鸣器的音调。
3. 程序下载:- 将程序下载到51单片机中。
4. 实验观察:- 启动程序后,观察蜂鸣器是否发声,以及音调是否与程序设置一致。
五、实验结果与分析1. 实验结果:- 成功驱动蜂鸣器发声,音调与程序设置一致。
2. 结果分析:- 通过实验,我们掌握了51单片机的I/O口编程方法,以及蜂鸣器的驱动原理。
- 在程序编写过程中,我们学习了方波信号的生成方法,以及如何调整方波信号的频率。
六、实验总结本次实验成功地实现了51单片机控制蜂鸣器发声的功能,达到了预期的实验目的。
通过本次实验,我们提高了以下能力:1. 对51单片机的基本结构和工作原理有了更深入的了解。
2. 掌握了51单片机的I/O口编程方法。
3. 学习了蜂鸣器的驱动原理和应用。
单片机《蜂鸣器》实验报告
单片机《蜂鸣器》实验报告实验报告:蜂鸣器实验工具和器材:Proteus仿真软件,Keil程序编写软件,蜂鸣器,AT89C51单片机。
实验原理:蜂鸣器分为压电式和电磁式两种类型。
本实验采用的是电磁式蜂鸣器。
蜂鸣器又分为有源和无源两种类型。
本实验采用的是有源蜂鸣器。
通过51单片机和C程序,将程序所设计的算法与蜂鸣器电路连接起来,采用循环函数配合多个延时来实现各个音节的有规律发声,合成一首完整的音乐。
本实验采用较为简单的一首儿歌《两只老虎》来体现。
硬件电路说明:本实验使用电磁式蜂鸣器,蜂鸣器连接单片机P2.0端口,另一端接地。
通过C程序产生的hex文件控制蜂鸣器发声,播放一首完整的歌曲。
音节的曲调和间隔时间都是构成歌曲的一个重要部分,需要调节频率和利用延时函数。
控制发声频率要产生音频脉冲,只要算出某一音频的周期/频率,然后将此周期除以2(即为半周期的时间)。
利用定时器计时这半个周期时间,就可在I/O脚上得到此频率的脉冲。
利用AT89C51的内部定时器使其工作在计数器模式下,改变计数值TH0及TL0从而产生不同频率。
此外,结束符和休止符可以分别用代码00H和XXX来表示,若查表结果为0x00,则表示曲子终了;若查表结果为0xff,则产生相应的停顿效果。
软件程序说明:主函数采用while和for循环,并且引用延时函数,对各部分程序进行调用。
与采用一般的延时函数相比,可以分别控制歌曲各个音节的持续发声。
在主函数中,使用多个for循环来控制每个音节的起始和结束,以实现蜂鸣器对一首完整歌曲的播放。
通过调用不同的延时函数,实现有节奏的音节发声,并将它们串联起来。
在调用Beep函数时,需要进行定义。
在主函数中,分别在每个音节开始前后的两个for循环中调用Beep函数。
通过Beep=~Beep和Beep=1指令的调用,实现各个音节的发声和停止,从而控制歌曲的有节奏播放。
为了实现各个音节的延时发声,我们使用了多个延时程序,例如500ms和700ms。
单片机实验报告蜂鸣器
单片机实验报告蜂鸣器单片机实验报告:蜂鸣器引言:单片机是现代电子技术中的重要组成部分,其广泛应用于各个领域。
蜂鸣器作为一种常见的声音输出设备,在单片机实验中也被广泛使用。
本文将介绍蜂鸣器的原理、实验过程以及实验结果,并对实验中遇到的问题进行分析和解决。
一、蜂鸣器的原理蜂鸣器是一种能够产生声音的装置,其原理基于压电效应。
压电材料在受到外力作用时会产生电荷,而当外力消失时,压电材料则会产生相反方向的电荷。
利用这种特性,蜂鸣器可以通过施加电压来使压电材料振动,从而产生声音。
二、实验过程1. 准备工作:首先,我们需要准备一块单片机开发板、一个蜂鸣器和相关电路连接线。
2. 连接电路:将单片机的IO口与蜂鸣器连接,注意正确连接正负极。
一般情况下,蜂鸣器的正极连接到单片机的IO口,负极连接到GND。
3. 编写程序:使用单片机开发工具,编写一个简单的程序来控制蜂鸣器。
例如,我们可以通过控制IO口的高低电平来控制蜂鸣器的开关状态。
4. 烧录程序:将编写好的程序烧录到单片机中。
5. 实验测试:将单片机开发板连接到电源,观察蜂鸣器是否发出声音。
可以通过改变程序中IO口的电平来控制蜂鸣器的开关状态,从而产生不同的声音。
三、实验结果经过实验,我们成功地控制了蜂鸣器的开关状态,并产生了不同的声音效果。
通过改变程序中IO口电平的高低,我们可以调节蜂鸣器的频率和音调。
此外,我们还可以通过控制IO口的输出时间来调节蜂鸣器发声的时长。
四、问题分析与解决在实验过程中,我们可能会遇到一些问题,例如蜂鸣器无法发声或声音不稳定等。
这些问题可能是由以下原因引起的:1. 连接错误:检查蜂鸣器的正负极是否正确连接到单片机的IO口和GND。
确保连接线没有松动或接触不良。
2. 程序错误:检查程序中的代码是否正确,特别是IO口的控制部分。
确保程序正确地控制了蜂鸣器的开关状态。
3. 电源问题:检查单片机开发板的电源是否正常。
如果电源电压不稳定,可能会导致蜂鸣器无法正常工作。
单片机蜂鸣器实验报告体会
单片机蜂鸣器实验报告体会通过这次单片机蜂鸣器实验,我深刻体会到了单片机的应用和蜂鸣器的原理与工作方式。
同时,实验过程中也锻炼了我动手实践、问题分析和解决能力。
以下是我的一些心得体会。
首先,这次实验让我重新认识和理解了单片机的作用和重要性。
单片机是一种微型计算机系统,通过给单片机编程,可以实现各种复杂的控制功能。
在这次实验中,我们利用单片机控制蜂鸣器发出不同频率的声音,让我感受到了单片机在音频控制方面的优势。
同时,单片机的计算能力和高效性也让我意识到它在各个领域的广泛应用。
其次,通过这次实验,我深入了解了蜂鸣器的原理和工作方式。
蜂鸣器是一种能够发出声音的电子器件,它是利用电流通过振动片或压电陶瓷晶片引起共振来产生声音。
通过改变电流的频率和占空比,可以发出不同的声音。
在实验中,我们通过改变单片机的输出电压来控制蜂鸣器的工作状态,发出不同频率的声音。
这让我明白了如何利用蜂鸣器来实现声音控制。
此外,这次实验也让我意识到了问题分析和解决的重要性。
在实验过程中,我们遇到了各种问题,如蜂鸣器不工作、声音频率不准确等。
这些问题的出现让我反思了自己对实验原理的理解和对单片机编程的掌握程度。
通过仔细分析问题的原因和搜索相关资料,我找到了解决方法,如检查电路连接是否正确、重新编写程序等。
这让我意识到在实验和工程项目中,能够熟练运用问题分析和解决方法是很重要的。
最后,通过这次实验,我也发现了自己在动手实践方面的不足之处。
实验的电路连接和单片机编程都需要细心和耐心,我在实验过程中有时会出现粗心和着急的情况。
这次实验让我认识到了自己的不足,并促使我更加认真对待实验和动手实践的环节。
只有通过亲身实践,才能够更好地理解和掌握相关知识。
总而言之,通过这次单片机蜂鸣器实验,我不仅加深了对单片机和蜂鸣器的理解,也锻炼了动手实践和问题解决的能力。
这次实验让我更加认识到了单片机的应用前景和重要性,同时也让我明白了在实验和工程项目中,细心和耐心是非常重要的品质。
最新单片机课程设计音乐播放器报告
单片机课程设计音乐播放器报告华北航空航天学院单片机课程设计报告课程设计作业学科名称讲师王晓职称音乐播放器设计副教授学生姓名张婷完成时间班级6.12年级B10Xxxx)* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *TAB5: DW 0A08H,0C08H,0C10H,0C08H,0A08H,0D08H,0E08H DW 0D08H,0D08H,0D08H,0D08H,0C08H,0F 0H,0F08H,0F08H DW 0F08H,0D08H,0D08H,0C40H,0A08H,0C08H,0C10H 256总示意图图4.1总示意图2。
元件清单AT89C52,晶振,电容,电阻,抑制,按键,数码管,二极管,蜂鸣器,三极管115,结论这款音乐播放器可以播放四首歌曲,并使用按键选择曲目,基本达到了设计要求用数据线连接计算机作为电源,将下载了程序的单片机插入插座,按下3.3键重复播放当前的曲子,按下3.4键播放前一首曲子,按下3.5键播放下一首曲子,按下REST键复位,从第一首曲子开始数码管显示歌曲曲目。
二极管作为游戏的一部分来增加兴趣6、体验课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题、锻炼实践能力的重要环节。
这也是一个针对学生实际工作能力的具体训练和考核过程。
随着科学技术的发展,单片机已经成为当今计算机应用中前所未有的活跃领域,可以说在生活中无处不在。
因此,对于自动化专业的学生来说,掌握单片机的开发技术是非常重要的。
我的主题是音乐播放器的硬件和软件设计。
经过13周的单片机学习,我将自己设计一件作品。
这是一个测试。
提前很久,我们选择了题目,开始做准备工作,查阅资料,看了学生的小作品和计划的说明,我也对我的题目有了信心。
我学到了很多关于这门课程的设计,如何制定计划,如何实现计划,以及如何克服实施过程中的心理不良情绪。
单片机课程设计报告利用蜂鸣器播放音乐
课程设计:电子设计题目名称:音乐流水灯姓名:戴锦超学号:08123447班级:信科12-3班完成时间:2014年10月23日1设计的任务设计容:动手焊接一个51单片机设计目标:利用单片机上的蜂鸣器以及二极管实现音乐播放以及根据音乐的节奏而规律性闪亮的二极管。
并且通过程序调节音乐节奏的快慢。
2 设计的过程2.1 基本结构1.STC89C52RC在本次的试验中采用了STC89C52RC单片机,STC89C52RC 单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期,工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机),工作频率围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz,用户应用程序空间为8K字节。
(STC89C52RC引脚图)STC89C52RC单片机的工作模式:(1)典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序(2)空闲模式:典型功耗2mA(3)正常工作模式:典型功耗4Ma~7mA(4)唤醒,适用于水表、气表等电池供电系统及便携设备2.蜂鸣器及其工作原理:蜂鸣器按其结构分主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。
接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
本实验采用的是电磁式蜂鸣器。
蜂鸣器按其是否带有信号源又分为有源和无源两种类型。
有源蜂鸣器只需要在其供电端加上额定直流电压,其部的震荡器就可以产生固定频率的信号,驱动蜂鸣器发出声音。
无源蜂鸣器可以理解成与喇叭一样,需要在其供电端上加上高低不断变化的电信号才可以驱动发出声音。
本实验采用的是有源蜂鸣器。
(蜂鸣器与单片机连接电路图)2.2 软件设计过程1.蜂鸣器发声原理本实验由于采用有源蜂鸣器,只需将引脚端口P1^4清零,蜂鸣器即可发声;P1^4置位,蜂鸣器停止发声。
单片机《蜂鸣器》实验报告
单片机《蜂鸣器》实验报告单片机《蜂鸣器》实验报告一、实验目的本次实验旨在通过单片机的控制,实现对蜂鸣器的驱动和发声控制,进一步了解蜂鸣器的工作原理及应用。
二、实验原理蜂鸣器是一种电子发声器件,常用于发出警告、提示或声音信号。
其工作原理是利用电磁感应原理,在蜂鸣器线圈中通入电流时,会产生磁场,该磁场与蜂鸣器内部的一块磁铁产生相互作用力,使蜂鸣器内部的膜片发生振动,从而发出声音。
在本实验中,我们将通过单片机控制蜂鸣器的驱动信号,使其发出不同的声音,从而实现单片机对蜂鸣器的控制。
三、实验步骤1、准备实验器材:单片机开发板、蜂鸣器模块、杜邦线等。
2、将蜂鸣器模块连接至单片机开发板的某个数字引脚上。
3、通过单片机编程软件编写控制程序,实现对蜂鸣器的控制。
4、将编写好的程序下载到单片机开发板中,并进行调试。
5、通过单片机控制蜂鸣器发出不同的声音,观察其工作情况。
四、实验结果与分析1、实验结果通过本次实验,我们成功实现了单片机对蜂鸣器的控制,可以通过编写不同的程序,使蜂鸣器发出不同的声音。
以下是实验中蜂鸣器发出的声音及其对应的程序代码:(1) 发出“滴”的一声(2) 发出“嘟嘟”的警告声2、结果分析通过实验结果可以看出,通过单片机对蜂鸣器进行控制,可以实现发出不同声音的效果。
在第一个实验中,我们通过设置引脚的高低电平及延时时间,使蜂鸣器发出一声“滴”的声音。
在第二个实验中,我们通过一个无限循环,使蜂鸣器发出“嘟嘟”的警告声。
五、结论与展望通过本次实验,我们深入了解了蜂鸣器的工作原理及应用,并成功实现了单片机对蜂鸣器的控制。
实验结果表明,我们可以根据实际需要编写不同的程序,实现对蜂鸣器的灵活控制。
展望未来,我们可以进一步研究蜂鸣器的其他应用场景,例如在智能家居、机器人等领域中的应用。
我们也可以通过其他方式对蜂鸣器进行控制,例如通过传感器采集信号或者通过无线网络进行远程控制等。
单片机课程设计音乐播放器报告
中州大学《单片机》课程设计报告报告题目:音乐播放器作者所在系部:工程技术学院作者所在专业:电气自动化作者所在班级:B10204作者姓名:张强作者学号:20104020416指导教师姓名:雷刚完成时间:2014年10月12日课程设计任务书课题名称音乐播放器的设计完成时间 6.12 指导教师王晓职称副教授学生姓名张婷班级B10204总体设计要求和技术要点利用单片机设计一个音乐播放器,并能够播放三种音乐,音乐自行设计。
一、设计目的1.掌握单片机定时器的使用方法2.掌握单片机扩展显示器、键盘的方法二、技术指标1.键盘设置3种音乐的播放切换;2.LED显示3种音乐的提示符;3. 流水灯闪烁工作内容及时间进度安排第14周:周1到周2查阅资料,确定设计方案周3到周4编写程序并进行proteus仿真周5焊接调试第17周:周1撰写实验报告周2验收课程设计成果1.与设计内容对应的软件程序与焊接实物2.课程设计报告书内容摘要本文的主要内容是用AT89C52单片机为核心控制元件,设计一个音乐播放器,以单片机作为主控核心、蜂鸣器等模块组成。
利用单片机产生不同频率来获得要求的音阶,最终可随意编写需要的程序,播放出音乐。
在此设计中我采用12MHz的晶振,产生的频率信号即音乐信号由P3.7口输出,信号经过放大后由喇叭发出声音。
设有四个按键,其中两个能实现多首音乐的选择,另一个能实现开始功能和单曲重播的功能,最后一个能实现复位和关闭歌曲的功能。
设有一位数码管,每选择一首曲子能在数码管上显示当前的曲目(只是数字)。
设十六个发光二极管,能随歌曲频率闪烁。
关键字:单片机音乐不同频率按键目录一、概述 (1)二、方案设计与论证 (1)1.硬件设计 (1)2.软件设计 (2)三、单元电路设计与分析 (3)1.单片机最小系统 (3)2. 数码管显示 (4)3.发光二级管和按键 (4)4.蜂鸣器发声 (5)5.软件部分程序和流程图 (5)四、总原理图及元器件清单 (11)1.总原理图 (11)2元器件清单 (11)五、结论 (12)六、心得体会 (12)七、参考文献 (12)一、概述作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括“Do“、“Re“、“Me“--等音阶在内的各种频率声音。
基于单片机的蜂鸣器放音乐课程设计
基于单片机的蜂鸣器放音乐课程设计单片机课程设计—蜂鸣器放音乐设计学号:**************班级:**************姓名:**指导教师:***日期:2012.6课程设计任务书级: ********** 班姓名: **设计周数: 1 学分: 1指导教师: ***设计题目:设计目的及要求:目的:,.熟悉印制电路板设计的步骤和方法,能够按照自己的思想设计出所需的电路功能,并能明白其原理和应用。
,.熟悉常用电子器件的类别、型号、规格、性能及其使用范围,能查阅有关的电子器件图书。
,.能够正确识别和选用常用的电子器件,并且能够熟练使用普通万用表和数字万用表。
,.能够熟练的使用单片机编程软件,实现硬件及软件的紧密结合,并能熟练地调试程序,明白程序的目的和编写步骤。
要求:掌握设计电路和写单片机程序及调试.设计内容和方法:用STC89C52单片机和电平转换芯片MAX232组成一个简单的控制电路,用以控制蜂鸣器发出各种不同的声音,并利用虚拟仪器控制。
方法:通过电脑的串口写入一段程序到单片机中,实现单片机的控制作用。
利用按键控制蜂鸣器的发声,经MAX232与电脑相连,用虚拟仪器实现对单片机的控制。
目录第一章绪论............................................................. 1 第二章总体设计.......................................................... 2 第三章硬件部分. (3)第四章软件部分..........................................................4 第五章总结.............................................................. 5 参考文献. (6)附录...................................................................7第一章绪论单片机的发展概况单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。
单片机蜂鸣器音乐
单片机蜂鸣器音乐单片机在我们的生活中无处不在,它被广泛地应用在各种电子产品中,为我们的生活带来了便利。
今天,我要向大家介绍的是一种基于单片机的蜂鸣器音乐播放器。
一、硬件部分1、单片机:我们选用的是AT89C51单片机,它具有低功耗、高性能的特点,非常适合用于音乐播放器。
2、蜂鸣器:蜂鸣器是用来发出声音的,我们将其连接在单片机的输出口上。
3、存储芯片:为了能够播放存储在芯片中的音乐,我们需要将音乐以某种格式存储在芯片中。
常用的存储芯片有EEPROM和Flash芯片。
4、按键:为了能够选择播放不同的音乐,我们需要添加一个按键。
二、软件部分1、音乐编码:我们需要将音乐转换成二进制编码,这样才能被单片机读取并播放。
常用的音乐编码格式有MIDI、WAV等。
2、音乐播放:当按下按键时,单片机读取存储芯片中的音乐数据,并通过蜂鸣器播放。
3、音乐选择:通过按键可以选择不同的音乐进行播放。
4、音量控制:我们可以通过编程来控制蜂鸣器的音量大小。
三、调试与测试1、硬件调试:检查连接是否正确,确保没有短路或断路的情况。
2、软件调试:将程序下载到单片机中进行调试,确保能够正常播放音乐。
3、综合测试:将所有硬件和软件都连接起来进行测试,确保能够正常工作。
四、总结与展望通过本次实验,我们成功地制作了一个基于单片机的蜂鸣器音乐播放器。
它具有简单、实用的特点,可以用来播放存储在芯片中的音乐。
未来,我们可以进一步扩展其功能,例如添加更多的按键来选择不同的音乐、添加显示屏来显示歌曲名称等。
我们也可以将其应用到其他领域,例如智能家居、智能安防等。
单片机蜂鸣器唱歌程序在许多应用中,单片机蜂鸣器经常被用来发出声音或音乐。
下面是一个使用单片机蜂鸣器唱歌的程序示例。
我们需要确定单片机和蜂鸣器的连接方式。
通常,单片机具有一个内置的蜂鸣器输出引脚,可以将蜂鸣器连接到这个引脚上。
在以下的示例中,我们将假设单片机具有一个内置蜂鸣器输出引脚,并将其连接到P1.0端口上。
单片机课程设计蜂鸣器
单片机课程设计蜂鸣器一、课程目标知识目标:1. 理解单片机的基本原理,掌握蜂鸣器模块的电路连接和工作原理;2. 学会编写控制蜂鸣器响铃、停铃的程序代码,理解程序中的延时函数及其作用;3. 了解蜂鸣器在不同应用场景下的使用方法,如报警、音乐播放等。
技能目标:1. 能够独立完成蜂鸣器模块与单片机的连接,进行电路调试;2. 掌握使用编程软件编写、编译和烧录程序到单片机,实现蜂鸣器的控制;3. 培养学生的动手操作能力,提高问题解决能力。
情感态度价值观目标:1. 激发学生对单片机编程的兴趣,培养其主动探究精神;2. 培养学生的团队合作意识,学会在团队中沟通与协作;3. 引导学生关注单片机在现实生活中的应用,认识到科技改变生活的意义。
分析课程性质、学生特点和教学要求:本课程为单片机课程的实践环节,以动手操作为主,注重培养学生的实践能力和创新思维。
针对学生年级特点,课程内容以基础为主,逐步提高难度。
在教学过程中,教师需关注学生的学习进度,及时解答疑问,确保学生能够掌握课程内容。
1. 熟练掌握蜂鸣器模块的使用,实现基本的控制功能;2. 提高编程技能,为后续学习更复杂的单片机应用打下基础;3. 增强对单片机应用场景的认识,激发学习兴趣,培养良好的情感态度。
二、教学内容1. 理论知识:- 单片机基础原理介绍,重点掌握CPU、内存、I/O口等基本组成部分;- 蜂鸣器模块工作原理,理解其电路连接方式及控制方法;- 编程软件的使用,包括编写、编译、烧录程序的基本步骤。
2. 实践操作:- 蜂鸣器模块与单片机的连接,学会使用杜邦线进行电路搭建;- 编写程序控制蜂鸣器响铃与停铃,掌握延时函数的使用;- 设计简单的报警程序,实现蜂鸣器不同频率的响铃。
3. 教学大纲:- 第一课时:单片机基础原理学习,蜂鸣器模块介绍;- 第二课时:编程软件的使用,编写简单的控制程序;- 第三课时:实践操作,连接电路,烧录程序,调试蜂鸣器;- 第四课时:拓展应用,设计报警程序,提高编程技能。
单片机课程设计蜂鸣器
单片机课程设计 蜂鸣器一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握蜂鸣器在单片机系统中的应用。
2. 使学生掌握蜂鸣器的电路连接和工作原理,能够运用编程实现蜂鸣器的控制。
3. 帮助学生掌握相关指令和程序设计方法,实现蜂鸣器的不同音调、音量及节奏的控制。
技能目标:1. 培养学生动手操作能力,能够独立完成蜂鸣器与单片机的连接和调试。
2. 提高学生的编程能力,使其能够设计出功能完善、结构清晰的蜂鸣器控制程序。
3. 培养学生的问题分析和解决能力,能够针对实际需求,调整程序参数,实现不同功能。
情感态度价值观目标:1. 培养学生对单片机课程的兴趣和热情,激发学生主动探索和实践的精神。
2. 培养学生的团队合作意识,鼓励学生在课堂上积极交流、分享经验,共同进步。
3. 培养学生严谨、认真、负责的学习态度,使其在课程学习过程中养成良好的学习习惯。
课程性质分析:本课程为单片机课程设计,以实践操作为主,注重理论联系实际,提高学生的动手能力和创新能力。
学生特点分析:学生处于高年级阶段,已具备一定的单片机基础知识和编程能力,对实践操作有较高的兴趣。
教学要求:结合课程性质和学生特点,明确课程目标,注重理论与实践相结合,充分调动学生的积极性和主动性,培养其独立思考和解决问题的能力。
通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高其综合素质。
二、教学内容1. 理论知识:- 单片机原理概述,重点掌握其内部结构、工作原理及指令系统。
- 蜂鸣器工作原理,包括蜂鸣器的种类、电路连接方式及声音产生机制。
- 编程语言基础,复习C语言基本语法,强调其在单片机编程中的应用。
2. 实践操作:- 蜂鸣器与单片机的硬件连接,学会使用面包板进行电路搭建。
- 编写蜂鸣器控制程序,实现不同音调、音量和节奏的控制。
- 调试程序,学会使用调试工具,分析并解决程序运行过程中可能出现的问题。
3. 教学大纲:- 第一周:单片机原理复习及蜂鸣器工作原理学习。
单片机课程设计报告利用蜂鸣器播放音乐样本
课程设计: 电子设计题目名称: 音乐流水灯姓名: 戴锦超学号: 08123447班级: 信科12-3班完成时间: 10月23日1设计的任务设计内容: 动手焊接一个51单片机设计目标: 利用单片机上的蜂鸣器以及二极管实现音乐播放以及根据音乐的节奏而规律性闪亮的二极管。
而且经过程序调节音乐节奏的快慢。
2 设计的过程2.1 基本结构1.STC89C52RC在本次的试验中采用了STC89C52RC单片机, STC89C52RC 单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机, 指令代码完全兼容传统8051单片机, 12时钟/机器周期, 工作电压: 5.5V~3.3V( 5V单片机) /3.8V~2.0V( 3V单片机) , 工作频率范围: 0~40MHz, 相当于普通8051的0~80MHz, 实际工作频率可达48MHz, 用户应用程序空间为8K字节。
( STC89C52RC引脚图)STC89C52RC单片机的工作模式:(1)典型功耗<0.1μA,可由外部中断唤醒, 中断返回后, 继续执行原程序(2)空闲模式: 典型功耗2mA(3)正常工作模式: 典型功耗4Ma~7mA( 4) 唤醒, 适用于水表、气表等电池供电系统及便携设备2.蜂鸣器及其工作原理:蜂鸣器按其结构分主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。
接通电源后, 振荡器产生的音频信号电流经过电磁线圈, 使电磁线圈产生磁场, 振动膜片在电磁线圈和磁铁的相互作用下, 周期性地振动发声。
本实验采用的是电磁式蜂鸣器。
蜂鸣器按其是否带有信号源又分为有源和无源两种类型。
有源蜂鸣器只需要在其供电端加上额定直流电压, 其内部的震荡器就能够产生固定频率的信号, 驱动蜂鸣器发出声音。
无源蜂鸣器能够理解成与喇叭一样, 需要在其供电端上加上高低不断变化的电信号才能够驱动发出声音。
本实验采用的是有源蜂鸣器。
单片机蜂鸣器实验报告
单片机蜂鸣器实验报告单片机蜂鸣器实验报告引言:单片机蜂鸣器是一种常用的电子元件,广泛应用于各种电子设备中。
本篇实验报告旨在介绍单片机蜂鸣器的基本原理和实验过程,并探讨其在不同应用场景中的应用。
一、实验目的:本次实验的主要目的是通过使用单片机控制蜂鸣器发出不同频率的声音,了解蜂鸣器的工作原理及其在电子设备中的应用。
二、实验器材和原理:1. 实验器材:- 单片机开发板- 蜂鸣器- 连接线- 电源2. 实验原理:蜂鸣器是一种能够发出声音的电子元件,它通过振动产生声音。
在单片机蜂鸣器实验中,我们使用单片机控制蜂鸣器的振动频率,从而产生不同的声音。
三、实验步骤:1. 连接电路:将蜂鸣器的正极连接到单片机开发板的IO口,将蜂鸣器的负极连接到开发板的地线。
确保连接稳固。
2. 编写程序:使用单片机开发板的编程软件,编写程序来控制蜂鸣器的振动频率。
可以通过调整程序中的延时时间来改变蜂鸣器发声的频率。
3. 上传程序:将编写好的程序通过USB线上传到单片机开发板中。
4. 运行实验:将电源接入单片机开发板,开启电源。
单片机将根据程序中设定的频率控制蜂鸣器发声。
四、实验结果与分析:通过修改程序中的延时时间,我们可以改变蜂鸣器发声的频率。
实验中,我们尝试了不同的延时时间,并观察了蜂鸣器发声的效果。
在较短的延时时间下,蜂鸣器发出的声音频率较高,声音连续不断。
而在较长的延时时间下,蜂鸣器发出的声音频率较低,声音间隔较长。
通过实验结果分析,我们可以得出结论:蜂鸣器的发声频率与延时时间成反比关系。
延时时间越短,蜂鸣器发声的频率越高;延时时间越长,蜂鸣器发声的频率越低。
五、实验应用:单片机蜂鸣器在实际应用中有着广泛的用途。
以下是几个常见的应用场景:1. 报警系统:将蜂鸣器连接到报警设备中,当设备检测到异常情况时,通过单片机控制蜂鸣器发出警报声,提醒用户注意。
2. 电子钟:通过单片机控制蜂鸣器发出定时的滴答声,实现电子钟的功能。
3. 游戏设备:将蜂鸣器连接到游戏设备中,通过单片机控制蜂鸣器发出不同的声音,增加游戏的趣味性和互动性。
单片机实验报告蜂鸣器
单片机实验报告蜂鸣器单片机实验报告:蜂鸣器引言在现代科技发展迅猛的时代,单片机已经成为了各种电子设备中不可或缺的重要部分。
而蜂鸣器作为一种常见的声响器件,也被广泛应用在各种电子产品中。
本实验旨在通过单片机控制蜂鸣器,实现不同频率和节奏的声音输出,并对蜂鸣器的工作原理进行深入理解。
实验目的1. 了解蜂鸣器的工作原理;2. 掌握单片机控制蜂鸣器的方法;3. 实现不同频率和节奏的声音输出。
实验原理蜂鸣器是一种能够发出声音的电子元件,其工作原理是利用电流通过振动片产生声音。
在实验中,我们将通过单片机控制蜂鸣器的工作频率和节奏,从而实现不同的声音效果。
实验步骤1. 连接电路:将单片机和蜂鸣器按照电路图连接好;2. 编写程序:使用C语言编写单片机控制蜂鸣器的程序;3. 烧录程序:将编写好的程序烧录到单片机中;4. 调试程序:通过调试程序,实现不同频率和节奏的声音输出;5. 实验结果:记录实验中不同声音效果的输出结果。
实验结果经过实验,我们成功地通过单片机控制蜂鸣器,实现了不同频率和节奏的声音输出。
通过调试程序,我们可以轻松地改变蜂鸣器的声音效果,包括音调的高低和声音的持续时间等。
这些实验结果充分展示了单片机控制蜂鸣器的强大功能和灵活性。
实验总结通过本次实验,我们深入理解了蜂鸣器的工作原理,并掌握了单片机控制蜂鸣器的方法。
同时,我们也实现了不同频率和节奏的声音输出,为以后的电子产品设计和开发提供了有力的支持。
相信通过这次实验,我们对单片机和蜂鸣器的应用有了更深入的认识,为我们的学习和科研工作打下了坚实的基础。
单片机-利用蜂鸣器演奏音乐
实验三-利用蜂鸣器演奏音乐一、实验目的1.了解BlueSkyC51单片机实验板中蜂鸣器的硬件电路2.学会利用蜂鸣器实现音乐的演奏3.掌握蜂鸣器实现音乐演奏的编程二、实验硬件设计及电路1. BlueSkyC51单片机实验板2.单片机最小系统3.蜂鸣器电路连接三极管主要是做驱动用的。
因为单片机的IO口驱动能力不够让蜂鸣器发出声音,所以我们通过三极管放大驱动电流,从而可以让蜂鸣器发出声音,你要是输出高电平,三极管导通,集电极电流通过蜂鸣器让蜂鸣器发出声音,当输出低电平时,三极管截止,没有电流流过蜂鸣器,所以就不会发出声音。
三、实验原理1.音调及节拍用一个口,输出方波,这个方波输入进蜂鸣器就会产生声音,通过控制方波的频率、时间,就能产生简单的音乐。
一般说来,单片机演奏音乐基本都是单音频率,因此单片机奏乐只需控制音调和节拍。
(1)音调的确定音调是由频率来确定的。
通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O 口来回取反,从而让蜂鸣器发出不同频率的声音。
只需将定时器给以不同的定时值就可实现。
通过延时,即可发出所需要的频率。
(2)节拍的确定一拍的时长大约为400—500ms,每个音符的时长通过节拍来计算。
详细见程序代码。
2.软件设计相关(1)头文件#include<reg51.h>#define uint unsigned int#define uchar unsigned char#define ulong unsigned longsbit beep=P1^4; //蜂鸣器与P1.4口连接(2)歌曲曲谱uchar code diaodata[30]={ //音调代码0x10,0x0e,0x0c,0x10,0x0e,0x0c,0x10,0x0e,0x10,0x0c,0x10,0x15,0x13,0x10,0x13,0x15,0x15,0x13,0x15,0x13,0x10,0x0e,0x0c,0x0e,0x0e,0x10,0x0e,0x0c,0x0e,0x00};uchar code jiedata[30]={ //音长代码0x04,0x04,0x08,0x06,0x02,0x08,0x04,0x04,0x04,0x04,0x02,0x06,0x08,0x02,0x02,0x04,0x04,0x04,0x04,0x08,0x02,0x02,0x04,0x04,0x02,0x02,0x04,0x04,0x0c,0x00};(3)音阶表uchar code freq[36*2]={ //音阶码表0xf7,0xd8, //440hz , 1 //00xf8,0x50, //466hz , 1# //10xf8,0xbc, //494hz , 2 //20xf9,0x26, //524hz , 2# //30xf9,0x85, //554hz , 3 //40xf9,0xe5, //588hz , 4 //50xfa,0x3d, //622hz , 4# //60xfa,0x92, //660hz , 5 //70xfa,0xdd, //698hz , 5# //80xfb,0x29, //740hz , 6 //90xfb,0x70, //784hz , 6# //100xfb,0xb0, //830hz , 7 //110xfb,0xef, //880hz , 1 //120xfc,0x29, //932hz , 1# //130xfc,0x62, //988hz , 2 //140xfc,0x95, //1046hz, 2# //150xfc,0xc7, //1108hz, 3 //160xfc,0xf5, //1174hz, 4 //170xfd,0x20, //1244hz, 4# //180xfd,0x4c, //1318hz, 5 //190xfd,0x72, //1396hz, 5# //200xfd,0x97, //1480hz, 6 //210xfd,0xbb, //1568hz, 6# //220xfd,0xdc, //1662hz, 7 //230xfd,0xfb, //1769hz, `1 //240xfe,0x18, //1864hz, `1# //250xfe,0x34, //1976hz, `2 //260xfe,0x4e, //2092hz, `2# //270xfe,0x67, //2218hz, `3 //280xfe,0x7d, //2350hz, `4 //290xfe,0x94, //2488hz, `4# //300xfe,0xa8, //2639hz, `5 //310xfe,0xbc, //2794hz, `5# //320xfe,0xcf, //2960hz, `6 //330xfe,0xe0, //3136hz, `6# //340xfe,0xf1, //3322hz, `7 //35};(4) 音符发生程序(中断服务程序)void timer0() interrupt 1 //用于产生音符的T0中断服务程序{TH0=th0_f;TL0=tl0_f;beep=~beep; //取反beep引脚,发声}三、实验过程及问题1.Keil开发过程(1)新建“Project”,选择单片机为“AT89C52”(2)新建c文件“music.c”,并添加到工程中(3)设置生成“HEX”文件,编译(4)将生成的“HEX”文件烧录到单片机,检验(5)不断修改完善2.编译实验相关问题(1)实际发音颤音重解决方法为修改蜂鸣器的驱动频率.(2)实际节奏过快或者过慢调整延时四、C51程序代码(部分来源于网络)#include<reg51.h>#define uint unsigned int#define uchar unsigned char#define ulong unsigned longsbit beep=P1^4; //蜂鸣器与P1.4口连接uchar th0_f; //中断装载T0高8位uchar tl0_f; //T0低8位uchar code freq[36*2]={ //音阶码表0xf7,0xd8, //440hz , 1 //00xf8,0x50, //466hz , 1# //10xf8,0xbc, //494hz , 2 //20xf9,0x26, //524hz , 2# //30xf9,0x85, //554hz , 3 //40xf9,0xe5, //588hz , 4 //50xfa,0x3d, //622hz , 4# //60xfa,0x92, //660hz , 5 //70xfa,0xdd, //698hz , 5# //80xfb,0x29, //740hz , 6 //90xfb,0x70, //784hz , 6# //100xfb,0xb0, //830hz , 7 //110xfb,0xef, //880hz , 1 //120xfc,0x29, //932hz , 1# //130xfc,0x62, //988hz , 2 //140xfc,0x95, //1046hz, 2# //150xfc,0xc7, //1108hz, 3 //160xfc,0xf5, //1174hz, 4 //170xfd,0x20, //1244hz, 4# //180xfd,0x4c, //1318hz, 5 //190xfd,0x72, //1396hz, 5# //200xfd,0x97, //1480hz, 6 //210xfd,0xbb, //1568hz, 6# //220xfd,0xdc, //1662hz, 7 //230xfd,0xfb, //1769hz, `1 //240xfe,0x18, //1864hz, `1# //250xfe,0x34, //1976hz, `2 //260xfe,0x4e, //2092hz, `2# //270xfe,0x67, //2218hz, `3 //280xfe,0x7d, //2350hz, `4 //290xfe,0x94, //2488hz, `4# //300xfe,0xa8, //2639hz, `5 //310xfe,0xbc, //2794hz, `5# //320xfe,0xcf, //2960hz, `6 //330xfe,0xe0, //3136hz, `6# //340xfe,0xf1, //3322hz, `7 //35};uchar code diaodata[30]={ //音调代码0x10,0x0e,0x0c,0x10,0x0e,0x0c,0x10,0x0e,0x10,0x0c,0x10,0x15,0x13,0x10,0x13,0x15,0x15,0x13,0x15,0x13,0x10,0x0e,0x0c,0x0e,0x0e,0x10,0x0e,0x0c,0x0e,0x00};uchar code jiedata[30]={ //音长代码0x04,0x04,0x08,0x06,0x02,0x08,0x04,0x04,0x04,0x04,0x02,0x06,0x08,0x02,0x02,0x04,0x04,0x04,0x04,0x08,0x02,0x02,0x04,0x04,0x02,0x02,0x04,0x04,0x0c,0x00};void timer0() interrupt 1 //用于产生音符的T0中断服务程序{TH0=th0_f;TL0=tl0_f;beep=~beep; //取反beep引脚,发声}void main(void){uchar i,j,k=0;uint n;TMOD=0X01; //T0方式1TR0=0; //关闭T0(不发声)ET0=1; //允许T0中断EA=1; //允许总中断while(1){TR0=1; //开T0for(i=0;diaodata[i]!=0;i++){th0_f=freq[diaodata[i]*2];tl0_f=freq[diaodata[i]*2+1];for(j=0;j<20000;n++); //(jiedata*20000)TR0=0;for(n=0;n<256;n++); //音符之间的短暂延时TR0=1;}TR0=0;}}(注:可编辑下载,若有不当之处,请指正,谢谢!)。
单片机蜂鸣器课程设计
单片机蜂鸣器课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解蜂鸣器作为输出设备的工作机制。
2. 使学生了解并掌握单片机编程控制蜂鸣器发声的方法和技巧。
3. 帮助学生理解蜂鸣器在电子产品中的应用及其重要性。
技能目标:1. 培养学生动手操作能力,能够独立完成单片机与蜂鸣器的连接。
2. 培养学生具备编程思维,能够编写简单的程序控制蜂鸣器发出不同音调的声音。
3. 提高学生的问题解决能力,能够通过调试程序解决蜂鸣器发声过程中遇到的问题。
情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养其主动探索和创新的意识。
2. 培养学生的团队合作精神,使其在合作完成项目过程中学会相互尊重、沟通协作。
3. 增强学生的环保意识,使其在电子制作过程中注意资源的合理利用和废弃物的分类处理。
课程性质:本课程为实践性较强的课程,结合理论知识,注重培养学生的动手操作能力和实际应用能力。
学生特点:学生具备一定的单片机基础知识,对电子制作有较高的兴趣,喜欢动手实践。
教学要求:教师应充分调动学生的积极性,引导学生主动探究,关注学生的个体差异,鼓励学生相互交流,提高课堂互动性。
同时,注重教学过程中的评价与反馈,确保学生达到预期的学习成果。
二、教学内容1. 单片机基础理论回顾:包括单片机的结构、工作原理、I/O口控制等,重点回顾与蜂鸣器控制相关的内容,如时钟、定时器等。
2. 蜂鸣器工作原理:介绍蜂鸣器的构造、工作方式及其在电路中的应用。
3. 单片机控制蜂鸣器编程:学习编写控制蜂鸣器发声的C语言程序,包括点亮、熄灭蜂鸣器,发出不同音调等。
- 掌握Keil等编程软件的使用。
- 学习如何使用延时函数控制蜂鸣器发声时间。
4. 硬件连接与调试:教授如何将单片机与蜂鸣器连接,进行电路搭建,并通过调试解决常见问题。
- 学习使用面包板、杜邦线等工具。
- 掌握电路调试方法,排除常见故障。
5. 实践项目:设计一个简单的电子琴项目,让学生分组完成,实现不同音调的发声。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计报告(利用蜂鸣器播放音乐)
-西安科技大学- 成绩
课程设计;嵌入式系统应用题目名称;利用蜂鸣器实现音乐播放功能姓名;学号;
班级;完成时间;1/12页-西安科技大学- 1设计的任务设计内容;动手焊接一个51单片机
设计目标;利用单片机上的蜂鸣器实现音乐播放功能 2 设计的过程 2.1 基本结构 1.STC89C52RC 在本次的试验中采用了STC89C52RC单片机(STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机(指令代码完全兼容传统8051单片机(12时钟/机器周期(工作电压;5.5V:3.3V!5V单片机,/3.8V:2.0V!3V单片机,(工作频率范围;0:40MHz(相当于普通8051的0:
80MHz(实际工作频率可达48MHz(用户应用程序空间为8K 字节。
!STC89C52RC引脚图,STC89C52RC 单片机的工作模式;!1,典型功耗<0.1μA,可由外部中断唤醒(中断返回后(继续执行原程序!2,空闲模式;典型功耗2mA !3,正常工作模式;典型功耗4Ma:7mA !4,唤醒(适用于水表、气表等电池供电系统及便携设备 2.蜂鸣器及其工作原理;蜂鸣器按其结构分主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。
接通电源后(振荡器产生的音频信号电流通过电磁线圈(使电磁线圈产生磁场(振动膜片在电磁线圈和磁铁的相互作用下(周期性地振动发声。
2/12页-西安科技大学- 本实验采用的是电磁式蜂鸣器。
蜂鸣器按其是否带有信号源又分为有源和无源两种类型。
有源蜂鸣器只需要在其供电端加上额定直流电压(其内部的震荡器就可以
产生固定频率的信号(驱动蜂鸣器发出声音。
无源蜂鸣器可以理解成与喇叭一样(需要在其供电端上加上高低不断变化的
电信号才可以驱动发出声音。
本实验采用的是有源蜂鸣器。
!蜂鸣器与单片机连接电路图, 2.2 软件设计过程 1. 蜂鸣器发声原理本实验由于采用有
源蜂鸣器(只需将引脚端口P3^4清零(蜂鸣器即可发声,P3^4置位(蜂鸣器停止发声。
采用置1置0的方法只能使蜂鸣器发声或停止发声(想要使蜂鸣器发出声音(必须对蜂鸣器发出声音的音频和节拍进行控制。
!音乐基础音调;不同音高的乐音是用C、D、E、F、G、A、B来表示(这7个字母就是音乐的音名(它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱3/12页-西安科技大学- 成简谱的1、2、3、4、5、6、7(相当于汉字“多来米发梭拉西”的读音(这是唱曲时乐音的发音(所以叫“音调”(即Tone。
把C、D、E、F、G、A、B这一组音的距离
分成12个等份(每一个等份叫一个“半音”。
两个音之间的距离有两个“半音”(就叫“全音”。
在钢琴等键盘乐器上(C–D、D–E、F–G、G–A、A–B两音之间隔着一个黑键(他们之间的距离就是全音,E–F、B–C两音之间没有黑键相隔(它们之间的距离就是半音。
通常唱成1、2、3、4、5、6、7的音叫自然音(那些在它们的左上角加上~号或者b号的叫变化音。
~叫升记号(表示把音在原来的基础上升高半音(b叫降记音(表示在原来的基础上降低半音。
例如高音DO的频率!1046Hz,刚好是中音DO的频率!523Hz,的一倍(中音DO的频率!523Hz,刚好是低音DO频率!266 Hz,的一倍,同样的(高音RE的频率!1175Hz,刚好是中音RE的频率!587Hz,的一倍(中音RE的频率!587Hz,刚好是低音RE频率!294 Hz,的一倍。
节拍;节拍是让音乐具有旋律!固定的律动,(而且可以调节各个音的快满度。
“节拍”,即Beat(简单说就是打拍子(就像我们听音乐不自主的随之拍手或跺脚。
若1拍实0.5s(则1/4 拍为0.125s。
至于1拍多少s(并没有严格规定(就像人的心跳一样(大部分人的心跳是每分钟72下(有些人快一点(有些人慢一点(只要听的悦耳就好。
音持续时间的长短即时值(一般用拍数表示。
休止符表示暂停发音。
,1,控制发声频率要产生音频脉冲(只要算出某一音频的周期!1/频率,(然后将此周期除以2(即为半周期的时间。
利用定时器计时这半个周期时间(每当计时到
后就将输出脉冲的I/O反相(然后重复计时此半周期时间再对I/O反相(就可在I/O脚上得到此频率的脉冲。
利用
STC89C52RC的内部定时器使其工作在计数器模式MODE1下(改变计数值TH0及TL0从而产生不同频率。
此外结束符和休止符可以分别用代码00H和FFH来表示(若查表结果为0x00(则表示曲子终了,若查表结果为0xff(则产生相应的停顿效果。
以标准音高A为例(A的频率是440Hz(周期
T=1/440=2272us。
在占空比为50%的情况下(导通时间=断开时间=半周期t=2272us/2=1136us(利用P3^4端口的位操作(经过不断地反相变换即可得到标准音高A的音频脉冲。
端口导通时间与断开时的时间利用定时器实现。
具体的方法是将单片机定时器的中断触发时间设为半周期t(这样每隔半周期端口反相(输出连续的对应音高的频率。
设晶振的频率为f0(中断触发时间!半周期,为t(定时器工作在模式1时计数器的初值为THL(高8位为THL(低8位为TL。
时钟周期即为1/f0(定时器每一次累加用去一个机器周期(一个机器周期包含12个时钟周期(即定时器每次加一所用时间是12/f0。
定时器在模式1下计时采用16位数(最大计数为2^16-1!65535,(再次加一!65536,溢出触发中断。
根据以上分析可得如下关系;音频对应定时器初值的高8位
TH=THL/(2^8)=(65536-t*f/12)/256; 音频对应定时器初
值的低8位TL=THL%(2^8)=(65536-t*f/12)%256; 4/12页
-西安科技大学- 附;八度12音阶定时器初值表!只含自然音,低音音频率Hz 晶振晶振中音音频率Hz 晶振晶振高音音频率Hz 晶振晶振12MHz 11.059212MHz 11.059212MHz 11.0592名名名MHz MHz MHz Do 262 0xF885 0xF91B Do 523 0xFC43 0xFC8E Do 1046 0xFE21 0xFE47 Re 294 0xF95A 0xF9DF Re 587 0xFCAD 0xFCED Re 1175 0xFE56 0xFE76 Mi 330 0xFA13 0xFA8A Mi 659 0xFD0A 0xFD43 Mi 1318 0xFE85 0xFEA1 Fa 349 0xFA68 0xFAD8 Fa 698 0xFD34 0xFD6A Fa 1397 0xFE9A 0xFEC7 So 392 0xFB04 0xFB68 So 784 0xFD82 0xFDB3 So 1568 0xFEC1 0xFED9 La 440 0xFB90 0xFBE9 La 880 0xFDC8 0xFDF3 La 1760
0xFEE4 0xFEF9 Si 494 0xFC0C 0xFC5B Si 988 0xFE06
0xFE2D Si 1976 0xFF03 0xFF16 2,控制发声节拍
每个音符的节拍可通过延时一定的时间来实现(在具体实现时需要有一个基本的带参延时程序(用于主函数根据不同的音符调用不同的时延。
若以十六分之一音符的时长为基本延时时间(则十六分音符只需调用一次延时程序(八分音符则需调用两次延时程序(以此类推。
3,简谱及其编码*简谱知识音阶C D E F G A B 唱名
do re mi fa so la si 数字1 2 3 4 5 6 7 1音符? 音符用数字1至7表示。
这7个数字就等于大调的自然音阶。
如果是C大调(加上音名(就会是这样;2八度?
如果是高一个八度(就会在数字上方加上一点。
如果是低一个八度( 就会数字下方加上一点。
在中间的那一个八度就什么也不用加。
如果要再高一个八度(就在上方垂直加上两点(如;),要再低一个八度(就在下方垂直加上两点(如;)(如此类推。
见下表所示;大调... ...
5/12页。