报告五首歌曲的音乐门铃.docx
- 文档编号:26297326
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:19
- 大小:68.72KB
报告五首歌曲的音乐门铃.docx
《报告五首歌曲的音乐门铃.docx》由会员分享,可在线阅读,更多相关《报告五首歌曲的音乐门铃.docx(19页珍藏版)》请在冰豆网上搜索。
报告五首歌曲的音乐门铃
单片机开发与设计工程师考试文档
学校:
湖南人文科技学院
题目:
五首歌曲的音乐门铃
姓名:
薛丰
学号:
07417138
时间:
2010-6-24
目录
设计要求2
1.方案选择2
2.单元电路的硬件设计与选择3
2.1芯片的选择3
2.2引脚功能及选择4
2.3蜂鸣器的功能4
2.4中断的功能5
3.音乐门铃系统的软件系统的设计6
3.1系统中的音乐设计6
3.2定时器的设计7
3.3音乐门铃系统的工作流程图8
4.详细仪器清单10
附录一:
音乐门铃实现的PCB板电路图13
附录二:
主程序14
五首歌曲的音乐门铃
设计要求
利用单片机作为控制核心,完成一个音乐门铃的的产生具体要求如下:
基本部分:
(1)歌曲的实现;
(2)能够控制好定时器/计数器;
(3)能够很好的理清查表法的功能;
(4)T0作为门铃的按钮输入,每按一次,歌曲就改变,按完5次,再重复循环。
1.方案
音乐是由音符组成,不同的音符是由相应频率的振动产生,产生不同的音频需要有不同固定周期的脉冲信号。
要产生音频脉冲,只要算出某一音频的周期T(1/F),然后将此周期T除以2,即为半周期的时间。
我们利用单片机的部定时器T0,使其工作在计数器模式MODEI下,初始化适当的计数值THO及TL0。
以计时这个半周期时间,每当计时时间到后就将输出脉冲的P2.2口反相,然后重复计时此半周期时间,再对P2.2口反相,就可在单片机P2.2引脚上得到此频率的脉冲。
P2.2引脚脉冲接三极管,然后输出到蜂鸣器,就可得到美妙的音乐,通过查表法找到相应的的音调和延迟时间,从而发出一首完整的歌曲。
。
2.单元电路的硬件设计与选择
2.1芯片的选择
STC89C52RC是一个低功耗[7],高性能CMOS8位单片机,片内含4kBytesP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用STC公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构。
STC89C52RC具有如下特点:
40个引脚(引脚图如图1所示),4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,STC89C52RC设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能至外中断激活或硬件复位。
图1STC89C52RC芯片引脚图
2.2引脚功能及选择
VCC:
+5V[1];
GND:
接地;
P0口:
P0口为8位漏极开路双向I/O口,每引脚可吸收8个TTL门电流;
P1口:
P1口是从内部提供上拉电阻器的8位双向I/O口,P1口缓冲器能接收和输出4个TTL门电流;
P2口:
P2口为内部上拉电阻器的8位双向I/O口,P2口缓冲器可接收和输出4个TTL门电流;
P3口:
P3口是8个带内部上拉电阻器的双向I/O口,可接收和输出4个TTL门电流,P3口也可作为AT89C51的特殊功能口;
RST:
复位输入。
当振荡器复位时,要保持RST引脚2个机器周期的高电平时间;
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据存储器时,将跳过1个ALE脉冲;
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期2次PSEN有效,但在访问外部数据存储器时,这2次有效的PSEN信号将不出现;
EA/VPP:
当EA保持低电平时,外部程序存储器地址为(0000H-FFFFH)不管是否有内部程序存储器。
FLASH编程期间,此引脚也用于施加12V编程电源(VPP);
XTAL1:
反向振荡器放大器的输入及内部时钟工作电路的输入;
XTAL2:
来自反向振荡器的输出;
其中在音乐门铃设计当中P3.3口与蜂鸣器相连;P3.2口与中断0口相连;RESET与复位口相连。
2.3蜂鸣器的功能
单片机的P3.3引脚通过限流电阻R与三极管基极相连[2],三极管的集电极接有蜂鸣器。
当单片机的P3.3引脚电平为0时,三极管导通,蜂鸣器有电流通过;当P3.3引脚电平为1时,三极管截止,蜂鸣器没有电流通过。
这样,在蜂鸣器两端就会出现波动的电流,波动的电流就会使蜂鸣器发声。
图2蜂鸣器电路
2.4中断的功能
单片机提供了5个中断源,两个中断优先级控制[3],可以实现两个中断服务嵌套。
当CPU支持中断屏蔽指令后,可将一部分或所有的中断关断,只有打开相应的中断控制位后,方可接收相应的可屏蔽中断请求。
可通过程序设置中断的许可或屏蔽,设置中断的优先52单片机中断系统有5个中断请求源:
①/INT0----外部中断0请求,低电平有效。
通过P3.2引脚输入。
②/INT1----外部中断1请求,低电平有效。
通过P3.3引脚输入。
③T0----定时器/计数器0溢出中断请求。
④T1----定时器/计数器1溢出中断请求。
⑤TX/RX----串行口中断请求。
当串行口完成一帧数据的发送或接收时,便请求中断。
图3中断电路图
3.音乐门铃系统的软件系统的设计
3.1系统中的音乐设计
乐曲中不同的音符,实质就是不同频率的声音[4]。
首先通过控制单片机定时器的定时时间产生不同频率的音频脉冲,经放大后驱动蜂鸣器发出不同音节的声音。
然后用软件延时来控制发音时间的长短,控制节拍。
两者结合即可产生美妙和谐的乐曲。
表一是各调的1/4节拍的时间表。
表1各调1/4节拍的时间
曲调值
延时时间
调4/4
125ms
调3/4
187ms
调2/4
250ms
单片机产生不同频率脉冲信号的原理:
(1)要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。
(2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同的频率。
计数脉冲值与频率的关系公式如下:
N=Fi/2/Fr
(N:
计数值,Fi:
内部计时一次为1uS,故其频率为1MHz,Fr:
要产生的频率)
(3)其计数值的求法:
T=65536-N=65536-Fi/2/Fr
(4)单片机晶振频率为12MHz时,C调各音符频率与计数值T的对照表如表二所示。
表2C调各音符简谱码、频率与计数值T对照表
音符
频率(Hz)
简谱码
T值
5低
392
1
64260
6低
440
2
64400
7低
494
3
64524
1中
523
4
64580
2中
587
5
64684
3中
659
6
64777
4中
698
7
64820
5中
784
8
64898
6中
880
9
64968
7中
988
A
65030
1高
1046
B
65058
2高
1175
C
65110
3高
1318
D
65157
4高
1397
E
65170
5高
1568
F
65217
不发音
0
(5)每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍。
只要设定延迟时间就可求得节拍的时间。
假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。
(6)建立音乐的步骤:
1)先把吧乐谱的音符找出,然后由上表建立T值表的顺序。
2)把T值表建立在TABLE1,构成发音符的计数值放在“TABLE”。
3)简谱码(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的“TABLE”处。
3.2定时器的设计
STC89C52单片机定时器的工作原理[5]:
单片机STC89C52有2个定时器T0、T1,它们有4种工作方式,分别是工作方式0、工作方式1、工作方式2、工作方式3,除方式3外,T0和T1有完全相同的工作状态。
工作方式0为13位工作方式,即最大的计数次数为213;工作方式为16位工作方式,即最大的计数次数为216;工作方式2为8位工作方式,即最大的计数次数为工作方式为位工作方式,即最大的计数次数为28;对于工作方式3只适合于定时器0。
在单片机的特殊功能寄存器中有6个寄存器(TH1、TH0、TL1、TL0、TMOD、TCON)是用来控制单片机的定时器的,[6]通过编程对这些特殊功能寄存器的读写就可以控制单片机的两个定时器T0、T1。
TH0、TH1是分别用来存放定时器0和定时器1的计数初值的高8位,TL0、TL1是分别用来存放定时器0和定时器1的计数初值的低8位。
TMOD是用来设定定时器的工作状态,TCON中有定时器的标志位,单片机可以根据这些标志位来查询定时器的工作状态。
工作方式:
T0或T1无论用作定时器或计数器都有4种工作方式:
方式0、方式1、方式2和方式3。
除方式3外,T0和T1有完全相同的工作状态。
表3定时器/计数器
TCON
D7
D6
D5
D4
D3
D2
D1
D0
TF1
TR1
TF0
TR0
IE1
IF1
IE0
IT0
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
3.3音乐门铃系统的工作流程图
利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制P3.3引脚的输出每次取反,就可以在P3.3的引脚输出相应的方波频率。
改变计数初值就可以改变频率。
即要产生音频输出方波,首先要算出某一音频的周期,然后将此周期除以2,得到半个周期的时间。
定时器的定时时间等于半个周期,定时时间到就将输出脉冲取反,重复上述过程,就可在P3.3脚上的某一音频的脉冲。
图4流程图
4.详细仪器清单
表3仪器清单
仪器名称
数量
STC89C52芯片
1个
蜂鸣器
1个
按键
1个
电阻
3个
电容
1个
三极管
1个
PCB板
1块
附录一:
音乐门铃实现的PCB板电路图
附录二:
主程序
buzzerequp3.3
keyequP3.2
org00h;主程序起始地址
jmpstart;跳动主程序
org0bh;timer0中断起始地址
jmptim0;跳至timer0在mode1
start:
movtmod,#00000001b;设timer0在mode1
movie,#10000010b;中断使能
jbkey,$;第一次按to?
calldelay1;消除抖动
jnbkey,$;to放开?
mov31h,#00;按to次数计数指针初值为00h
start0:
mov30h,#lowsong;取简谱码指针(第1首)
next:
mova,30h
movdptr,#table
movca,@a+dptr;至相关页码,高4位为音符的高低
movr2,a;低4位为音符的节拍
jzend0;检查简谱码是否已结束(有无00?
)
anla,#0fh;取节拍(低4位)
movr5,a;存入r5,节拍的时间
mova,r2
swapa
anla,#0fh;取音频值(高4位)
jnzsing;是否为0,是0则不发音
clrtr0
jmpd1
sing:
deca;因0不列入
mov22h,a;存入(22h)
rla;乘2
movdptr,#table
movca,@a+dptr;至table取码,取t的值
movth0,a;取到的高位字节存入th0
mov21h,a;取到的高位字节存入(21h)
mova,22h;再载入取到的音符码
rla;乘2
inca;加1
movca,@a+dptr;至table取相对的低位字节计数值
movtl0,a;取到的低位字节存入tl0
mov20h,a;取到的低位字节存入(20h)
setbtr0;启动timer0
d1:
calldelay
inc30h;取简谱码指针加1
jmpnext
end0:
clrtr0;停止计数器
mova,31h;载入计次指针
xrla,#00h;是否按第1次?
jnzend1;不是则跳至end1
jbkey,$;按第2次?
calldelay1;消除抖动
jnbkey,$;放开否?
inc31h;计次地址(31h)加1
mov30h,#lowsong1;第2首歌指针
jmpnext
end1:
mova,31h;载入计次指针
xrla,#01h;是否按第2次?
jnzend2;不是则跳至end2
jbkey,$;按第3次?
calldelay1;消除抖动
jnbkey,$;放开否?
inc31h;计次地址(31h)加1
mov30h,#lowsong2;第3首歌指针
jmpnext
end2:
mova,31h;载入计次指针
xrla,#02h;是否按第3次?
jnzend3;不是则跳至end3
jbkey,$;按第4次?
calldelay1;消除抖动
jnbkey,$;放开否?
inc31h;计次地址(31h)加1
mov30h,#lowsong3;第4首歌指针
jmpnext
end3:
mova,31h;载入计次指针
xrla,#03h;是否按第4次?
jnzend4;不是则跳至end4
jbkey,$;按第5次?
calldelay1;消除抖动
jnbkey,$;放开否?
inc31h;计次地址(31h)加1
mov30h,#lowsong4;第5首歌指针
jmpnext
end4:
jmpstart;回到第1次位置
tim0:
pushacc;将a的值暂存于堆栈
pushpsw;将psw的值暂存于堆栈
setbrs0;设工作寄存器库1,rs0=1,rs1=0
clrrs1
movtl0,20h;重设计数值
movth0,21h
cplbuzzer;将p10位反相
clrrs0
poppsw;至堆栈取回psw的值
popacc;至堆栈取回a的值
reti;返回主程序
delay:
movr7,#02;125秒
d2:
movr4,#125
d3:
movr3,#248
djnzr3,$
djnzr4,d3
djnzr7,d2
djnzr5,delay;决定节拍
ret
delay1:
movr4,#20
d4:
movr3,#248
djnzr3,$
djnzr4,d4
ret
org300h
table:
dw64260,64400,64524,64580
dw64684,64777,64820,64898
dw64968,65030,65058,65110
dw65157,65178,65217
song:
;第一首歌知道不知道
db64h,62h,52h,44h,54h
db62h,82h,62h,52h,68h
db64h,62h,52h,44h,82h,62h
db52h,42h,44h,08h
db62h,82h,42h,22h,14h,24h
db44h,22h,42h,58h
db54h,52h,22h,44h,22h,12h
db18h,08h
db84h,54h,04h,64h
db54h,52h,42h,24h,14h
db64h,62h,52h,44h,82h,62h
db62h,52h,54h,08h
db62h,82h,42h,22h,14h,24h
db44h,22h,42h,58h
db54h,24h,44h,22h,12h
db18h,08h
db00h
song1:
;第2首歌六月的雨
db12h,14h,12h,02h,14h,22h
db42h,42h,32h,42h,02h,42h,42h,52h
db62h,52h,42h,42h,02h,42h,42h,42h
db22h,12h,14h,02h,22h,22h,12h
db22h,12h,14h,02h,12h,12h,22h
db42h,34h,42h,02h,42h,42h,52h
db62h,52h,52h,42h,02h,42h,42h,42h
db44h,02h,52h,42h,32h,22h,32h
db12h,54h,02h,02h,12h,12h,22h
db42h,44h,42h,02h,42h,52h,62h
db54h,02h,42h,02h,42h,42h,42h
db44h,52h,52h,42h,32h,22h,32h
db12h,14h,02h,02h,12h,12h,22h
db42h,34h,42h,02h,42h,42h,51h,61h
db51h,41h,42h,44h,02h,42h,42h,42h
db5ch,42h,82h,88h
db00h
song2:
;第3首歌takemetoyourheart
db41h,01h,42h,41h,51h,61h,51h,64h,11h,21h,41h,21h
db42h,42h,52h,62h,62h,51h,01h,81h,21h,41h,21h
db42h,42h,41h,51h,61h,51h,64h,81h,21h,41h,21h
db42h,42h,52h,62h,54h,62h,82h
db82h,82h,82h,91h,0B1H,0B2H,91h,01h,62h,62h
db62h,52h,52h,42h,62h,51h,01h,54h
db82h,82h,82h,91h,0b1h,0b1h,91h,81h,61h,64h
db51h,61h,52h,52h,91h,81h,84h,81h,91h,0b1h,91h
db0b4h,0b1h,81h,91h,81h,92h,61h,81h,84h
db61h,51h,51h,51h,52h,41h,61h,62h,51h,01h,81h,91h,0b1h,91h
db0b2h,0b2h,0b1h,91h,91h,81h,92h,61h,81h,82h,62h
db51h,61h,52h,54h,62h,62h,52h,51h,61h
db52h,42h,48h
db00h
song3:
;第4首歌梦里谁想
db23h,11h,41h,51h,61h,81h,82h,61h,51h,41h,51h,62h
db42h,42h,42h,21h,11h,18h
db03h,11h,41h,51h,61h,81h,82h,61h,51h,41h,51h,62h
db62h,52h,5ch
db02h,61h,81h,82h,52h,81h,91h,81h,41h,42h,21h,11h
db42h,42h,41h,51h,81h,61h,64h,02h,61h,41h
db51h,51h,61h,51h,52h,01h,21h,42h,41h,51h,52h,22h
db1ch,14h
db00h
song4:
;第5首歌欧若拉
db61h,61h,61h,61h,64h,81h,81h,82h,84h
db52h,52h,51h,41h,42h,82h,81h,91h,52h,52h
db61h,61h,61h,61h,44h,61h,61h,61h,61h,44h
db52h,51h,51h,52h,41h,41h,62h,62h,61h,51h,52h
db61h,61h,61h,61h,64h,82h,81h,81h,84h
db52h,52h,51h,41h,42h,82h,81h,91h,52h,52h
db61h,61h,61h,61h,44h,61h,61h,61h,61h,44h
db52h,51h,51h,52h,42h,62h,62h,62h,51H,41h
db48h,08h
db64h,64h,42h,51h,61h,64h
db82h,72h,62h,52h,08H
db00h
end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 报告 首歌曲 音乐 门铃