单片机设计项目_第1页
单片机设计项目_第2页
单片机设计项目_第3页
单片机设计项目_第4页
单片机设计项目_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机设计项目报告书项目名称:单片机奏乐项目设计班级:07测控二班项目小组成员:沈少龙,刘珍汉,王晓欧,吴文雅单片机设计项目报告书设计项目题目:单片机奏乐 项目概述:利用51单片机内部T0的溢出中断编程方法,编制一首乐曲,并播放 设计思路:1.工作原理通过控制单片机定时器的定时时间产生不同频率的音频脉冲,经放大后驱动蜂鸣器发出不同音节的声音。用软件延时来控制发音时间的 长短,控制节拍。把乐谱中的音符和相应的节拍变换为定时常数和延 时常数,作为数据表格存放在存储器当中,由程序得到定时常数和延 时常数,分别用来控制定时器产生的脉冲频率和发出该音脉冲的持续 时间。乐曲中的音符,频率及定时常数之间对应

2、关系可制成表格,如 表1-1所列。2.音调和节拍的确定方法一般说来,单片机演奏音乐基本都是单音频率, 它不包含相应幅度 的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因 此单片机奏乐只需弄清楚两个 概念即可,也就是音调”和节拍”。音 调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。在音乐中所谓 音调”,其实就是我们常说的音高”。在音乐中常把中央C上方的A音定为标准音高,其频率f=440Hz。当两个声音信 号的频率相差一倍时,也即f2=2f1时,则称f2比f1高一个倍频程,在 音乐中1 (do)与i正好相差一个倍频程,在音乐学中称它相差 一个八度音。在一个八度音内,有 12

3、个半音。以1i八音区为例, 12 个半音是:1#1、#12、2 #2、#23、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 =2272st = T/2 = 2272/2 = 1136这个时间t也就是单片机上定时器应有的中断触发时间。 一般情况下,单片 机奏乐时,其定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。音符的节拍我们可以举例来说明。在一张乐谱中,我们经常会看到这样的表 达式,如1=C、1=G 等等,这里1=C,1=G表示乐谱的曲调,和我们前面所 谈的音调有很大的关联,、就 是用来表示节拍的。以 为例加以说明,它表示 乐谱中以四分音符为节拍,每一小结有三拍。比如

5、:1=C 3/41 2 3 4 5 6其中1、2为一拍,3、4、5为一拍,6为一拍共三拍。1、2的时长为四 分音 符的一半,即为八分音符长,3、4的时长为八分音符的一半,即为十六分 音符长,5的时长为四分音符的一半,即为八分音符长,6的时长为四分音 符长。 那么一拍到底该唱多长呢? 一般说来,如果乐曲没有特殊说明,一拍的时长大约 为400500ms我们以一拍的时长为400ms为 例,则当以四分音符为节拍时, 四分音符的时长就为400ms,八分 音符的时长就为200ms十六分音符的时长就 为100ms可见,在单片机上控制一个音符唱多长可采用循环延时的方法来实现。首先,我们确定一个基本时长的延时程

6、序, 比如说以十六分音符的时长为基 本延时时间,那么,对于一个音符,如果它为十六分音符,则只需调用一次延时 程序,如果它为八分音符,则只需调用二次延时程序,如果它为四分音符,则只 需调用四次延时程序,依次类推。通过上面关于一个音符音调和节拍的确定方法,我们就可以在单片机上实现演奏音乐了。具体的实现方法为:将乐谱中的每个音符的音调及节拍变换成相 应的音调参数和节拍参数,将他们做成数据表格,存放在存储器中,通过程序取 出一个音符的相关参数,播放该音符,该音符唱完后,接着取出下一个音符的相 关参数,如此直到播放完毕最后一个音符,根据需要也可循环不停地播放整 个乐曲。另外,对于乐曲中的休止符,一般将其

7、音调参数设为FFH FFH其节拍参数与其他音符的节拍参数确定方法一致,乐曲结束用节拍参数为00H来表表1-1 音符,频率及定时常数对应关系CX符低1低2低3低4低5低6低7频率262294330349392440494定时值F894HF95CHFA1AHFA6AHFB00HFB8CHFC0EHCX符1234567频率523587659698784880988定时值FC4AHFCAEH:FD08HFD30HFD80HFDC6HP FD02HCX符高1高2高3高4图5高6高7频率10461175; 1318139715681760; 1967定时值FE2AHFE5CHFE84HFE98HFEC0H

8、FEE8HFF06H实验器件:1) PCM, WAVE600访真软件2 )单片机应用与仿真开发实验台3 )蜂鸣器放大器软件设计:本程序实现播放三首歌曲,并设有暂停键和复位键和选曲键。spk bit P2.5; 定义蜂鸣器编号*org 0000h sjmp start org 0003h sjmp int0org 000bh sjmp time org 0030hstart:mov sp,#60hmov tmod,#01h ;clr it0 ;setb et0;setb ex0;setb ea;mov a,#0ffhmov p2,al1:mov a,p2 cjne a,#0ffh,l2 sjmp

9、 l1l2: jnb p2.0,l3;jnb p2.1,l4jnb p2.2,l5 sjmp start l4:mov dptr,#dat sjmp loopl5:mov dptr,#tt sjmp loopl3:mov dptr,#table ;loop: clr a;movc a,a+dptr mov r1,a ;inc dptr ;clr a;movc a,a+dptr mov r0,a ;设定时器方式1外部中断电平触发开启 T0 计数器开外部中断开总中断按下p2.0 播放Happy Birthday; 按下 p2.1 播放 Eyes on me; 按下p2.2 播放北京欢迎你存表首地址

10、清零查表定时器高8 位存 R1指针加一清零查表定时器低8 位存 r0orl a,r1;jz next1;mov a,r0anl 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 looptime: mov th0,r1mov tl0,r0cpl spk mov a,p1 c

11、pl a mov p1,a reti ;delay:mov r7,#02;d2:mov r6,#187d3:mov r5,#248 djnz r5,$ djnz r6,d3 djnz r7,d2 ret进行或运算如果为零则为休止符进行与运算如果为FFH则乐曲结束从头开始循环演奏装入高8 位定时值装入低8 位定时值启动定时器T 0转移至next2处; 关闭定时器停止发声; 清零; 指针加一; 查表(延时常数); 延时常数存R2调用延时子程序; 循环次数指针加一; 转移至 loop 处; 重装定时值; 反相输出中断返回延时 187ms.*; 外部中断程序,实现暂停功能;* int0: clr tr

12、0reti;*; 生日快乐;*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,01hdb 0fdh,0c6h,04h,0fdh,80h,04hdb 0feh,5ch,04h,0feh,2ah,04hdb 00h,00h,04hdb 0fdh 80h,03h,0fdh,80h,01hdb 0feh,0c0h,04h,0feh,84h,04hdb 0feh,2ah,04h,0feh,02h

13、,04hdb 0fdh,0c6h,04hdb 0feh,98h,03h,0feh,98h,01hdb 0feh,84h,04h,0feh,2ah,04hdb 0feh,5ch,04h,0feh,2ah,04hdb 00h,00h,04hdb 0ffh,0ffh;*;Eyes on me;* dat:db 00h,00h,01h,0fbh,00h,04hdb 0fch,4ah,04h,0fch,0aeh,04hdb 0fdh,08h,04h,0fdh,80h,02hdb 0fdh,08h,02h,0fdh,08h,04h,db 00h,00h,02h,00h,00h,02hdb 00h,00h,

14、02h,0fch,0aeh,02hdb 0fdh,08h,02h,0fch,4ah,04hdb 00h,00h,02h,0fbh,8ch,02hdb 0fch,4ah,02h,0fch,4ah,02hdb 0fch,0aeh,02h,0fch,0aeh,02hdb 00h,00h,02h,0fbh,00h,02hdb 0fch,4ah,04h,0fch,0aeh,04hdb 0fdh,08h,04h,0fdh,80h,02hdb 0feh,02h,02h,0feh,02h,03hdb 00h,00h,03h,00h,00h,03hdb 00h,00h,03h,0feh,02h,02hdb 0f

15、eh,2ah,02h,0fdh,0c6h,03hdb 0fdh,80h,02h,0fdh,0c6h,02hdb 0fdh,80h,02h,00h,00h,03hdb 00h,00h,03h,00h,00h,02hdb 0fdh,80h,02h,0feh,2ah,04hdb 0feh,2ah,04h,0feh,2ah,04hdb 0feh,02h,03h,0fdh,0c6h,02hdb 0fdh,0c6h,02h,0fdh,0c6h,02hdb 0fdh,80h,02h,0fdh,80h,04hdb 00h,00h,03h,0fdh,08h,03hdb 0fdh,80h,03h,0fdh,0c6

16、h,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,0aeh,02h,0fch,0aeh,02h db 0fch,4ah,02h,0fch,4ah,04h db 00h,00h,04h,0fbh,8ch,02h db

17、 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,02hdb 0fdh,0c6h,04h,0fdh,0c6h,02h db 0fdh,80h,02h,0fdh,30h,02h db 0fch,4ah,02h,0fdh,08h,02h db 0fdh,08h,02h,0fch,0aeh,02h db 0fch,0aeh

18、,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 db 00h,00h,04h,00h,00h,04h db 0fch,0aeh,02h,0fch,4ah,02h db 0fch,4ah,04h,00h,00h,0

19、4h 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,02h,0feh,02h,02h db 0feh,02h,02h,0feh,2ah,02h db 0fdh,0c6h,04h,0fdh,80h,01hdb 0fdh,8

20、0h,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,80h,02h,0fdh,0c6h,02hdb 0fdh,0c6h,04h,0fdh,80h,02hdb 0fdh,80h,04h,00h,00h,04hdb 0

21、ffh,0ffh;* ; 北京欢迎你;*tt: 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 00h,00h,01hdb 0fch,0aeh,02h,0fch,4ah,02hdb 0fbh,08ch,02h,0fch,4ah,02hdb 0fch,0aeh,02

22、h,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,02h,0fdh,08h,02hdb 0fbh,08ch,02h,0fch,4ah,02hdb 0fdh,80h,02h,0fch,0aeh,02hdb 0fbh,08ch

23、,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,02h db 0fbh,08ch,02h,0fch,4ah,02h db 0fch,0aeh,02h,0fch,4ah,02h db 0fbh,08ch,02h,0fch,

24、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,02h,0fch,4ah,02h db 0fdh,08h,02h 00h,00h,01h db 0fbh,08ch,02h,0fch,4ah,02h db 0fdh,08

25、h,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 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,02hdb 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,02hdb 0fdh,0c6h,02h,0feh,2ah,0

温馨提示

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

评论

0/150

提交评论