基于C语言的MCS-51单片机教程 课件 3项目1 简易电子琴的设计与制作_第1页
基于C语言的MCS-51单片机教程 课件 3项目1 简易电子琴的设计与制作_第2页
基于C语言的MCS-51单片机教程 课件 3项目1 简易电子琴的设计与制作_第3页
基于C语言的MCS-51单片机教程 课件 3项目1 简易电子琴的设计与制作_第4页
基于C语言的MCS-51单片机教程 课件 3项目1 简易电子琴的设计与制作_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

项目1简易电子琴的设计与制作项目1简易电子琴的设计与制作知识与能力目标熟悉单片机应用系统的开发流程1熟练单片机应用系统的硬件系统的设计与开发2熟练单片机应用系统程序开发流程和方法3

项目1简易电子琴的设计与制作应用系统功能演示

项目1简易电子琴的设计与制作1项目设计目标与任务系统方案设计23系统硬件电路设计与制作系统软件程序设计与调试45系统的调试6项目扩展任务系统的开发流程

项目设计目标与任务1.项目1简易电子琴的设计与制作1)项目目标掌握利用单片机的定时器实现不同频率的音调。掌握利用单片机实现音乐的播放。掌握按键实现对单片机的控制。在达到以上3点目标的基础上,根据“项目扩展任务”中提出的问题,以组或个人为单位,在规定时间内完成扩展项目任务。

项目设计目标与任务1.项目1简易电子琴的设计与制作2)项目任务在基于单片机的简易电子琴要求具有以下功能:对于电子琴按键电路,当用户按下不同的按键时,可以播放8个基本音,如果用户短按按键,则对应的基本音只响一声,如果用户长按按键,则对应的基本音则一直响直到松开按键。对于电子琴按键电路,当用户按下不同的按键时,数码管则会显示相应的字符。对于歌曲按键电路,当用户按下不同的按键时,则会播放不同的歌曲。

项目1简易电子琴的设计与制作2.系统方案设计功能设计系统方案设计关键技术总体结构设计项目1简易电子琴的设计与制作该电子琴具有以下功能:(1)对于电子琴按键电路,当用户按下不同的按键时,可以播放8个基本音,如果用户短按按键,则对应的基本音只响一声,如果用户长按按键,则对应的基本音则一直响直到松开按键。(2)对于电子琴按键电路,当用户按下不同的按键时,数码管则会显示相应的字符。(3)对于歌曲按键电路,当用户按下不同的按键时,则会播放不同的歌曲。功能设计项目1简易电子琴的设计与制作总体结构设计项目1简易电子琴的设计与制作

关键技术基于单片机的简易电子琴在设计时需要解决以下2个方面的问题:(1)利用单片机中定时器实现不同频率的音调。(2)利用按键实现对单片机的控制。项目1简易电子琴的设计与制作1、最小系统模块的设计2、按键控制模块的设计3、发音模块的设计4、电源模块的设计系统硬件电路设计35、数码管显示模块的设计项目1简易电子琴的设计与制作系统总体硬件电路4项目1简易电子琴的设计与制作系统软件程序设计1)单片机发声的概述

一般来说,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相应幅度的谐振频率。单片机演奏的音乐基本都是单音频率。因此单片机演奏音乐比较简单,只弄清楚“音调”和“节拍”两个概念即可。音调主要由声音的频率决定,节拍表示一个音符持续的时间。因此,只要知道一个音符的频率,便可以让单片机发出相应频率的振荡信号,从而产生相应的音符声音。那么如何利用单片机来实现“音调”和“节拍”呢?音调的实现可以通过单片机的定时器进行定时中断,在中断服务程序中将单片机I/O口来回置高电平或者是低电平的,从而让扬声器发出相应的声音。节拍是每个音符持续的时间可以采用循环延时的方法或单片机另外一个定时/计数器来来实现控制一个音符唱多长的时间。项目1简易电子琴的设计与制作如何来产生对应音阶的频率信号呢?以中音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的定时,那么我们设置T0工作计数器模式(MODE1),则956μs的定时对应初始值为65535-956=64579=0xFC43,那么我们把这个值分别赋值给TH0和TL0,即为TH0=0xFC,TL0=0x43。2)音乐的产生表3-1音符频率表项目1简易电子琴的设计与制作其方法是:若要产生某个音的频率信号,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将输出信号反相,然后重复计时再反相,就可在某个I/O引脚上得到此频率的脉冲。音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)低1DO26263628#4FA#74064860#1DO#27763731中5SO78464898低2RE29463835#5SO#83164934#2RE#31163928中6LA88064968低

33064021#693264994低4FA34964103中7SI98865030#4FA#37064185高1DO104665058低5SO39264260#1DO#110965085#5SO#41564331高2RE117565110低6LA44064400#2RE#124565134#646664463高

131865157低7SI49464524高4FA139765178中1DO52364580#4FA#148065198#1DO#55464633高5SO156865217中2RE58764684#5SO#166165235#2RE#62264732高6LA176065252中

65964777#6186565268中4FA69864820高7SI196765283项目1简易电子琴的设计与制作程序中的全局变量FREQL和FREQL就是音符频率表,分别为数据的高8位和低8位,如下:unsignedcharcodeFREQH[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, //低音1、2、3、4、5、6、70xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC, //中音1、2、3、4、5、6、70xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, //高音1、2、3、4、5、6、70xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF //超高音1、2、3、4、5、6、7};项目1简易电子琴的设计与制作unsignedcharcodeFREQL[]={0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6, //低音1、2、3、4、5、6、70x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B, //中音1、2、3、4、5、6、70x8F,0xEE,0x44,0x6B,0xB4,0xF4,0x2D, //高音1、2、3、4、5、6、70x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16 //超高音1、2、3、4、5、6、7};FREQH和FREQL中分别为数据的高8位和第8位,分别用来初始化TH0、TL0。项目1简易电子琴的设计与制作曲调值DELAY曲调值DELAY调4/4125ms调4/462ms调3/4187ms调3/494ms调2/4250ms调2/4125ms音乐的音拍,一个节拍为单位(C调)(如表3-2所示)表3-2曲调值表

对于不同的曲调我们也可以用延时函数或者单片机的另外一个定时/计数器

温馨提示

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

评论

0/150

提交评论