单片机利用蜂鸣器演奏音乐_第1页
单片机利用蜂鸣器演奏音乐_第2页
单片机利用蜂鸣器演奏音乐_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验三利用蜂鸣器演奏音乐时间:2021.03.01创作:欧阳语一、实验目的1. 了解BlueSkyCSl单片机实验板中蜂鸣器的硬件电路2. 学会利用蜂鸣器实现音乐的演奏3. 掌握蜂鸣器实现音乐演奏的编程二实验硬件设计及电路1. BlueSkyC51单片机实验板2. 单片机最小系统3. 蜂鸣器电路连接三极管主要是做驱动用的。因为单片机的IO 口驱动能 力不够让蜂鸣器发出声音,所以我们通过三极管放大驱动电 流,从而可以让蜂鸣器发出声音,你要是输出高电平,三极 管导通,集电极电流通过蜂鸣器让蜂鸣器发出声音,当输出 低电平时,三极管截止,没有电流流过蜂鸣器,所以就不会 发出声音。三、实验原理1音调及节

2、拍用一个口,输出方波,这个方波输入进蜂鸣器就会产生 声音”通过控制方波的频率、时间”就能产生简单的音乐。一般说来,单片机演奏音乐基本都是单音频率z因此单片机 奏乐只需控制音调和节拍。(1) 音调的确定音调是由频率来确定的。通过单片机的定时器定时中断, 将单片机上对应蜂鸣器的I/O 口来回取反,从而让蜂鸣器发 出不同频率的声音。只需将走时器给以不同的定时值就可实 现。通过延时,即可发出所需要的频率。(2) 节拍的确定一拍的时长大约为400500ms侮个音符的时长通过 节拍来计算。详细见歸代码。2.软件设计相关(1) 头文件#in clude<reg51.h>#define uint

3、unsigned int#define uchar unsigned char#define ulong unsigned longsbit beep=PlA4; 蜂鸣器与P1.4口连接(2) 歌曲曲谱uchar code diaodata30= 音调代码0x10,0x0 巳 0x0c,0x10,0x0 巳 0x0c,0x10,0x0 巳 0x10,OxOcQxlO,0x15,0x13,0x10,0x13,0x15,0x15,0x13,0x15,0x13,0x10,0x06,0x00x08OxOe, 0x10, OxOe, OxOc, OxOe, 0x0 0;uchar code jiedat

4、a30=音长代码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,0x0(3,0x00;(3) 音阶表uchar code freq36*2=音阶码表0xf7z0xd8z /440hz , 1/00xf8z0x50z /466hz , 1#/I0xf8,0xbc, 494hz , 2/20xf9,0x26, 524hz z 2#/30xf9,0x85, /554hz

5、 , 3/40xf9z0xe5r /588hz , 4/50xfa0x3d, /622hz , 4#/60xfa/0x92/ /660hz , 5/7OxfaOxdd, 698hz , 5#/80xfb/0x29/ /740hz , 6/90xfb,0x70, /784hz , 6#/10OxfbQxbO, /830hz, 7/llOxfb,Oxet /880hz, 1/120xfc,0x29, 932hz z 1#/130xfc,0x62, /988hz f 2/140xfc,0x95z /1046h乙 2#/150xfc,0xc7, /1108h乙 3/16Oxfc,Oxf5, /1174

6、hzz 4/170xfd/0x20z /1244h乙 4#/180xfd/0x4c/ /1318h乙 5/190xfdz0x72z /1396h乙 5#/200xfd,0x97, /1480h乙 6/21OxfdQxbb, /1568h乙 6#/22OxfdQxdc, 1662h乙 7/23OxfdQxfb, /1769h乙 '1/240xfez0xl8z /1864h乙 '1#/25Oxf巳0x34, /1976h乙 '2/26Oxf巳0x4巳 2092h乙 '2#/27Oxf巳0x67, /2218h乙 '3/28Oxf巳0x7d, /2350h乙

7、'4/29Oxf巳0x94, /2488h乙 '4#/30Oxf巳Oxa& /2639h乙 '5/31Oxfe,Oxbc, /2794h乙 '5#/32Oxf巳Oxcf, /2960h乙 '6/33Oxfe.OxeO, /3136h乙 '6#/34Oxf巳Oxfl, /3322h乙 '7/35;(4) 音符发生程序(中断服务程序)void timerO() interrupt 1 用于产生音符的TO中断服务程 序THO=thO_f;TLO=tlO_f;beep=-beep; 取反beep引脚,发声三、实验过程及问题l.Keil开发

8、过程新建"Project",选择单片机为"AT89C52"新建c文件"music.c",并添加到工程中设置生成"HEX"文件,编译(4)将生成的” HEX文件烧录到单片机z检验不断修改完善2编译实验相关问题(1)实际发音颤音重解决方法为修改蜂鸣器的驱动频率(2)实际节奏过快或者过慢调整延时四、C51程序代码(部分来源于网络)#include<reg51.h>#define uint unsigned int#define uchar unsigned char#define ulong unsigned

9、 longsbit beep=PlA4; 蜂鸣器与P1.4口连接uchar thO_f; 中断装载TO高8位uchar tlO_f; T0低8位uchar code freq36*2=音阶码表0xf7z0xd8z /440hz , 1/00xf8z0x50z /466hz , 1#/I0xf8,0xbc, 494hz , 2/20xf9,0x26, 524hz z 2#/30xf9,0x85, /554hz , 3/40xf9z0xe5r /588hz , 4/50xfa0x3d, /622hz , 4#/60xfa/0x92/ /660hz , 5/7OxfaOxdd, 698hz , 5#

10、/80xfb/0x29/ /740hz , 6/90xfb,0x70, /784hz , 6#/10OxfbQxbO, /830hz, 7/llOxfb,Oxet /880hz, 1/120xfc,0x29, 932hz z 1#/130xfc,0x62, /988hz f 2/140xfc,0x95z /1046h乙 2#/150xfc,0xc7, /1108h乙 3/16Oxfc,Oxf5, /1174Hz, 4/170xfd/0x20z /1244h乙 4#/180xfd/0x4c/ /1318h乙 5/190xfdz0x72z /1396h乙 5#/200xfd,0x97, 1480h

11、乙 6/21OxfdQxbb, /1568h乙 6#/22OxfdQxdc, 1662h乙 7/23OxfdQxfb, /1769h乙 '1/240xfez0xl8z /1864h乙 '1#/25Oxf巳0x34, /1976h乙 '2/26Oxf巳0x4巳 2092h乙 '2#/27Oxf巳0x67, /2218h乙 '3/28Oxf巳0x7d, /2350h乙 '4/29Oxf巳0x94, /2488h乙 '4#/30Oxf巳Oxa& /2639h乙 '5/31Oxfe,Oxbc, /2794h乙 '5#/32

12、Oxf巳Oxcf, /2960h乙 '6/33Oxfe.OxeO, /3136h乙 '6#/34Oxf巳Oxfl, /3322h乙 '7 /35;uchar code diaodata30=音调代码0x10,0x0 巳 0x0c,0x10,0x0 巳 0x0c,0x10,0x06,0x10,0x00x10,0x15,0x13,0x10,0x13,0x15,0x15,0x13,0x15,0x13,0x10,0x0 巳 0x0c,0x0 巳0x0 巳 OxIOQxOgQxOcQxOgQxOO;uchar code jiedata30=音长代码0x04,0x04,0x08,0

13、x06,0x02,0x08,0x04,0x04,0x04,0x04,0x02,0x06,0x08,0x02,0x02,0x04,0x04,0x04,0x04,0x08,0x02,0x02,0x04,0x04,0x02,0x02,0x04,0x04,0x00x00;void timerO() interrupt 1 用于产生音符的TO中断服务程 序THO=thO_f;TLO=tlO_f;beep=beep; 取反beep引脚,发声void main(void) ucharij,k=O;uint n;TMOD=0X01;/T 0 方式 1TR0=0;关闭TO (不发声)ETO=1;允许TO中断EA=1;允许总中断wh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论