欢迎来到天天文库
浏览记录
ID:39893298
大小:637.50 KB
页数:20页
时间:2019-07-14
《劳锦富%2B初级组电子琴》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、题目:电子琴队长:劳锦富08自动化2班队员:冯剑浩08自动化2班王烨08自动化2班一.题目要求:一、设计任务设计制作一个电子琴。二、设计要求1.基本要求:1)可以通过按键控制发音,能够发出1、2、3、4、5、6、7、i等八个音符;2)可以播放已存储的音乐;3)能够自动演奏多首(两首以上)乐曲,且演奏方式可选择(如重复播放或者顺序播放等)。2.扩展要求:1)可以发出八个以上的音符;2)进行音调、音量的选择;3)可以对编奏乐曲进行录音,在按下放音键时能演奏出来;4)其他。二.实现功能1.通过键盘控制发出从低音3到高音4共16个音符2.可以通过键盘选择播
2、放3首已存储的音乐3.能够以重复播放或顺序播放三首乐曲4.播放16个音符时相应的LED灯会亮5.播放歌曲时对应的每个音符的LED灯会亮三.方案选择方案1:以AT89S52为芯片,实现形式以时间片来处理。简单说来,就是CPU分配给各个程序的时间,使各个程序从表面上看是同时进行的,而不会造成CPU资源浪费在宏观上:我们可以同时打开多个应用程序(在此设计中如播放歌曲,暂停,停止等),每个程序并行不悖,同时运行。但是在微观上:由于只有一个CPU,一次只能处理程序要求的一部分,如何处理公平,一种方法就是引入时间片,每个程序轮流执行。可以以T1为计时器来确定每
3、个时间段,从而在每个时间段中判断是否有程序需要处理,相应做出反应。如在按下键盘时,需要以延迟来扫除振荡,此时可以跳出延迟,执行相应的外部程序,从而达到更加精简。方案2:以AT89S52为芯片,通过T0计时器确定各个音符的频率,以T1确定节拍时间,通过扫描键盘获得相应的处理值从而进行处理。最终选择:以方案2来处理。方案1更有效率,只是因为技术上方面的限制,无法很好实现此方案。方案2具有普遍性,虽然效率没有方案1高,但却更容易处理。四.设计与认证主要原理:一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即
4、可构成我们所想要的音乐了。此电路使用单片机ATS89S52,晶振频率为12MHZ。通过T0计时器来产生方波频率,进而控制蜂鸣器的发声。通过4*4矩阵键盘确定输出16个音符。通过T1计时器来定义一首歌的节拍。算出高中低间符与单片机计数T0相关的计数值如下表所示:音符频率T值音符频率T值低126263628高1104665058低229463835高2110965110低333064021高3131865157低434964103高4139765178低539264260高5156865217低644064400高6176065252低74946452
5、4高7196765283中152364580中258764684中365964777中469864820中578464898中688064968中798865030音符频率T值音符频率T值音符频率T值低音#127763731中音#155464633高音#1110965085低音#231163928中音#262264732高音#2124565134低音#437064185中音#474064860高音#4148065198低音#541564331中音#583164934高音#5166165235低音#646664463中音#693264994高音#61
6、86565268流程图:硬件:矩阵键盘:矩阵键盘两端都与单片机I/O口相连,在检测时人为通过单片机I/O口送出低电平,检测时,先送一列为低电平,其余几列全为高电平,此时确定列数,然后立即轮流检测一次各行是否有低电平,若检测到某一行为低电平,则可确认当前被按下的键是哪一行哪一列的,用相同方法轮流送各列一次低电平,再轮流检测一次各行是否变为低电平,这样即可检测完所有的按键,当有键被按下时便可判断出按下的键是哪一个键。本实验以P3口做为矩阵键盘的扫描。独立键盘:独立键盘有一端固定为低电平,当按键按下时,输出口变为低电平,便可确定是否有键按下。本实验以P1
7、.1-P1.7为独立键盘,分别控制四首歌的播放以及播放顺序。LED灯:本实验通过16个I/O口控制16个LED灯。输出口为P0,P2.当用作输出,所有口线的状态都与SFR锁存位的设置有密切的联系。P0口为低除外。当P0口的一个位写入0时,这个位被拉低。但是对P0口的其中一个位写入1时,这个位呈现高阻(高阻浮空状态),也就是未能连机,不能使用。要想获得1输出,你必须在P0口外加上拉电阻。补充:一些口线被作为简单的高电平输入也与SFR锁存位有关。因为P1、P2、P3有内部上拉电阻,可以随意被拉高,拉低。而P0口作为高电平输入时,也会呈现高阻态。P0没有
8、内部上拉电阻,在驱动场效应管的上方有一个提升场效应管,它只是在对外存储器进行读写操作,用作地址/数据时才起作用,当向位锁存
此文档下载收益归作者所有