南京工程学院单片机课程设计_电子琴.docxVIP

南京工程学院单片机课程设计_电子琴.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载可编辑 下载可编辑 . .专业.整理. 目录 TOC \o 1-5 \h \z \o Current Document 目录 1 \o Current Document 一、 设计任务(要求) 2 \o Current Document 二、 总体方案 2 \o Current Document 三、 原理框图 3 \o Current Document 四、 系统模块详细设计与调试 4 (一) 键盘扫描模块 4 (二) 数码管显示模块 4 (三) 音调编码读取模块 4 (四) 定时器中断模块 4 \o Current Document 五、 设计总结 5 \o Current Document 六、 参考文献 6 \o Current Document 七、 附件材料 6 一、 设计任务(要求) 利用51系列单片机、按键、扬声器等器件,设计一个电子琴。 具体功能要求如下: 设计键盘电路,使其具有数字键1、2、3、4、5、6、7、8、9作为电子琴按 键,演示键DEMO其中1?7号键按下后即发出相应的音调。8号键按下后依次 发出“1、2、3、4、5、6、7”音调,9号键按下后依次发出“ 7、6、5、4、3、 2、1”音调,按下DEMO!,自动演示一首歌曲,用单片机某一接口发出音频脉 冲,驱动扬声器发音。 利用定时器定时,可以发出不同频率的脉冲,不同频率的脉冲经扬声器驱动 电路放大滤波后,就会发出不同的音调?定时器按设置的定时参数产生中断,一次 中断发出脉冲低电平,下一次反转发出脉冲高电平?由于定时参数不同,就发出了 不同频率的脉冲.按键一次,发50个脉冲.发完后继续检测键盘,如果键还按下, 继续发音,发脉冲个数的多少可以决定节拍的长短。 二、 总体方案 按照设计任务(要求),电子琴的主要涉及以下几个模块: 1、 定时器控制不同频率发音; 2、 矩阵键盘的扫描; 3、 除此以外,我还在本次设计中加入了数码管显示, 分别显示当前弹奏的 音符。于是又多了数码管显示模块; 实现方案: 通过不断地键盘进行扫描。当有按键按下时,执行该按键对应的程序,包括: 发出相应的音符或音乐、数码管显示当前音符。当按键松开,将音符停止发出, 如果是音乐,将进行演奏。 其中,不同的音符,采用定时器中断,从而发出不同的音符。即改变不同的 定时器初始值。 对于音乐的音符,采用自编的特殊编码,以便程序的调用。本程序的设计采 用了三位数编码,即:利用三位数表示一个音符。第一位由 1-7组成,表示音符 1-7 ;第二位由1-4组成,表示音阶的低、中、高和超高;第三位由 1-9组成, 表示该音阶的拍数,计算方式是1/2拍 数字。 例如:6,2,2 表示一拍中音6; 4,3,1 表示半拍高音4。 关于对音符编码的调用,设一个音的编码为 abc则,调用的频率参数为 b 7 a,该参数用于修改定时器初始值;调用的时间参数为 c,该参数用于修 改定时器执行时间。 三、原理框图 开始 各模块初始化 四、系统模块详细设计与调试 (一) 键盘扫描模块 1、 矩阵键盘工作原理 矩阵键盘的按键设在行、列线的交点上。行线通过上拉电阻接到 +5V电 源上。无键盘按下时,行线出于高电平状态;当有按键按下时,行线电平状 态将由此按键相连接的列线的电平决定。 2、 设计思路 通过扫描法识别键盘。即,先将某一列线置为低电平,其余各列线置为 高电平,检查各行线电平的变化,如果某行线电平的为低电平,就可以确立 此行此列交叉点处的按键被按下。 (二) 数码管显示模块 1、 硬件电路 数码管的显示,是通过74LS374锁存器来实现的。段选和位选分别是P3.5 和P3.4。数据的输出为P0 口。(详见附录一:硬件原理图) 2、 设计思路 通过分别控制段选、位选锁存器的导通(低电平)、锁存信号(高电平)。 从而分时给数码管写入数据并锁存。 (三) 音调编码读取模块 1、 编码规则 本程序的设计采用了三位数编码,即:利用三位数表示一个音符。第一 位由1-7组成,表示音符1-7 ;第二位由1-4组成,表示音阶的低、中、高 和超高;第三位由1-9组成,表示该音阶的拍数,计算方式是1/2拍 数字。 例如:6,2,2 表示一拍中音6; 4,3,1 表示半拍高音4。 2、 读取方式 首先读取前两位数,以确定音调。然后读取最后一位,以确定拍数(时 间)。然后依次递增3位。 音调确定后,通过查表获取定时器初始值,并调用定时器中断。拍数, 即定时器中断执行的循环次数,以此来控制声音的时间。 (四) 定时器中断模块 1、 定时器的调用 本程序的设计采用定时器中断的方法来使蜂鸣器发出不同的频率声音, 从而实现电子琴的音调。定时器的初始值不同,产生的频率也就不

文档评论(0)

laugh + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档