使用单片机设计电子琴的详细资料说明

电子说

1.2w人已加入

描述

  1. 实验任务

  (1. 由4X4组成16个按钮矩阵,设计成16个音。

  (2. 可随意弹奏想要表达的音乐。

  2.电路原理图

单片机

  图4.22.1

  3.系统板硬件连线

  (1. 把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上;

  (2. 把“单片机系统“区域中的P3.0-P3.7端口用8芯排线连接到“4X4行列式键盘”区域中的C1-C4 R1-R4端口上;

  4. 相关程序内容

  (1. 4X4行列式键盘识别;

  (2. 音乐产生的方法;

  一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。现在以单片机12MHZ晶振为例,例出高中低音符与单片机计数T0相关的计数值如下表所示

  音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)

  低1 DO26263628# 4 FA#74064860

  #1 DO#27763731中 5 SO78464898

  低2 RE29463835# 5 SO#83164934

  #2 RE#31163928中 6 LA88064968

  低 3 M33064021# 693264994

  低 4 FA34964103中 7 SI98865030

  # 4 FA#37064185高 1 DO104665058

  低 5 SO39264260# 1 DO#110965085

  # 5 SO#41564331高 2 RE117565110

  低 6 LA44064400# 2 RE#124565134

  # 646664463高 3 M131865157

  低 7 SI49464524高 4 FA139765178

  中 1 DO52364580# 4 FA#148065198

  # 1 DO#55464633高 5 SO156865217

  中 2 RE58764684# 5 SO#166165235

  # 2 RE#62264732高 6 LA176065252

  中 3 M65964777# 6186565268

  中 4 FA69864820高 7 SI196765283

  下面我们要为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据

  低音0-19之间,中音在20-39之间,高音在40-59之间

  TABLE: DW 0,63628,63835,64021,64103,64260,64400,64524,0,0

  DW 0,63731,63928,0,64185,64331,64463,0,0,0

  DW 0,64580,64684,64777,64820,64898,64968,65030,0,0

  DW 0,64633,64732,0,64860,64934,64994,0,0,0

  DW 0,65058,65110,65157,65178,65217,65252,65283,0,0

  DW 0,65085,65134,0,65198,65235,65268,0,0,0

  DW 0

  2、音乐的音拍,一个节拍为单位(C调)

  曲调值DELAY曲调值DELAY

  调4/4125ms调4/462ms

  调3/4187ms调3/494ms

  调2/4250ms调2/4125ms

  对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。

  下面就用AT89S51单片机产生一首“生日快乐”歌曲来说明单片机如何产生的。

  在这个程序中用到了两个定时/计数器来完成的。其中T0用来产生音符频率,T1用来产生音拍。

  5.程序框图

单片机

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分