




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机设计项目报告书项目名称:单片机奏乐项目设计班级:07测控二班项目小组成员:沈少龙,刘珍汉,王晓欧,吴文雅单片机设计项目报告书设计项目题目:单片机奏乐 项目概述:利用51单片机内部TO的溢出中断编程方法,编制一首乐曲,并播放 设计思路:1.工作原理通过控制单片机定时器的定时时间产生不同频率的音频脉冲,经放大后驱动蜂鸣器发出不同音节的声音。用软件延时来控制发音时间的 长短,控制节拍。把乐谱中的音符和相应的节拍变换为定时常数和延 时常数,作为数据表格存放在存储器当中,由程序得到定时常数和延 时常数,分别用来控制定时器产生的脉冲频率和发出该音脉冲的持续 时间。乐曲中的音符,频率及定时常数之间对应
2、关系可制成表格,如 表1-1所列。2.音调和节拍的确定方法一般说来,单片机演奏音乐基本都是单音频率, 它不包含相应幅度 的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因 此单片机奏乐只需弄清楚两个 概念即可,也就是音调”和节拍”音 调表示一个音符唱多咼的频率,节拍表示一个音符唱多长的时间。在音乐中所谓 音调”其实就是我们常说的音高”在音乐中常把中央C上方的A音定为标准音高,其频率f=440Hz。当两个声音信 号的频率相差一倍时,也即f2=2f1时,则称f2比f1高一个倍频程,在 音乐中1 (do)与i正好相差一个倍频程,在音乐学中称它相差 一个八度音。在一个八度音内,有 12个半音
3、。以1 i八音区为例, 12 个半音是:1 # 1、# 1 2、2 # 2、# 2 3、34、4# 4, # 45、5 一# 5、#56、6# 6# 67、7i。这 12 个音阶的分 度基本上是以对数关系来划分的。如果我们知道了这十二个音符的音 高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他 音符基本音调的频率。知道了一个音符的频率后,怎样让单片机发出相应频率的声音 呢? 一般说来,常采用的方法就是通过单片机的定时器定时中断,将 单片机上对应蜂鸣器的I/O 口来回取反,或者说来回清零,置位,从 而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需 将定时器予置不同的定时值
4、就可实现。那么怎样确定一个频率所对应 的定时器的定时值呢?以标准音高 A为例:A的频率f = 440 Hz,其对应的周期为:T = 1/ f = 1/440 =2272 卩 st = T/2 = 2272/2 = 1136这个时间t也就是单片机上定时器应有的中断触发时间。一般情况下,单片机奏乐时,其定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。音符的节拍我们可以举例来说明。在一张乐谱中,我们经常会看到这样的表 达式,如 仁C、1=G 等等,这里1=C,1=G表示乐谱的曲调,和我们前面所 谈的音调有很大的关联,、就 是用来表示节拍的。以 为例加以说明,它表示 乐谱中以四分音符为节拍,每
5、一小结有三拍。比如 :1=C 3/4123456其中1、2为一拍,3、4、5为一拍,6为一拍共三拍。1、2的时长为四 分音 符的一半,即为八分音符长,3、4的时长为八分音符的一半,即为十六分 音符长,5的时长为四分音符的一半,即为八分音符长,6的时长为四分音 符长。 那么一拍到底该唱多长呢? 一般说来,如果乐曲没有特殊说明,一拍的时长大约 为400 500ms我们以一拍的时长为400ms为 例,则当以四分音符为节拍时, 四分音符的时长就为400ms八分 音符的时长就为200ms十六分音符的时长就 为100ms可见,在单片机上控制一个音符唱多长可采用循环延时的方法来实现。首先,我们确定一个基本时
6、长的延时程序, 比如说以十六分音符的时长为基 本延时时间,那么,对于一个音符,如果它为十六分音符,则只需调用一次延时 程序,如果它为八分音符,则只需调用二次延时程序,如果它为四分音符,则只 需调用四次延时程序,依次类推。通过上面关于一个音符音调和节拍的确定方法,我们就可以在单片机上实现演奏音乐了。具体的实现方法为:将乐谱中的每个音符的音调及节拍变换成相 应的音调参数和节拍参数,将他们做成数据表格,存放在存储器中,通过程序取 出一个音符的相关参数,播放该音符,该音符唱完后,接着取出下一个音符的相 关参数,如此直到播放完毕最后一个音符,根据需要也可循环不停地播放 整 个乐曲。另外,对于乐曲中的休止
7、符,一般将其音调参数设为FFH FFH其节拍参数与其他音符的节拍参数确定方法一致,乐曲结束用节拍参数为00H来表示。表1-1音符,频率及定时常数对应关系C调音 符低1低2低3低4低5低6低7频率262294330349392440494定时值F894HF95CHFA1AHFA6AHFB00HFB8CHFC0EHC调音 符1234567频率523587659698784880988定时值FC4AHFCAEH:FD08HFD30HFD80HFDC6HP FD02HC调音 符高1高2高3高4高5高6高7频率10461175r 1318139715681760P 1967定时值FE2AHFE5CHFE
8、84HFE98HFEC0HFEE8HFF06H实验器件:1) PC机,WAVE600仿真软件2)单片机应用与仿真开发实验台3)蜂鸣器 放大器软件设计: 本程序实现播放三首歌曲,并设有暂停键和复位键和选曲键。spk bit P2.5;定义蜂鸣器编号* Jorg 0000hsjmp startorg 0003hsjmp int0org 000bhsjmp timeorg 0030hstart:mov sp,#60hmov tmod,#01h ;设定时器方式 1clr it0 ;外部中断电平触发setb et0 ;开启 T0 计数器setb ex0 ;开外部中断setb ea ;开总中断mov a,
9、#0ffhmov p2,al1:mov a,p2cjne a,#0ffh,l2sjmp l1l2: jnb p2.0,l3;按下 p2.0 播放 Happy Birthdayjnb p2.1,l4; 按下 p2.1 播放 Eyes on mejnb p2.2,l5; 按下 p2.2 播放 北京欢迎你sjmp startl4:mov dptr,#datsjmp loopl5:mov dptr,#ttsjmp loopl3:mov dptr,#table ;存表首地址loop: clr a ;清零movc a,a+dptr; 查表mov r1,a ;定时器高 8 位存 R1inc dptr ;指针
10、加一clr a ;清零movc a,a+dptr; 查表mov r0,a ;定时器低 8 位存 r0orl a,r1;jz next1;mov a,r0 anl a,r1;cjne a,#0ffh,next ; sjmp start ; next: mov th0,r1 ;mov tl0,r0 ;setb tr0 ; sjmp next2 ; next1:clr tr0 next2:clr a inc dptr movc a,a+dptr mov r2,a loop1:acall delay ;djnz r2,loop1 inc dptr;jmp loop time: mov th0,r1mo
11、v tl0,r0 cpl spk mov a,p1 cpl a mov p1,a reti ; delay:mov r7,#02;d2:mov r6,#187 d3:mov r5,#248 djnz r5,$ djnz r6,d3 djnz r7,d2 ret进行或运算 如果为零则为休止符进行与运算如果为FFH则乐曲结束从头开始循环演奏 装入高 8 位定时值 装入低 8 位定时值启动定时器T 0转移至 next2 处; 关闭定时器停止发声; 清零; 指针加一; 查表(延时常数); 延时常数存 R2 调用延时子程序; 循环次数指针加一; 转移至 loop 处; 重装定时值; 反相输出中断返回 延
12、时 187ms.* J; 外部中断程序,实现暂停功能.*Jint0: clr tr0reti.*; 生日快乐.*table:db 0fdh,80h,03h,0fdh,80h,01hdb 0fdh,0c6h,04h,0fdh,80h,04hdb 0feh,2ah,04h,0fdh,02h,04hdb 00h,00h,04hdb 0fdh,80h,03h,0fdh,80h,01h db 0fdh,0c6h,04h,0fdh,80h,04h db 0feh,5ch,04h,0feh,2ah,04h db 00h,00h,04h db 0fdh 80h,03h,0fdh,80h,01h db 0feh
13、,0c0h,04h,0feh,84h,04h db 0feh,2ah,04h,0feh,02h,04h db 0fdh,0c6h,04h db 0feh,98h,03h,0feh,98h,01h db 0feh,84h,04h,0feh,2ah,04h db 0feh,5ch,04h,0feh,2ah,04h db 00h,00h,04h db 0ffh,0ffh.*J;Eyes on me.* Jdat:db 00h,00h,01h,0fbh,00h,04h db 0fch,4ah,04h,0fch,0aeh,04h db 0fdh,08h,04h,0fdh,80h,02h db 0fdh,
14、08h,02h,0fdh,08h,04h, db 00h,00h,02h,00h,00h,02h db 00h,00h,02h,0fch,0aeh,02h db 0fdh,08h,02h,0fch,4ah,04h db 00h,00h,02h,0fbh,8ch,02h db 0fch,4ah,02h,0fch,4ah,02h db 0fch,0aeh,02h,0fch,0aeh,02h db 00h,00h,02h,0fbh,00h,02h db 0fch,4ah,04h,0fch,0aeh,04h db 0fdh,08h,04h,0fdh,80h,02h db 0feh,02h,02h,0f
15、eh,02h,03h db 00h,00h,03h,00h,00h,03h db 00h,00h,03h,0feh,02h,02h db 0feh,2ah,02h,0fdh,0c6h,03h db 0fdh,80h,02h,0fdh,0c6h,02h db 0fdh,80h,02h,00h,00h,03h db 00h,00h,03h,00h,00h,02h db 0fdh,80h,02h,0feh,2ah,04h db 0feh,2ah,04h,0feh,2ah,04h db 0feh,02h,03h,0fdh,0c6h,02h db 0fdh,0c6h,02h,0fdh,0c6h,02h
16、db 0fdh,80h,02h,0fdh,80h,04h db 00h,00h,03h,0fdh,08h,03h db 0fdh,80h,03h,0fdh,0c6h,04h db 0fdh,0c6h,02h,0fdh,80h,04h db 0fdh,30h,04h,0fdh,30h,02h db 0fch,0aeh,02h,0fdh,08h,04h db 00h,00h,04h,00h,00h,02h db 0fdh,08h,02h,0fdh,08h,04h db 0fch,0aeh,02h,0fdh,08h,02h db 0fdh,30h,04h,0fdh,08h,02h db 0fch,0
17、aeh,02h,0fch,0aeh,02h db 0fch,4ah,02h,0fch,4ah,04h db 00h,00h,04h,0fbh,8ch,02h db 0fch,4ah,02h,0fch,4ah,04h db 00h,00h,04h,0fch,4ah,02h db 0fch,0aeh,02h,0fdh,08h,02h db 0fdh,80h,03h,0fch,0aeh,04h db 00h,00h,04h,00h,00h,04h db 00h,00h,02h,0fdh,80h,02h db 0fdh,0c6h,04h,0fdh,0c6h,02h db 0fdh,80h,02h,0f
18、dh,30h,02h db 0fch,4ah,02h,0fdh,08h,02h db 0fdh,08h,02h,0fch,0aeh,02h db 0fch,0aeh,04h,00h,00h,04h db 00h,00h,02h,0fbh,00h,02h db 0fch,4ah,04h,0fch,0aeh,04h db 0fdh,08h,02h,0fdh,30h,02h db 0fdh,80h,02h,0fdh,80h,04h db 00h,00h,04h,00h,00h,02h db 0fdh,80h,02h,0fdh,30h,02h db 0fch,4ah,02h,0fdh,80h,04h
19、db 00h,00h,04h,00h,00h,04h db 0fch,0aeh,02h,0fch,4ah,02h db 0fch,4ah,04h,00h,00h,04h db 00h,00h,04h,00h,00h,04h db 00h,00h,04h,00h,00h,04h db 0fch,4ah,02h,0fdh,08h,02h db 0fdh,08h,02h,0fdh,80h,02h db 0feh,02h,04h,0fdh,0c6h,02h db 0fdh,0c6h,04h,00h,00h,04h db 0fdh,0c6h,04h,00h,00h,04h db 0fdh,0c6h,02
20、h,0feh,02h,02h db 0feh,02h,02h,0feh,2ah,02h db 0fdh,0c6h,04h,0fdh,80h,01hdb 0fdh,80h,04h,00h,00h,04hdb 0fdh,0c6h,04h,00h,00h,04hdb 00h,00h,02h,0fdh,08h,02hdb 0fdh,08h,02h,0fdh,30h,02hdb 0fdh,80h,04h,0fdh,30h,02hdb 0fdh,30h,04h,00h,00h,04hdb 0fdh,30h,04h,00h,00h,04hdb 0fdh,30h,02h,0fdh,80h,02hdb 0fdh
21、,80h,02h,0fdh,0c6h,02hdb 0fdh,0c6h,04h,0fdh,80h,02h db 0fdh,80h,04h,00h,00h,04hdb 0ffh,0ffh *J; 北京欢迎你 *Jtt: db 0fdh,08h,02h,0fdh,80h,02hdb 0fdh,08h,02h,0fch,0aeh,02hdb 0fdh,08h,02h,0fch,0aeh,02hdb 0fdh,08h,04hdb 0fdh,08h,02h,0fch,0aeh,02hdb 0fbh,08ch,02h,0fch,04ah,02hdb 0fdh,08h,02h,0fch,0aeh,04hdb
22、00h,00h,01hdb 0fch,0aeh,02h,0fch,4ah,02hdb 0fbh,08ch,02h,0fch,4ah,02hdb 0fch,0aeh,02h,0fdh,08h,02hdb 0fdh,80h,02h,0fch,0aeh,02hdb 0fdh,08h,02h,0fdh,0c6h,02hdb 0fdh,80h,02h,0fbh,00h,02hdb 0fch,0aeh,02h,0fch,4ah,02hdb 00h,00h,03hdb 0fch,0aeh,02h,0fch,4ah,02hdb 0fbh,08ch,02h,0fch,4ah,02hdb 0fch,0aeh,02
23、h,0fdh,08h,02hdb 0fbh,08ch,02h,0fch,4ah,02hdb 0fdh,80h,02h,0fch,0aeh,02hdb 0fbh,08ch,02h,0fch,4ah,02hdb 0fdh,08h,02h,0fdh,0c6h,02hdb 0fbh,08ch,02h,0fch,4ah,02hdb 0fdh,80h,02h,0fdh,80h,02hdb 0fbh,08ch,02h,0fch,4ah,02hdb 0fdh,08h,02h,00h,00h,03hdb 0fbh,08ch,02h,0fch,4ah,02hdb 0fch,0aeh,02h,0fdh,08h,02
24、h db 0fbh,08ch,02h,0fch,4ah,02h db 0fch,0aeh,02h,0fch,4ah,02h db 0fbh,08ch,02h,0fch,4ah,02h db 0fdh,80h,02h,0fdh,0c6h,02h db 0fbh,08ch,02h,0fch,4ah,02h db 0fdh,08h,02hdb 0fbh,08ch,02h,0fch,4ah,02h db 0fbh,8ch,02h,0fdh,08h,02h db 0fbh,08ch,02h,0fch,4ah,02h db 0fdh,08h,02h,0fch,0aeh,02h db 0fbh,08ch,0
25、2h,0fch,4ah,02h db 0fdh,08h,02h 00h,00h,01h db 0fbh,08ch,02h,0fch,4ah,02h db 0fdh,08h,02h,0fdh,80h,02h db 0fbh,08ch,02h,0fch,4ah,02h db 0feh 2ah,02h,0fdh,80h,02h db 0fbh,08ch,02h,0fch,4ah,02h db 0fdh,0c6h,02h,00h,00h,02h db 0fbh,08ch,02h,0fch,4ah,02h db 0fdh,0c6h,02hdb 0fbh,08ch,02h,0fch,4ah,02h db
26、0fdh,80h,02h,0fdh,08h,02h db 0fbh,08ch,02h,0fch,4ah,02h db 00h,00h,03hdb 0fdh,08h,02h,0fdh,80h,02h db 0fdh,80h,02h,0fdh,08h,02h db 0fdh,80h,02h,0fdh,0c6h,02h db 0feh 2ah,02h,0feh,5ch,02h db 0fdh,80h,02h,0fdh,08h,02h db 0fch,0aeh,02h,0fdh,80h,02h db 0fdh,08h,02h,00h,00h,02h db 0fdh,08h,02h,0fdh,80h,02h db 0feh,2ah,02h,0fdh,80h,02h db 0fdh,0c6h,02h,0feh,2ah,02h db 0feh,5ch,02h,0feh,2ah,02h db 0fdh,80h,02h,0fdh,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 检维修许可管理办法
- 石林广场舞管理办法
- 石林县畜牧管理办法
- 烟台群组房管理办法
- LNG储存管理办法
- 焊条烘干箱管理办法
- 砂山砂石料管理办法
- 牡丹不开花管理办法
- cnc掉刀管理办法
- 甘肃营养餐管理办法
- 护士换错药不良事件讲课件
- 护理病人安全 保障病人的安全与隐私
- 公司能量隔离挂牌上锁管理制度附能量隔离与介质、工况对应关系参考表
- (高清版)DB62∕T 446-2019 河湖及水利工程土地划界标准
- DB33-T 2099-2025 高速公路边坡养护技术规范
- 护渔队伍考核管理制度
- 村专职书记笔试题库及答案
- 国家行业领域重大事故隐患判定标准(2025年5月)解读培训
- 2025年幼儿园园长聘任合同6篇
- 捡土豆装车合同协议书
- 2025年生态环保项目社会稳定风险评估评估报告
评论
0/150
提交评论