ImageVerifierCode 换一换
格式:PPTX , 页数:38 ,大小:2.15MB ,
资源ID:4199895      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4199895.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(音乐盒播放器.pptx)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

音乐盒播放器.pptx

1、1 1、单、单片机是如何发出音乐片机是如何发出音乐声声原理:原理:声音是通过震动产生的。单片机对某一声音是通过震动产生的。单片机对某一I/OI/O引脚以一定引脚以一定的频率循环置的频率循环置1 1 和清和清0 0,这一引脚便产生一定频率的方,这一引脚便产生一定频率的方波,该方法通过放大后作用于扬声器便产生一定频率波,该方法通过放大后作用于扬声器便产生一定频率的声音。若改变输出方波的频率,产生的声音也就改的声音。若改变输出方波的频率,产生的声音也就改变了。通过控制输出方波的时间长短,声音的长短也变了。通过控制输出方波的时间长短,声音的长短也就得到控制就得到控制,因此,因此,根据乐谱,单片机根据乐

2、谱,单片机就就可以可以产生音产生音乐。音乐中最关键的两个要素是乐。音乐中最关键的两个要素是音调和节拍音调和节拍。音调表示一个音符唱多高的频率音调表示一个音符唱多高的频率,节拍节拍表示一个音符唱多长的时间。表示一个音符唱多长的时间。一、单键演奏一组音符一、单键演奏一组音符1 1、单片机是如何发出音乐声、单片机是如何发出音乐声一首音乐是由很多音符组合而成的,一个音符代表了一一首音乐是由很多音符组合而成的,一个音符代表了一种频率的乐声,通过不同频率乐声的组合,就可以产生种频率的乐声,通过不同频率乐声的组合,就可以产生一首音乐了。这就是电子音乐的基本方法。一首音乐了。这就是电子音乐的基本方法。单片机可

3、以通过定时器生成不同频率的信号,按照音乐单片机可以通过定时器生成不同频率的信号,按照音乐音符的频率来生成各种频率的信号,并将其按照音乐构音符的频率来生成各种频率的信号,并将其按照音乐构建好,然后将信号通过电声器件转换为声波,这样单片建好,然后将信号通过电声器件转换为声波,这样单片机就能发出一段音乐的声音了。机就能发出一段音乐的声音了。一、单键演奏一组音符一、单键演奏一组音符2 2、音调的确定、音调的确定音调就是我们常说的音高。它是由频率来确定的!我们音调就是我们常说的音高。它是由频率来确定的!我们可以查出各个音符所对应的相应的频率,那么现在就需可以查出各个音符所对应的相应的频率,那么现在就需要

4、我们来用要我们来用5151来发出相应频率的声音!来发出相应频率的声音!我们常采用的方法就是通过单片机的定时器定时中断,我们常采用的方法就是通过单片机的定时器定时中断,将单片机上对应蜂鸣器的将单片机上对应蜂鸣器的 I/O I/O口来回取反,或者说来回口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,清零,置位,从而让蜂鸣器发出声音,为了让单片机发为了让单片机发出不同频率的声音,我们只需将定时器出不同频率的声音,我们只需将定时器预置预置不同的定时不同的定时值就可实现。值就可实现。那么怎样确定一个频率所对应的定时器的那么怎样确定一个频率所对应的定时器的定时值呢?定时值呢?一、单键演奏一组音符一

5、、单键演奏一组音符2 2、音调的确定、音调的确定例如:中音例如:中音DODO的频率为的频率为523Hz523Hz,周期为:,周期为:T=1/f=1912usT=1/f=1912us单片机上对应蜂鸣器的单片机上对应蜂鸣器的I/O I/O 口来回取反的时间应即半个口来回取反的时间应即半个周期为:周期为:t=T/2=956ust=T/2=956us这个时间这个时间t t 就是单片机上定时器应有的中断触发时间。就是单片机上定时器应有的中断触发时间。只要将定时器的定时时间设置为只要将定时器的定时时间设置为956us956us,就可以产生频,就可以产生频率为率为523Hz523Hz的方波信号。的方波信号。

6、一般情况下,单片机奏乐时,其定时器为工作方式一般情况下,单片机奏乐时,其定时器为工作方式1 1,设振荡器频率为设振荡器频率为f f,则定时器的予置初值由下式来确定:,则定时器的予置初值由下式来确定:t=t=(2 21616-X-X)*(12/f)*(12/f)一、单键演奏一组音符一、单键演奏一组音符2 2、音调的确定、音调的确定因此定时器的高低计数器的初值为:因此定时器的高低计数器的初值为:TH=X/256=(2TH=X/256=(21616 t*f/12)/256 t*f/12)/256 TL=X%256=(2TL=X%256=(21616t*f/12)%256 t*f/12)%256 一、

7、单键演奏一组音符一、单键演奏一组音符C C调各音符频率与计数值调各音符频率与计数值T T的对照表如图所示:的对照表如图所示:2 2、音调的确定、音调的确定一般我们要为这个音符建立一个表格,有助于单片机通一般我们要为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据。过查表的方式来获得相应的数据。uint code tab=63628,63835,64021,64103,uint code tab=63628,63835,64021,64103,64260,64400,64524,64580,64260,64400,64524,64580,64684,64777,64820,648

8、98,64684,64777,64820,64898,64968,95030,65058,65110;64968,95030,65058,65110;一、单键演奏一组音符一、单键演奏一组音符实例演示:实例演示:要求:用一只单键产生一组音符的声音,发声从低音阶要求:用一只单键产生一组音符的声音,发声从低音阶向高音阶进展,可以通过虚拟示波器观察到单片机产生向高音阶进展,可以通过虚拟示波器观察到单片机产生的方波的周期变化。单片机演奏音乐的电路只需要单片的方波的周期变化。单片机演奏音乐的电路只需要单片机和声音播放电路,电路原理图如图所示。机和声音播放电路,电路原理图如图所示。一、单键演奏一组音符一、单

9、键演奏一组音符三极管蜂鸣器一、单键演奏一组音符一、单键演奏一组音符一、单键演奏一组音符一、单键演奏一组音符节拍的实现:节拍的实现:在一张乐谱中,我们经常会看到这样的表达式,如在一张乐谱中,我们经常会看到这样的表达式,如1=C 1=C(4/4)(4/4)、1=G(3/4)1=G(3/4)等等,这里等等,这里1=C 1=C(4/4),1=G(3/4)(4/4),1=G(3/4)表示乐谱的曲调,与前面所谈的音调表示乐谱的曲调,与前面所谈的音调有很大的关联,有很大的关联,4/44/4、3/4 3/4 就是用来表示节拍的。以就是用来表示节拍的。以3/4 3/4 为例加以说明,它表示乐谱中以四分音符为节拍

10、,为例加以说明,它表示乐谱中以四分音符为节拍,每一小结有三拍。每一小结有三拍。二、演奏一首音乐二、演奏一首音乐其中其中1 1、2 2 为一拍,为一拍,3 3、4 4、5 5为一拍,为一拍,6 6为一拍共三拍。为一拍共三拍。1 1、2 2的时长为四分音符的一半,即为八分音符长,的时长为四分音符的一半,即为八分音符长,3 3、4 4的时长为八分音符的一半,即为十六分音符长,的时长为八分音符的一半,即为十六分音符长,5 5的时的时长为四分音符的一半,即为八分音符长,长为四分音符的一半,即为八分音符长,6 6的时长为四的时长为四分音符长。分音符长。二、演奏一首音乐二、演奏一首音乐乐曲的数据,一般写入数

11、据表,表中每三个数字,说明了乐曲的数据,一般写入数据表,表中每三个数字,说明了一个音符,它们分别代表:一个音符,它们分别代表:第一个数字是音符的数值第一个数字是音符的数值12345671234567之一,代表多来咪之一,代表多来咪.;第二个数字是第二个数字是123123之一,代表低音、中音、高音;之一,代表低音、中音、高音;第三个数字是时间长度,以第三个数字是时间长度,以半拍半拍为单位。为单位。乐曲数据表的结尾是三个乐曲数据表的结尾是三个0 0。乐谱中数字上面带点表示高音,下面带点表示低音。什么乐谱中数字上面带点表示高音,下面带点表示低音。什么都不带表示中音。都不带表示中音。下划线:单个数字是

12、四分音符,两个数字下画一条线是八下划线:单个数字是四分音符,两个数字下画一条线是八分音符了。分音符了。感兴趣的同学应该去查看乐谱相关的知识。感兴趣的同学应该去查看乐谱相关的知识。二、演奏一首音乐二、演奏一首音乐据此就可以写出据此就可以写出送别送别前二小节的数据表:前二小节的数据表:code unsigned char sszymmh=code unsigned char sszymmh=5 5,2,2,2,2,3 3,2,1,2,1,5 5,2,1,2,1,1 1,3,4,3,4,/嗦嗦,中音中音,2,2个半拍个半拍;咪咪,中音中音,1,1个半拍个半拍;嗦嗦,中音中音,1,1个半拍个半拍;哆哆

13、,高音高音,4,4个半拍个半拍6 6,2,2,2,2,1 1,3,2,3,2,5 5,2,4,2,4,/啦啦,中音中音,2,2个半拍个半拍;哆哆,高音高音,1,1个半拍个半拍;嗦嗦,中音中音,4,4个个半拍半拍0,0,0;0,0,0;二、演奏一首音乐二、演奏一首音乐单片机演奏音乐的电路只需要单片机和声音播放电路,单片机演奏音乐的电路只需要单片机和声音播放电路,电路原理图如图所示。电路原理图如图所示。二、演奏一首音乐二、演奏一首音乐/*/*演奏演奏“世上只有妈妈好世上只有妈妈好”*/*/#include#include sbit speaker=P30;sbit speaker=P30;unsi

14、gned char timer0h,timer0l,time;unsigned char timer0h,timer0l,time;/-/-/单片机晶振采用单片机晶振采用11.0592MHz11.0592MHz二、演奏一首音乐二、演奏一首音乐/各种音符频率所对应的、半周期的定时时间初始值。各种音符频率所对应的、半周期的定时时间初始值。/频率频率-半周期数据表半周期数据表 高八位高八位code unsigned char FREQH=code unsigned char FREQH=0 xF2,0 xF3,0 xF5,0 xF5,0 xF6,0 xF7,0 xF8,/0 xF2,0 xF3,0

15、xF5,0 xF5,0 xF6,0 xF7,0 xF8,/低音低音12345671234567 0 xF9,0 xF9,0 xFA,0 xFA,0 xFB,0 xFB,0 xFC,0 xF9,0 xF9,0 xFA,0 xFA,0 xFB,0 xFB,0 xFC,0 xFC,/1,2,3,4,5,6,7,i0 xFC,/1,2,3,4,5,6,7,i 0 xFC,0 xFD,0 xFD,0 xFD,0 xFD,0 xFE,/0 xFC,0 xFD,0 xFD,0 xFD,0 xFD,0 xFE,/中中音音 234567 234567 0 xFE,0 xFE,0 xFE,0 xFE,0 xFE,

16、0 xFE,0 xFF;/0 xFE,0 xFE,0 xFE,0 xFE,0 xFE,0 xFE,0 xFF;/高音高音 1234567 1234567/频率频率-半周期数据表半周期数据表 低八位低八位code unsigned char FREQL=code unsigned char FREQL=0 x42,0 xC1,0 x17,0 xB6,0 xD0,0 xD1,0 xB6,/0 x42,0 xC1,0 x17,0 xB6,0 xD0,0 xD1,0 xB6,/低音低音12345671234567 0 x21,0 xE1,0 x8C,0 xD8,0 x68,0 xE9,0 x5B,0

17、x8F,0 x21,0 xE1,0 x8C,0 xD8,0 x68,0 xE9,0 x5B,0 x8F,/1,2,3,4,5,6,7,i/1,2,3,4,5,6,7,i 0 xEE,0 x44,0 x6B,0 xB4,0 xF4,0 x2D,/0 xEE,0 x44,0 x6B,0 xB4,0 xF4,0 x2D,/中音中音音音 234567 234567 0 x47,0 x77,0 xA2,0 xB6,0 xDA,0 xFA,0 x16;/0 x47,0 x77,0 xA2,0 xB6,0 xDA,0 xFA,0 x16;/高音高音 1234567 1234567二、演奏一首音乐二、演奏一首

18、音乐二、演奏一首音乐二、演奏一首音乐/世上只有妈妈好数据表世上只有妈妈好数据表 要想演奏不同的乐曲要想演奏不同的乐曲,只需要修改这只需要修改这个数据表个数据表code unsigned char sszymmh=code unsigned char sszymmh=6 6,2,3,2,3,5 5,2,1,2,1,3 3,2,2,2,2,5 5,2,2,2,2,1 1,3,2,3,2,6 6,2,1,2,1,5 5,2,2,1,1,/一个音符有三个数字。前为第几个音、中为第几个八度、后为时长一个音符有三个数字。前为第几个音、中为第几个八度、后为时长(以半拍为单位)。(以半拍为单位)。/6,2,3

19、/6,2,3 分别代表:分别代表:,中音中音,个半拍个半拍;/5,2,1/5,2,1 分别代表:分别代表:,中音中音,个半拍个半拍;/3,2,2/3,2,2 分别代表:分别代表:,中音中音,个半拍个半拍;/5,2,2/5,2,2 分别代表:分别代表:,中音中音,个半拍个半拍;/1,3,2/1,3,2 分别代表:分别代表:,高音高音,个半拍个半拍;/6 6,2,4,2,4,3 3,2,2,2,2,5 5,2,1,2,1,6 6,2,1,2,1,5 5,2,2,2,2,3 3,2,2,2,2,1 1,2,1,2,1,6 6,1,1,1,1,5 5,2,1,2,1,3 3,2,1,2,1,2 2,2

20、,4,2,4,2 2,2,3,2,3,3 3,2,1,2,1,5 5,2,2,2,2,5 5,2,1,2,1,6 6,2,1,2,1,3 3,2,2,2,2,2 2,2,2,2,2,1 1,2,4,2,4,5 5,2,3,2,3,3 3,2,1,2,1,2 2,2,1,2,1,1 1,2,1,2,1,6 6,1,1,1,1,1 1,2,1,2,1,5 5,1,6,0,0,0;,1,6,0,0,0;/-/-二、演奏一首音乐二、演奏一首音乐/*/*定时器定时器T0T0中断函数中断函数*/*/void t0int()interrupt 1 /T0void t0int()interrupt 1 /T0

21、中断程序,控制发音的音调中断程序,控制发音的音调 TR0=0;/TR0=0;/先关闭先关闭T0T0 speaker=!speaker;/speaker=!speaker;/输出方波输出方波,发音发音 TH0=timer0h;/TH0=timer0h;/下次的中断时间下次的中断时间,这个时间这个时间,控制音调高低控制音调高低 TL0=timer0l;TL0=timer0l;TR0=1;/TR0=1;/启动启动T0T0/*/*延时程序控制发音的时长延时程序控制发音的时长*/*/void delay(unsigned char t)/void delay(unsigned char t)/延时程序,

22、控制发音的时间长度延时程序,控制发音的时间长度 unsigned char t1;unsigned char t1;unsigned long t2;unsigned long t2;for(t1=0;t1 t;t1+)/for(t1=0;t1 t;t1+)/双重循环双重循环,共延时共延时t t个半拍个半拍 for(t2=0;t2 8000;t2+);/for(t2=0;t2 8000;t2+);/延时期间延时期间,可进入可进入T0T0中断去中断去发音发音 TR0=0;/TR0=0;/关闭关闭T0,T0,停止发音停止发音 二、演奏一首音乐二、演奏一首音乐/*/*演奏一个音符演奏一个音符*/*/

23、void song()/void song()/演奏一个音符演奏一个音符 TH0=timer0h;/TH0=timer0h;/控制音调控制音调 TL0=timer0l;TL0=timer0l;TR0=1;/TR0=1;/启动启动T0,T0,由由T0T0输出方波去发音输出方波去发音 delay(time);/delay(time);/控制时间长度控制时间长度 二、演奏一首音乐二、演奏一首音乐/*/*演奏一个音符演奏一个音符*/*/void main(void)void main(void)unsigned char k,i;unsigned char k,i;TMOD=1;/TMOD=1;/置置

24、T0T0定时工作方式定时工作方式1 1 ET0=1;/ET0=1;/开开T0T0中断中断 EA=1;/EA=1;/开开CPUCPU中断中断 while(1)while(1)i=0;i=0;time=1;time=1;while(time)while(time)k=sszymmhi+7*sszymmhi+1-1;k=sszymmhi+7*sszymmhi+1-1;/第第i i个是音符个是音符,第第i+1i+1个是第几个八度个是第几个八度 timer0h=FREQHk;/timer0h=FREQHk;/从数据表中读出频率数值从数据表中读出频率数值 timer0l=FREQLk;/timer0l=F

25、REQLk;/实际上实际上,是定时的时间长度是定时的时间长度 time=sszymmhi+2;/time=sszymmhi+2;/读出时间长度数值读出时间长度数值 i+=3;i+=3;song();/song();/发出一个音符发出一个音符 课后思考:课后思考:增加一个按键控制选播多首音乐?增加一个按键控制选播多首音乐?也可以增加一个数码管用于显示正在播放的也可以增加一个数码管用于显示正在播放的是第几首歌曲?是第几首歌曲?(1 1)任务要求:)任务要求:采用单片机控制方式,设计制造电子琴,能够通采用单片机控制方式,设计制造电子琴,能够通过串口对键盘进行简单调音控制。电子琴具有过串口对键盘进行简

26、单调音控制。电子琴具有1616只音乐输入键盘,可以进行简单的音乐演奏。只音乐输入键盘,可以进行简单的音乐演奏。LEDLED数码管能显示按下的键盘,实现单片机电子琴和数码管能显示按下的键盘,实现单片机电子琴和PCPC之间的通信,能通过之间的通信,能通过PCPC向单片机发送数据指令,向单片机发送数据指令,实现对键盘所对应的高低音调整,并将实现对键盘所对应的高低音调整,并将PCPC所发送所发送数据显示出来。各工作小组对键盘调音的上调和数据显示出来。各工作小组对键盘调音的上调和下调指令码分别为下调指令码分别为0-90-9和和A-JA-J。三、简易电子琴设计三、简易电子琴设计(2 2)方案框图)方案框图

27、根据任务要求,单片机电子琴主控芯片为根据任务要求,单片机电子琴主控芯片为80518051单片机,单片机,有有1616只音符输入键盘,可以从只音符输入键盘,可以从PCPC输入控制数码,输入数输入控制数码,输入数码通过串口传送给单片机,通过控制码能调整音键的音码通过串口传送给单片机,通过控制码能调整音键的音阶,并能显示从阶,并能显示从PCPC输入的数码,用输入的数码,用LEDLED数码管显示音键数码管显示音键名。电子琴方案框图如图所示。名。电子琴方案框图如图所示。三、简易电子琴设计三、简易电子琴设计单单片片机机PCPC串行输入数码串行输入数码矩阵键盘矩阵键盘时钟复位电源时钟复位电源LEDLED显示

28、键盘名显示键盘名中断显示输入数码中断显示输入数码声频播放声频播放(2 2)硬件电路)硬件电路输入键盘设计:输入键盘设计:矩阵键盘:矩阵键盘:4 4*4=164=16只按键,只按键,P1P1口接矩阵键盘口接矩阵键盘采用虚拟终端采用虚拟终端VIRTUAL TERMINALVIRTUAL TERMINAL模拟模拟PCPC的作用。的作用。虚拟终端接单片机串口,单片机的发送端接虚拟终端接虚拟终端接单片机串口,单片机的发送端接虚拟终端接收端,单片机的接收端连虚拟终端发送端收端,单片机的接收端连虚拟终端发送端P3.7P3.7端输出音频信号,并连接虚拟示波器以测试音频方端输出音频信号,并连接虚拟示波器以测试音

29、频方波的周期,观察控制数码的调音效果。波的周期,观察控制数码的调音效果。P0P0端口接端口接LEDLED数码管显示音键名。数码管显示音键名。电子琴电路原理图如图所示:电子琴电路原理图如图所示:三、简易电子琴设计三、简易电子琴设计三、简易电子琴设计三、简易电子琴设计(3 3)软件设计流程图)软件设计流程图-电子琴主程序流程图电子琴主程序流程图三、简易电子琴设计三、简易电子琴设计初始化初始化是否有键按下是否有键按下键盘扫描,识别按下键的列值键盘扫描,识别按下键的列值键盘扫描,识别按下键的行值键盘扫描,识别按下键的行值根据键值和控制码,键音调整根据键值和控制码,键音调整停止定时器,关闭播放停止定时器

30、,关闭播放YN启动定时器,生成方波信号播放音频启动定时器,生成方波信号播放音频(3 3)软件设计流程图)软件设计流程图电子琴串行通信流程图电子琴串行通信流程图三、简易电子琴设计三、简易电子琴设计串行中断入口串行中断入口是否收到数据?是否收到数据?读取数据,清除接收标志读取数据,清除接收标志键盘向下调音键盘向下调音Y是否有下调控制码是否有下调控制码?是否有上调控制码是否有上调控制码?键盘向上调音键盘向上调音发送数据,清除发送标志发送数据,清除发送标志Y YN NN NN NY Y(4 4)源程序编写)源程序编写根据单片机串行通信的编写步骤,首先是编写定时器和串口根据单片机串行通信的编写步骤,首先

31、是编写定时器和串口的初始化。的初始化。串口工作在方式串口工作在方式1 1,允许接收数据:,允许接收数据:SCON=0 x50;SCON=0 x50;定时器定时器T0T0工作于方式工作于方式1 1,T1T1工作于方式工作于方式2 2:TMOD=0 x21;TMOD=0 x21;波特率为波特率为96009600,时钟频率为,时钟频率为11.0592MHz11.0592MHz,定时器初值,定时器初值TH1=TL1=0 xfd;TH1=TL1=0 xfd;开开中断:中断:EA=1;ET0=1;ET1=1;EA=1;ET0=1;ET1=1;三、简易电子琴设计三、简易电子琴设计(4 4)源程序编写)源程序

32、编写矩阵键盘采用扫描方式判别按键是否按下。首矩阵键盘采用扫描方式判别按键是否按下。首先看是否有键按下,若有键按下,再判别按键先看是否有键按下,若有键按下,再判别按键的行列位置,根据行列位置得到按键的键值,的行列位置,根据行列位置得到按键的键值,将键名送将键名送LEDLED数码管显示,启动定时器,根据键数码管显示,启动定时器,根据键名对应的音符,播放对应的音频声音;若无按名对应的音符,播放对应的音频声音;若无按键按下则关闭音频声。键按下则关闭音频声。三、简易电子琴设计三、简易电子琴设计(4 4)源程序编写)源程序编写单片机和单片机和PCPC的通信采用串行中断方式,当单片机收到来的通信采用串行中断

33、方式,当单片机收到来自自PCPC(虚拟终端)的一帧数据或发送完一帧数据后,串(虚拟终端)的一帧数据或发送完一帧数据后,串行中断标志位行中断标志位RIRI或或TITI置置1 1,向,向CPUCPU申请中断,数据的发送申请中断,数据的发送和接收在串口中断程序中进行,单片机从来自和接收在串口中断程序中进行,单片机从来自PCPC的数据的数据中识别出控制码,中识别出控制码,数字数字1 1是音键向低音调是音键向低音调,数字数字2 2是音键是音键向高音调,向高音调,所有单片机接收到的数据再发送给虚拟终端所有单片机接收到的数据再发送给虚拟终端显示。显示。源程序参考如下:源程序参考如下:三、简易电子琴设计三、简易电子琴设计数数据据准准备备初初始始化化主主程程序序按按键键扫扫描描程程序序定定时时器器中中断断函函数数串串口口中中断断函函数数

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服