基于单片机的音乐演奏电路的设计与制作

合集下载

基于单片机音乐演奏系统设计毕业设计

基于单片机音乐演奏系统设计毕业设计

摘要如今,单片机控制音乐播放的例子不胜枚举,音乐演奏系统也广泛的应用,而利用单片机存储音乐,控制播放,弹奏乐曲更为广泛。

它有功能多﹑价格优﹑外围电路简单的特点,不仅很受音乐爱好者及音乐芯片制造商的热衷,而且是一般家庭都能承受得了的经济投入范围之内。

利用单片机发声键盘操作直观简单。

对于初学者来说,是很容易弹奏的。

本设计为基于单片机的音乐演奏系统,设计出一种不仅要使单片机可以播放音乐关键在于还有能够弹奏自己想弹奏的音乐。

本文设计出一种基于STC89C52的简单音乐演奏系统,利用单片机技术、LM386音频功放芯片、4x4键盘、SPEAKER、以及74HC595和LED数码管实现原理图设计到电路板设计开发,并用C51高级语言进行键盘识别程序设计和音频脉冲输出程序的设计。

最终能够实现乐曲演奏和自动播放音乐,并且可以通过LED数码管显示音符和音调的高低。

关键词:STC89C52;音频脉冲;键盘识别;播放音乐AbstractAt present, the examples of microcontroller control music playback is too numerous to enumerate, at the same time,the music performance system is also widely used, make the best use of microcontroller which can store music, control playback, playing music.The advantage of the music performance system contains multiple functions,excellent price,simple peripheral circuit.The features of the music performance system not only popular with music lovers and music chip manufacturers, but also accepted by general family for it price.The keyboard operation is simple under the use of microcontroller.It is easy for beginner to play. The design of music performance system based on microcontroller, it can not only play music but also play the music which we want to.This paper designs a simple music system which is based on STC89C52 which make full use of microcontroller technology, the LM386 audio amplifier chip, 4x4 keyboard, SPEAKER, 74HC595 and LED digital tube.It realizes from schematic design to circuit board design and development, and use C language accomplish keyboard identify program design and audio pulse output program design. Finally the design realizes the music play and auto play music,it can display the high or low of notes and tone through the LED digital tube .Key words: STC89C52; audio pulse; keyboard; play the music目录1 绪论 (1)2 设计概述 (3)2.1主要器件的概述 (3)2.2 设计思想 (3)2.3 功能说明 (3)2.4 电路图说明 (4)3 单片机的介绍 (6)3.1 单片机简介 (6)3.2 单片机的发展 (7)3.3 单片机内部结构 (7)3.4 引脚电路连接及说明 (10)3.5 引脚结合电路的说明 (11)3.6 89C51的展望 (12)3.7 STC89C52与AT89C51的区别 (12)4 硬件电路设计 (13)4.1 单片机的最小系统 (13)4.1.1电源电路 (13)4.1.2 时钟电路 (14)4.1.3 复位电路 (15)4.2 音频功放电路设计 (16)4.2.1 LM386音频功放芯片介绍 (16)4.2.2 LM386引脚图 (16)4.2.3 LM386内部结构 (17)4.2.4音频处理模块电路原理图 (18)4.3 控制电路 (18)4.3.1键盘接口电路 (18)4.3.2 识别按键的方法 (19)4.4 显示电路 (21)4.4.1 74HC595串入并出移位寄存器 (21)4.4.2 LED8段数码管 (22)4.4.3 显示电路 (23)5 系统软件设计 (25)5.1 软件开发环境 (25)5.1.1 keil uvision介绍 (25)5.1.2 keil uvision的功能特点 (25)5.2 流程图 (26)5.3 扬声器发声原理 (27)5.3.1 单片机产生不同频率脉冲信号的原理 (27)5.3.2 单片机产生不同音调的程序设计 (28)5.4 键盘矩阵的设计 (29)5.5 键盘矩阵与不同频率音调发声的结合 (31)5.6 音乐自动演奏和音乐弹奏的转换 (32)5.7 数码管显示程序设计 (32)5.7.1 数码管显示程序设计 (32)5.7.2 数码管数据发送的程序设计 (33)5.7.3 数码管所需要发送的数据程序设计 (33)5.8 音乐自动演奏程序设计 (34)5.8.1 音乐代码库的建立方法 (34)5.8.2 选曲 (34)5.8.3音符的节拍 (35)5.8.4 音乐演奏的程序设计 (35)结论 (38)致谢 (39)参考文献 (40)附录A 英文原文 (41)附录B 汉语翻译 (46)附录C 程序 (50)附录D 原理图 (59)1 绪论现如今,单片机控制音乐播放的例子不胜枚举,音乐演奏系统也广泛的应用,而利用单片机存储音乐,控制播放最为广泛。

基于单片机的音乐发声器的设计(完整版,含程序和电路图)

基于单片机的音乐发声器的设计(完整版,含程序和电路图)

电子技能课程设计报告书课题名称 音乐发生器的设计姓 名 学 号 091250241 院 系 通信与电子工程学院 专 业 电子科学与技术指导教师2012年 6 月4日※※※※※※※※※ ※※ ※※ ※※ ※※※※※※※※※2009级学生电子技能课程设计一、设计任务及要求:本设计采用AT89C51制作简单音乐发生器,通过开关1控制蜂鸣器播放设计的音乐程序,再次按下开关1可切换歌曲,共两首歌曲。

通过开关2控制电路进入花样灯模式,再次按下开关2可切换LED灯闪烁样式,共三种闪烁样式指导教师签名:2012年 6 月 4 日二、指导教师评语:指导教师签名:2012年 6 月4 日三、成绩验收盖章2012年 6 月4 日目录音乐发生器的设计 (1)1 设计目的 (1)2 设计的主要内容和要求 (1)3 整体设计方案 (1)4 硬件电路的设计 (2)4.1 系统总电路及信号流程 (3)4.2 LED显示电路的设计 (3)4.3 时钟振荡电路的设计 (3)5 软件设计 (3)5.1音调、节拍以及编码的确定 (3)5.2 主要程序设计 (4)6 系统仿真 (6)6.1 系统仿真环境及参数设置 (6)6.2系统仿真结果及其分析 (7)6.2.1系统仿真图 (7)6.2.2 花样灯3种花样图 (7)7 使用说明 (9)8 设计总结 (9)参考文献 (10)附件A (11)音乐发生器的设计李熙(湖南城市学院通信与电子工程学院电子科学与技术专业,益阳,413000)1 设计目的本设计是以AT89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。

用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。

对于不同型号的单片机只需要相应的改变一下地址即可。

该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。

基于51单片机的简易音乐播放器

基于51单片机的简易音乐播放器

基于单片机的电子琴课程设计一:课程目的以及要求用51单片机作为主控电路设计一个电子琴,实现能通过切换不同的键盘按键来切换歌曲。

二:课程设计背景:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。

它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。

本文的主要容是用STC89C52单片机为核心控制元件,设计一个电子琴。

以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块。

本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。

利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。

并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。

三:系统硬件设计3.1系统框图3.2 51单片机产生音符原理MCS-5l单片机有两个定时器/计数器。

系统使用定时器/计数器0产生方波。

定时器/计数器l刖用于记录音符的时长,即按键持续的时问。

定时器/计数器0的工作方式是l,即为16位定时器/计数器。

16位定时器/计数器被赋予一个初值,并开始记数。

当记数溢出,产生中断后,中断服务程序将与蜂鸣器连接的引脚电平置反,并且对定时器/计数器再赋初值,重新开始记效。

之后产生中断,引脚电平再被置反,如此周而复始,在引脚上就能产生一个频率与定时初值有关的方波信号。

而定时初值与音符频率有关,相应频率的确定,可参照12平均律,相邻两个半音A和B的频率之间的关系为:A=B√12[1]。

定时器/计数器l的作用为记录音符的时长,工作方式为l,即16位定时器/计数器。

在12MHZ的晶体振荡器F,单片机的机器周期为l“S。

本系统中,定时器/计数器l以10ms的时长为l定时单位,记录音符持续了多少个定时单位,如此,使用一个unmgnedchar型变量既可以记录2.55s的时长,这在用于记录一般弹奏的音符时是足够的。

基于80C51单片机的音乐演奏器设计

基于80C51单片机的音乐演奏器设计

单片机课程设计报告音乐演奏器姓名:学号:专业:基于80C51单片机的音乐演奏器设计设计原因:随着科技的进步,各种高科技玩具应运而生,各种智能玩具层出不穷。

如果给玩具添加更多功能,那么,此种玩具就具有更强的竞争力。

故此,给玩具添加音乐演奏功能不失为良策。

此外,音乐演奏器还可以应用于多种领域,比如可应用于门铃、闹铃等各种系统。

总之,音乐演奏器有广泛的用途,且具有很强的生命力。

用单片机来实现音乐演奏的功能,既简单轻便,又易于实现,并且成本比古典乐器低廉许多。

最重要的是,基于单片机控制的音乐演奏器能发出一般乐器难以实现的音效。

在网上搜各种曲谱均可以用单片机来实现其音效。

系统工作过程:音乐演奏器的主体由单片机构成,通过控制定时器时间的不同可以产生不同频率的方波,用于驱动喇叭发出不同的音符,再利用延时来控制发音时间的长短,即可控制节拍,把乐谱中的音符和相应的节拍变换成时常数和延迟常数,做成数据表格存放在存储器中。

由程序查表得到定时常数和延迟常数,分别用以控制定时器产生方波的频率和发出该方波的持续时间。

当延迟时间到时,再查下一个音符的定时常数好延迟常数,依次进行下去。

利用定时器T1以方式1工作,产生各音符对应频率的方波,由P1.0输出驱动喇叭发音。

节拍控制通过改变调用延时子程序D200(延时200ms)的次数来实现,以每拍800ms为例,一拍需循环调用D200延时子程序4次,同理,半拍就需要调用两次,设晶振频率为6Mhz,乐曲中的音符、频率、定时常数的关系可以参照有关表格。

系统硬件组成:1、89C51单片机一个2、晶振6MHz立式一个。

3、起振电容30pF瓷片电容2个4、复位电容22uF 16V电解电容1个5、电阻100欧、1K欧、4.7K欧各一个6、三极管9012一个7、蜂鸣器8欧一个8、DIP封装插座40脚集成插座一个9、万能版150*90一个流程图如下:电路原理图:主程序为:ORG 0000HLJMP STARTORG 001BHMOV TH1,R1MOV TL1,R0CPL P1.0RETIORG 0100HSTART:MOV TMOD,#10HMOV IE,88HMOV DPTR,#TABLOOP:CLR AMOVC A,@A+DPTRMOV R1,AINC DPTRCLR AMOVC A,@A+DPTRMOV R0,AORL A,R1JZ NEXT0MOV A,R0ANL A,R1CJNE A,#0FFH,NEXTSJMP STARTNEXT:MOV TH1,R1MOV TL1,R0SETB TR1SJMP NEXT1NEXT0:CLR TR1NEXT1:CLR AINC DPTRMOVC A,@A+DPTRMOV R2,ALOOP1:LCALL D200DJNZ R2,LOOP1INC DPTRAJMP LOOPD200:MOV R4,#81HD200B:MOV A,#0FFHD200A:DEC AJNZ D200ADEC R4CJNE R4,#00H,D200BRETTAB:DB 0FEH,25H,02H,0FEH,25H,02H,0FEH,25H,04H DB 0FDH,80H,04H,0FEH,84H,02H,0FEH,84H,02HDB 0FEH,84H,04H,0FEH,25H,04H,0FEH,25H,02HDB 0FEH,84H,02H,0FEH,0C0H,04H,0FEH,0C0H,04HDB 0FEH,98H,02H,0FEH,84H,02H,0FEH,57H,04HDB 00H,00H,04H,0FFH,0FFHEND●结果与结论:●设计此程序需要掌握89C51单片机中断和定时器的综合应用;还要学习中断和定时器的编程方法及单片机全系统调试的过程及方法。

单片机歌曲演奏的设计

单片机歌曲演奏的设计

摘要本文是应用STC89C52单片机来设计硬件电路,以此控制音乐的产生播放。

并利用C 语言进行程序设计。

通过控制单片机内部的定时器来产生不同频率的方波,驱动蜂鸣器发出不同音调,再利用延迟来控制发音时间的长短,以此来表示不同音阶的变化。

蜂鸣器借助这种变化来产生音乐。

本设计是8051芯片的电路为基础,外部加上功率放大器、放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出设定的音乐。

利用琴键控制定时器的开中断和闭中断,即实现发音和闭音。

在此期间再通过对定时器的定时时间进行控制来产生不同频率的方波,驱动蜂鸣器发出不同音阶的声音。

该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大单片机和音乐爱好者提供了很好的借鉴。

关键词:单片机;音乐;C语言;蜂鸣器AbstractThis paper is the application of STC89C52 microcontroller to design the hardware circuit to control the generation of music playing by using C language program design. Through the control of the single chip microcomputer timer to produce different inside the frequency of square wave, drive speaker tones, and then delay to control the pronunciation of the length of time, so as to indicate different scales of change. This change through the buzzer to generate program of musicThis design is 8051 chips based circuit, external plus power amplifier and let the sound equipment, so as to realize the music playing hardware circuit, through the software program to control of the single chip microcomputer timer internal play a set of music. Using the keys of the timer control open interrupt and closed interrupt, pronunciation and closed sound is implemented. In this period again through the timing of timer control time to produce different frequency of square wave, drive out the sound of different scales buzzer.The software and hardware system has a good generality and high practical value for the single-chip microcomputer and music lovers to provide a good reference.Keywords:AT89S51 SCM; music;C language program; buzzer目录摘要 (I)Abstract (II)绪论 (1)1概述 (1)1.1单片机的产生和发展 (2)1.1.1什么是单片机 (2)1.2单片机的发展史及发展趋势 (2)1.3单片机的特点及应用 (3)1.3.2单片机的特点 (3)1.3.3单片机的应用 (3)2 STC89C52单片机的结构与原理 (4)2.1 STC89C52内部组成结构 (4)2.2 STC89C52引脚组成 (5)2.3 STC89C52硬件组成 (5)2.3.1 引脚功能部件和特性 (5)2.3.2 芯片简介 (6)2.3.3 引脚功能 (6)2.3.4 单片机工作的最小化配置 (8)2.4 STC89C52中断系统 (10)2.4.1 中断的概念 (10)2.4.2 STC89C52中断系统 (11)2.4.3 中断响应过程 (16)3 系统设计总体方案 (16)3.1 设计应用系统时应考虑的问题 (17)3.2 设计使用芯片STC89C52介绍 (17)4 单片机音乐演奏控制器的软硬件设计 (19)4.1 单片机产生音调的基础知识 (19)4.2 硬件电路 (19)4.3 程序设计与调试 (20)4.3.1 程序设计框图 (20)4.3.2. 程序设计的程序清单 (20)5 论文总结 (27)参考文献 (28)附录1 (29)硬件电路 (28)附录2 (29)硬件电路原理图.......................................................................................................,, (29)致谢 (30)绪论近年来,科学技术得到了前所未有的提高,可以说,在过去的100年里的发明创造大于之前人类已经取得的发明总和。

基于51单片机的音乐盒的设计与实现

基于51单片机的音乐盒的设计与实现

沈阳航空航天大学课程设计报告课程设计名称:单片机系统综合课程设计课程设计题目:基于51单片机的音乐盒的设计与实现目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (1)1.3实验环境 (2)第2章详细设计方案 (3)2.1硬件电路设计 (3)2.2主程序设计 (6)2.3功能模块的设计与实现 (7)第3章结果测试及分析 (10)3.1结果测试 (10)3.2结果分析 (10)参考文献 (11)附录1:元件清单 (12)附录2:总电路图 (13)附录3:程序代码 (14)第1章总体设计方案1.1设计原理电子音乐已广泛地应用于社会生活的各个领域。

其类型从音乐卡片到CD、MP3 等多种多样,制作原理也各不相同。

声音是通过振动产生的。

单片机对某一I/O 引脚以一定的频率循环置1和清0,这一引脚便产生一定频率的方波,该方波通过放大后作用于扬声器便产生一定频率的声音。

若改变输出方波的频率,产生的声音也就改变了。

通过控制输出方波的时间长短,声音的长短也就得到控制。

因此,根据乐谱,单片机就可产生电子音乐。

音乐中最关键的两个要素是音符和节拍。

单片机控制的音乐发生器系统由硬件电路和软件两部分构成。

利用单片机控制的电子音乐发生器软硬件上具有独特的优点,系统的开发周期短,成本低,电路制作容易。

更换歌曲时,硬件电路无需作任何修改,只需修改软件即可实现。

软件编程时,可用51系列单片机的汇编语言。

同时还可根据个人的习好通过软件改变节拍的延时时间,增加电子音乐的趣味性。

1.2 设计思路采用汇编语言程序设计的方法结合硬件电路设计方法,利用Lab6000实验箱上已有芯片来实现音乐盒的各项功能。

1)提出方案利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相就可在I/O脚上得到此频率的脉冲。

当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。

基于单片机的音乐播放器的设计

基于单片机的音乐播放器的设计

引言对于我们电子信息工程专业而言,《单片机原理与应用》是一门实用性很强的课程!在该课程的学习过程中!让我们最感兴趣的就是自己动手设计单片机控制系统。

但是,要将单片机的硬件知识与软件知识融会贯通,设计出实用的系统却是让我们颇感困难的环节。

许多同学对此感到无从下手。

其实,对于单片机应用系统的设计还是有章可循的。

单片机多用于实时工业控制、通信设备和智能仪表中。

但在某些方面,如有些教学实验中,加进一些音乐,一定会趣味横生。

本文介绍了笔者利用AT89C52型单片机和LM386型音频功率放大器构成了自动音乐播放器。

设计音乐的思想是,选一个输出位,如P1。

0端让其按音乐的变化节奏产生音频脉冲。

要产生音频脉冲,就要算出某一音频的周期(1/频率),将此周期除以2,即半周期的时间,然后利用单片机计时器计此半周期的时间。

每当计时到后就将输出脉冲的P1。

0位反相,然后重复计此半周期时间再对P1。

0反相,如此就可以在口端得到此频率的脉冲。

计数器工作在模式MODE1下,改变计数值TH0及TL0以产生不同的音频声响。

据网络调查公司Jupiter Media Metrix的统计数据显示:使用音乐播放器(不论是离线播放器还是网络播放器)的家庭用户从2000年1月的3320万猛增到2001年1月的4170万。

在工作中使用音乐播放器的专业用户数量也较去年同期上升了34.9%,从2000年1月的1160万增加到2001年1月的1570万。

以单片机为基础的本设计成本低,效果好,值得推广。

而如车载音乐播放器、能够播放流式音乐的播放器更是我们要深入的领域。

第1章绪论本设计系统是基于单片机的音乐播放器的设计,具有一定的实际意义。

因此在设计过程中,设计的系统应该考虑到播放器便捷性和稳定性,使设计的系统能够使人们的生活更加丰富多彩。

系统的设计是先是通过第2章,方案的论证,确定系统的元器件。

第3章,硬件电路的设计,硬件的设计是通过元器件的功能和使用方法进行的。

基于51单片机的音乐播放器制作讲解

基于51单片机的音乐播放器制作讲解
The course design of the music player is the combination of software and hardware,Different notes in the music, the essence is different frequency of sound. Through the single-chip microcomputer produce different frequency of the pulse signal, amplified circuit, released by a buzzer to produce the harmonious beauty of music.according to each octave frequency calculate timer time constant, according to beat the the duration of the scale are given, finally realizes the play simple songs function. For example "There is only a good mother". Keywords: MCU,music player, Syllable frequency
II
目录Βιβλιοθήκη 目录第 1 章 引言................................................................................................................. 1 1.1 选题背景 ................................................................................................................... 1 1.2 设计原理 ................................................................................................................... 1 1.3 单片机简介 ............................................................................................................... 2 1.4 单片机的发展历史 ................................................................................................... 2 1.5 单片机的应用领域及发展趋势 ............................................................................... 2 第 2 章 方案论证......................................................................................................... 5 2.1 设计要求 ................................................................................................................... 5 2.2 系统描述 ................................................................................................................... 5 2.3 设计方案 ................................................................................................................... 6 2.3.1 集成电路 ................................................................................................................ 6 2.3.2 单片机最小系统 .................................................................................................. 10 2.3.3 结论 ...................................................................................................................... 12 第 3 章 硬件设计....................................................................................................... 13 3.1 硬件结构 ................................................................................................................. 13 3.2 中心控制模块 ......................................................................................................... 13 3.3 电源模块 ................................................................................................................. 16 3.4 控制电路 ................................................................................................................. 17 3.5 复位电路 ................................................................................................................. 17 3.6 电路设计所需要的器件 ......................................................................................... 19 第 4 章 软件设计....................................................................................................... 20 4.1 音乐发声设计原理 ................................................................................................. 20 4.1.1 发声原理 .............................................................................................................. 20 4.1.2 单片机产生不同频率脉冲信号的原理 .............................................................. 20 4.1.3 键控子程序 .......................................................................................................... 23 4.1.4 播放/暂停子程序 ................................................................................................. 24 4.1.5 曲目选择子程序 .................................................................................................. 24 4.2 音乐播放程序设计 ................................................................................................. 25
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录引言 (1)1 单片机演奏音乐的原理 (1)2 电路相关器件 (3)2.1 AT89C51 (3)2.2 LM386 (4)3 电路设计 (4)3.1 主体电路设计 (5)3.2 电源电路设计 (5)3.3 音频放大模块设计 (5)4 电路板的制作 (6)5 程序设计 (6)5.1 程序设计内容 (6)5.2 程序流程图 (7)5.3 具体程序 (8)6硬件电路及程序的调试 (15)7成品展示 (15)结束语 (16)参考文献 (16)英文翻译.......................................... (错误!未定义书签。

) 致谢.............................................. (错误!未定义书签。

)基于单片机的音乐演奏电路的设计与制作摘要:单片机具有体积小、重量轻、开发灵活、性价比高等优点,广泛应用于自动化控制、家用电器、智能玩具等领域。

本文以单片机AT89C51为控制核心,设计并制作了可以连续播放六首乐曲的音乐演奏电路。

这种简单的音乐播放电路可以加装在一些儿童玩具内部,使其成为可以发声的智能玩具,具有实际的推广应用价值。

关键词:单片机 ;汇编语言 ;LM386 ;音乐演奏 引言单片机具有体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较容易等优点。

所以,自自问世以来,倍受关注,应用很广,发展很快。

利用单片机发声的基本原理,本文设计并制作了一款能够顺序播放6首乐曲的音乐播放电路,该电路可以加装在儿童玩具中,使其成为智能化玩具。

1 单片机演奏音乐的原理要单片机(AT89C51)产生音频脉冲,就要计算出音频的周期,然后用计数器定时1/2此周期,每当计时到后就将输出脉冲的I/O 管脚反相,然后重复计时此半周期再对I/O 管脚反相,就可在此I/O 管脚得到此频率的脉冲。

用单片机内部定时器/计数器计数,使其工作于定时器模式,要得到不同频率的音频信号,只要改变其计数初值即可。

计数脉冲值与频率的关系公式如下:r i F F N ÷÷=2 N :计数值;F i :内部计时一次为1s,故其频率为1MHz ; F r :要产生的频率;其T 值的求法如下:r i F F N T ÷÷-=-=26553665536]1[。

表1.1 C 调各音符频率与计数值N 的对照表每个音符使用一个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,表1.2为节拍与节拍码的对照。

如果1拍为0.4秒,则1/4拍为0.1秒,只要设定延迟时间就可求得节拍的时间。

假设1/4拍为1DELAY,则1拍为4DELAY,依次类推。

所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如表1.3为1/4和1/8节拍的时间设定]2[。

表1.2 节拍数与节拍码的对照表1.3各调1/4节拍和1/8节拍的时间设定表1.4歌曲简谱对应的码值、T值简谱音符简谱码T值简谱音符简谱码T值低音SO 1 64260 6 中音LA 9 64968低音LA 2 64400 7 中音TI A 65030低音TI 3 64524.1高音DO B 650581 中音DO 4 64580.2高音RE C 651102 中音RE 5 64684.3高音MI D 651573 中音MI 6 64777.4高音FA E 651704 中音FA 7 64280.5高音SO F 652175 中音SO 8 64898 不发音02 电路相关器件2.1 AT89C51AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51管脚说明]3[(图2.1):电源引脚:VCC :接+5V电源 GND :接地时钟引脚:2个时钟引脚XTAL1、XTAL2外接晶体与片内的反向放大器构成1个振荡器,它为单片机提供了时钟控制信号。

2个时钟引脚也可外接独立的晶体振荡器。

I/O口引脚:图2.1P0口:双向8位三态I/O 口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS 型TTL 负载。

P1、P2、P3口是3个8位准双向的I/O 口,各口线在片内均有固定的上拉电阻。

可驱动4个LS 型TTL 负载。

P3口也可作为AT89C51的一些特殊功能口:P3.0 RXD (串行输入口) P3.1 TXD (串行输出口) P3.20INT (外部中断0) P3.31INT (外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6WR (外部数据存储器写选通) P3.7RD (外部数据存储器读选通) 控制引脚]4[:RST :复位输入,当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。

PROG ALE /:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。

在FLASH 编程期间,此引脚用于输入编程脉冲。

在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

PSEN :外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。

但在访问外部数据存储器时,这两次有效的PSEN 信号将不出现。

EA /VPP :当EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH ),不管是否有内部程序存储器。

注意加密方式1时,EA 将内部锁定为RESET ;当EA 端保持高电平时,此间内部程序存储器。

在FLASH 编程期间,此引脚也用于施加12V 编程电压(VPP )。

2.2 LM386LM386具有增益高、功耗小,输入电压范围为4V ~12V ,无作动时仅消耗4mA 电流,且失真低的特点,是专为低损耗电源所设计的功率放大器集它的内部增益为20,通过第1引脚和第8引 图2.2脚脚位间电容的搭配,增益最高可达200。

LM386的引脚排列如图2.2所示]5[: 3 电路设计3.1 主体电路设计音乐演奏电路的主体电路设计如图3.1所示:图3.13.2 电源电路设计该电路由电源插座输入220V的电压,经变压器降压为9V的交流电,接着经整流桥和稳压7805的调整输出为5V的电压。

AT89C51的电源电压为5V,电源电路原理图如图3.2所示]6[:图3.23.3 音频放大模块设计该音频放大模块采用LM386芯片作为音频的功率放大,音频信号由“SPK—IN”第3端口输入,由“SPK—OUT”第5端口输出送至喇叭。

原理图如图3.3]7[:图3.34 电路板的制作Protel99SE是设计电路和制作电路板常用软件,它简单实用,提供多种元器件,想要做出一个正确的PCB板必须熟练掌握Protel99SE的使用方法]8[。

PCB板制作的一般步骤:1)绘制电路原理图;2)对器件的封装进行逐一定义;3)PCB板图设计,进行合理布线;4)转印;5)腐蚀、漂洗;6)元件的焊接、组装;7)进行电路调试,排除硬件电路故障]9[。

5 程序设计5.1 程序设计内容单片机P3.4接一按键,作为控制音乐演奏播放的开关,每按一次,歌曲就改变。

按完6次,再重复循环。

6首歌分别如下:C调3/4 生日快乐祝你生日快乐祝你生日快乐我们高声歌唱祝你生日快乐D调4/4 哈巴狗F C C C一只哈巴狗,坐在大门口,眼睛黑幽幽,想吃肉骨头F C G7 C一只哈巴狗,吃完肉骨头,尾巴摇一摇,向我点点头D调4/4 D 不到翁说你呆,你不呆,胡子一把样子像小孩说你呆,你不呆,推你倒下你又站起来C调4/4 妹妹背着洋娃娃C G7 C C F G7妹妹背着洋娃娃走到花园来看书Am C Dm G7 C娃娃哭了叫妈妈树上小鸟笑哈哈E调4/4 两只老虎两只老虎两只老虎跑得快跑得快一只没有耳朵一只没有尾巴真奇怪真奇怪Bb调4/4 三只小猫Bb Eb Bb Eb三只小猫小,三只小猫小,一边唱,一边走,两只小猫小,两只小猫小,一边唱,一边走,Bb Eb Eb F7 Eb一只猫到洞里去,现在只剩两只猫。

一只爬到树上去,现在只剩一只猫。

5.2 程序流程图音乐演奏电路的程序设计流程图如5.1所示]10[。

图5.15.3 具体程序ORG 00H ;主程序起始地址JMP START ;跳至主程序ORG 0BH ;TIMER0中断起始地址JMP TIM0 ;跳至TIMER0中断子程序START: MOV TMOD,#00000001B ;设TIMER0在MODE1MOV IE,#10000010B ;中断使能JB P3.4,$ ;第一次按T0?CALL DELAY1 ;消除抖动JNB P3.4,$ ;T0放开?MOV 31H,#00 ;按T0次数计数指针初值为00H START0:MOV 30H,#LOW SONG ;取简谱码指针(第1首)NEXT: MOV A,30HMOV DPTR,#TABLEMOVC A,@A+DPTR ;至相关页取码,高4位为音符的高低MOV R2,A ;低4位为音符的节拍JZ END0 ;检查简谱码是否已结束(有无00?)ANL A,#0FH ;取节拍(低4位)MOV R5,A ;存入R5,节拍的时间MOV A,R2SWAP AANL A,#0FH ;取音频值(高4位)JNZ SING ;是否为0,是0则不发音CLR TR0JMP D1SING: DEC A ;因0不列入MOV 22H,A ;存入(22H)RL A ;乘2MOV DPTR,#TABLEMOVC A,@A+DPTR ;至TABLE取码,取T的值MOV TH0,A ;取到的高位字节存入TH0MOV 21H,A ;取到的高位字节存入(21H)MOV A,22H ;再载入取到的音符码RL A ;乘2INC A ;加1MOVC A,@A+DPTR ;至TABLE取相对的低位字节计数值MOV TL0,A ;取到的低位字节存入TL0MOV 20H,A ;取到的低位字节存入(20H)SETB TR0 ;启动TIMER0D1: CALL DELAYINC 30H ;取简谱码指针加1JMP NEXTEND0: CLR TR0 ;停止计数器MOV A,31H ;载入计次指针XRL A,#00H ;是否按第1次?JNZ END1 ;不是则跳至END1JB P3.4,$ ;按第2次?CALL DELAY1 ;消除抖动JNB P3.4,$ ;放开否?INC 31H ;计次地址(31H)加1MOV 30H,#LOW SONG1 ;第2首歌指针JMP NEXTEND1:MOV A,31H ;载入计次指针XRL A,#01H ;是否按第2次?JNZ END2 ;不是则跳至END2JB P3.4,$ ;按第3次?CALL DELAY1 ;消除抖动JNB P3.4,$ ;放开否?INC 31H ;计次地址(31H)加1MOV 30H,#LOW SONG2 ;第3首歌指针JMP NEXTEND2:MOV A,31H ;载入计次指针XRL A,#02H ;是否按第3次?JNZ END3 ;不是则跳至END3JB P3.4,$ ;按第4次?CALL DELAY1 ;消除抖动JNB P3.4,$ ;放开否?INC 31H ;计次地址(31H)加1MOV 30H,#LOW SONG3 ;第4首歌指针JMP NEXTEND3:MOV A,31H ;载入计次指针XRL A,#03H ;是否按第4次?JNZ END4 ;不是则跳至END4JB P3.4,$ ;按第5次?CALL DELAY1 ;消除抖动JNB P3.4,$ ;放开否?INC 31H ;计次地址(31H)加1MOV 30H,#LOW SONG4 ;第5首歌指针JMP NEXTEND4:MOV A,31H ;载入计次指针XRL A,#04H ;是否按第5次?JNZ END5 ;不是则跳至END5JB P3.4,$ ;按第6次?CALL DELAY1 ;消除抖动JNB P3.4,$ ;放开否?INC 31H ;计次地址(31H)加1MOV 30H,#LOW SONG5 ;第6首歌指针JMP NEXTEND5:JMP START ;回到第1次位置TIM0: PUSH ACC ;将A的值暂存于堆栈PUSH PSW ;将PSW的值暂存于堆栈SETB RS0 ;设工作寄存库1,RS0=1,RS1=0CLR RS1MOV TL0,20H ;重设计数值MOV TH0,21HCPL P1.0 ;将P1.0位反相POP PSW ;至堆栈取回PSW的值POP ACC ;至堆栈取回A的值RETI ;返回主程序DELAY: MOV R7,#02 ;125毫秒D2: MOV R4,#125D3: MOV R3,#248 DJNZ R3,$DJNZ R4,D3DJNZ R7,D2DJNZ R5, DELAY ;决定节拍RETDELAY1:MOV R4,#20D4: MOV R3,#248DJNZ R3,$DJNZ R4,D4RETORG 300HTABLE:DW 64260,64400,64524,64580DW 64684,64777,64820,64898DW 64968,65030,65058,65110DW 65157,65178,65217SONG: ;第1首歌哈巴狗;1DB 42H,42H,42H,52H,64H,04HDB 62H,62H,62H,72H,84H,04HDB 92H,92H,82H,72H,64H,04HDB 82H,82H,52H,62H,44H,04H;2DB 42H,42H,42H,52H,64H,04HDB 62H,62H,62H,72H,84H,04HDB 92H,92H,82H,72H,64H,04HDB 82H,82H,52H,62H,44H,04HDB 00HSONG1: ;第2首歌生日快乐;1DB 82H,01H,81H,94H,84HDB 0B4H,0A4H,04HDB 82H,01H,81H,94H,84HDB 0C4H,0B4H,04H;2DB 82H,01H,81H,0F4H,0D4HDB 0B4H,0A4H,94HDB 0E2H,01H,0E1H,0D4H,0B4HDB 0C4H,0B4H,04HDB 00HSONG2: ;第3首歌不倒翁;1DB 84H,94H,88HDB 64H,54H,68HDB 84H,64H,54H,44HDB 62H,82H,42H,62H,58H;2DB 84H,94H,88HDB 64H,54H,68HDB 84H,64H,54H,44HDB 52H,42H,52H,62H,48HDB 00HSONG3: ;第4首歌妹妹背着洋娃娃;1DB 84H,02H,82H,64H,54HDB 64H,54H,48HDB 64H,02H,52H,44H,24HDB 14H,24H,18H;2DB 24H,02H,22H,42H,24HDB 44H,54H,68HDB 54H,02H,52H,84H,84HDB 54H,64H,48HDB 00HSONG4: ;第5首歌两只老虎;1DB 44H,54H,64H,44HDB 44H,54H,64H,44HDB 64H,74H,88HDB 64H,74H,88H;2DB 82H,92H,82H,72H,64H,44HDB 82H,92H,82H,72H,64H,44HDB 44H,84H,48HDB 44H,14H,48HDB 00HSONG5: ;第6首歌三只小猫;1DB 62H,82H,82H,62H,98HDB 92H,0B2H,0B2H,82H,98HDB 62H,82H,82H,52H,68HDB 92H,0B2H,0B2H,82H,98H;2DB 62H,82H,82H,62H,92H,92H,94HDB 92H,0B2H,0B2H,92H,84H,94HDB 0B8H,0B4H,04HDB 00HEND6硬件电路及程序的调试在调试的过程中所遇到的问题及解决方法:当电路第一次接通电源的瞬间,变压器闪出火花,发出一声“砰”的响声,实验供电回路电源关断。

相关文档
最新文档