《基于C语言的MCS-51单片机教程》_项目1 简易电子琴的设计与制作.pptxVIP

《基于C语言的MCS-51单片机教程》_项目1 简易电子琴的设计与制作.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

知识与能力目标

熟悉单片机应用系统的开发流程

熟练单片机应用系统的硬件系统的设计与开发

熟练单片机应用系统程序开发流程和方法;

项目1简易电子琴的设计与制作

应用系统功能演示;;

1.项目设计目标与任务

1)项目目标

·掌握利用单片机的定时器实现不同频率的音调。

·掌握利用单片机实现音乐的播放。

·掌握按键实现对单片机的控制。

·在达到以上3点目标的基础上,根据“项目扩展任务”中提出的问题,以组或个人为单位,在规定时间内完成扩展项目任务。;

1.项目设计目标与任务

2)项目任务

在基于单片机的简易电子琴要求具有以下功能:

口对于电子琴按键电路,当用户按下不同的按键时,可以播放8个基本音,如果用户短按按键,则对应的基本音只响一声,如果用户长按按键,则对应的基本音则一直响直到松开按键。

口对于电子琴按键电路,当用户按下不同的按键时,数码管则会显示相应的字符。

口对于歌曲按键电路,当用户按下不同的按键时,则会播放不同的歌曲。;

项目1简易电子琴的设计与制作;

该电子琴具有以下功能:

(1)对于电子琴按键电路,当用户按下不同的按键时,可以播放8个基本音,如果用户短按按键,则对应的基本音只响一声,如果用户长按按键,则对应的基本音则一直响直到松开按键。

(2)对于电子琴按键电路,当用户按下不同的按键时,数码管则会显示相应的字符。

(3)对于歌曲按键电路,当用户按下不同的按键时,则会播放不同的歌曲。;

电源模块

发音模块

按键控制模块

数码管显示模块;

关键技术

基于单片机的简易电子琴在设计时需要解决以下2个方面的问题:

(1)利用单片机中定时器实现不同频率的音调。

(2)利用按键实现对单片机的控制。;

1、最小系统模块的设计

2、按键控制模块的设计

3、发音模块的设计

4、电源模块的设计

5、数码管显示模块的设计;

PL.0

最小系统模块

vc;

1)单片机发声的概述

一般来说,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相应幅度的谐振???率。单片机演奏的音乐基本都是单音频率。因此单片机演奏音乐比较简单,只弄清楚“音调”和“节拍”两个概念即可。音调主要由声音的频率决定,节拍表示一个音符持续的时间。因此,只要知道一个音符的频率,便可以让单片机发出相应频率的振荡信号,从而产生相应的音符声音。

那么如何利用单片机来实现“音调”和“节拍”呢?

音调的实现可以通过单片机的定时器进行定时中断,在中断服务程序中将单片机I/O口来回置高电平或者是低电平的,从而让扬声器发出相应的声音。

节拍是每个音符持续的时间可以采用循环延时的方法或单片机另外一个定时/计数器来来实现控制一个音符唱多长的时间。;

如何来产生对应音阶的频率信号呢?

以中音DO(523Hz)为例,已知中音DO频率为

523Hz,其周期T=1/523=1912μs,,则半周期为

1912/2=956μs,因此只要让定时器计时956μs,每计数956μs时将I/O反相,就可得到中音DO(523Hz)。

当然这里要用定时器计时956μs,则需要用到前面所学知识,假定单片机晶振是12MHZ,同时利用AT89C51的内部定时器T0来实现956μs的定时,那么我们设置TO工作计数器模式(MODE1),则956μs的定时对应初始值为65535-956=64579=0xFC43,那么我们把这个值分别赋值给TH0和TLO,即为TH0=0xFC,TLO=0x43。;

表3-1音符频率表;

程序中的全局变量FREQL和FREQL就是音符频率表,分别为数据的高8位和低8位,如下:

unsignedcharcodeFREQH[]={

0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,

//低音1、2、3、4、5、6、7

0xF9,0xF9,0xFA,OxFA,OxFB,OxFB,OxFC,

//中音1、2、3、4、5、6、7

0xFC,0xFC,OxFD,0xFD,OxFD,0xFD,OxFE,

//高音1、2、3、4、5、6、7

0xFE,OxFE,OxFE,OxFE,OxFE,OxFE,OxFF

//超高音1、2、3、4、5、6、7

};;

unsignedcharcodeFREQL[]={

0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,//低音1、2、3、4、5、6、7

0x21,0xE1,0x8C,OxD8,0x68,0xE9,0x5

文档评论(0)

乐毅淘文斋 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8121131046000040

1亿VIP精品文档

相关文档