基本信息
文件名称:《单片机技术与应用》 课件 项目五 任务3-单片机发“哆瑞咪”.pptx
文件大小:555.15 KB
总页数:19 页
更新时间:2025-06-19
总字数:约1.33千字
文档摘要

项目五简易电子琴的设计

任务三

单片机发“哆瑞咪”

任务描述

利用所给键盘的1,2,3,4,5,6,7的7个键,能够对应发出7个不同的“哆瑞咪发梭拉西”音。

知识链接

单片机实现音乐的节拍

单片机音乐中音调和节拍的确定方法

因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。

如果我们只要知道了每个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。

单片机音乐中音调和节拍的确定方法

一般说来,常采用的方法就是通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将定时器予置不同的定时值就可实现。

单片机音乐中音调和节拍的确定方法

以标准音高“A”为例:

“A”的频率f=440Hz,其对应的周期为:

T=1/f=1/440=2272μs

单片机音乐中音调和节拍的确定方法

单片机音乐中音调和节拍的确定方法

简谱中音名与频率、N值的关系

音符

频率(Hz)

N值

音符

频率(Hz)

N值

音符

频率(Hz)

N值

低1

262

63628

中1

523

64580

高1

1046

65058

低2

294

63835

中2

587

64684

高2

1175

65110

低3

330

64021

中3

659

64777

高3

1318

65157

低4

349

64103

中4

698

64820

高4

1397

65178

低5

392

64260

中5

784

64898

高5

1568

65217

低6

440

64400

中6

880

64968

高6

1760

65252

低7

494

64524

中7

988

65030

高7

1976

65283

任务实施

1.硬件电路

2.程序设计

1.硬件电路

2.程序设计

#includereg51.h

#defineuhcarunsignedchar

#defineuintunsignedint

sbitsound=P2^0;

voiddelay(intm){

uintn;

for(n=0;nm;n++);}

voidbofang(unsignedintm,unsignedintn)

{uinti;

for(i=0;in;i++)

{

sound=0;

delay(m);

sound=1;

delay(m);}}

知识总结

演奏一个音符,是通过引脚,周期性的输出一个特定频率的方波。每一个不同的频率对应不同的声音。这就需要单片机,在半个周期内输出低电平、另外半个周期输出高电平,周而复始。

综合评价

课后作业

如图所示,4×4键盘,按下键K1-K7按键,依次发出“哆瑞咪发梭拉西”7个音符。

谢谢观看

《单片机技术及应用》课程